相关疑难解决方法(0)

Tc:入口监管和 ifb 镜像

我正在尝试按照此处所述在 Linux 网关上设置流量整形。脚本需要自定义,因为我有多个 LAN 接口。因此,为了塑造 LAN 端,我计划创建一个 ifb 伪设备,如下所示:

     modprobe ifb
     ip link set dev ifb0 up
    /sbin/tc qdisc add dev $WAN_INTERFACE ingress
    /sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
Run Code Online (Sandbox Code Playgroud)

上面提到的 gist repo 中的脚本有以下几行:

 /sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
    /sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip sport $INTERACTIVE_PORT 0xffff flowid :1
    /sbin/tc filter add dev …
Run Code Online (Sandbox Code Playgroud)

traffic-shaping tc

23
推荐指数
1
解决办法
4万
查看次数

使用 TC 限制/节流每个用户的 OpenVPN 带宽

我有一组用户通过OpenVPN TCP 和 UDP(2 个服务)连接到我的服务器。这两种服务在运行tun0tun1

我希望能够使用 TC 命令将每个用户的带宽限制为 5mb/s 上升和 5mb/s 下降。

这很容易用 PPTP 实现,因为每个用户都有自己的界面,所以我可以为该界面创建一个新的类/过滤器,使用以下内容将其限制为我想要的速度限制:

IF=<taken from up script, i.e. ppp1>
tc qdisc del dev $IF root
tc qdisc add dev $IF root handle 1: cbq avpkt 1000 bandwidth 100mbit
tc class add dev $IF parent 1: classid 1:1 cbq rate 10mbit allot 1500 prio 5 bounded isolated
tc filter add dev $IF parent 1: protocol ip prio 16 u32 match ip src 0.0.0.0/0 flowid 1:1 …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu vpn openvpn

8
推荐指数
1
解决办法
7703
查看次数

当新用户连接和带宽塑造连接时自动调用脚本

我希望这很容易

up.sh当我以 root 身份从命令行运行以下脚本时,它可以完美运行。

但是,不是每次新用户连接到 OpenVPN 时手动调用此脚本以通过 tc (qdisc) 单独限制每个新用户(User1、User2、User3 到无穷大)的带宽、延迟等,我希望脚本能够每次新用户连接到 OpenVPN 时都会调用,并且当新用户连接时能够单独调整新用户的带宽、延迟等,而不会影响当前用户的带宽、延迟等(可能是 100 或1000 个)

我尝试将脚本移动到以下文件夹,/etc/network/if-up.d以便在新用户连接到 OpenVPN 时执行它,但是由于某种原因,该脚本没有被调用(它没有对 qdisc 进行任何更改),但它是完全相同的脚本并且运行良好当我从命令行执行它时。

我还尝试将脚本重命名为learn-address.sh并将其放置在以下文件夹中,/etc/openvpn/netem/learn-address.sh以便在 OpenVPN 学习新地址时自动调用,但这也不起作用

我也更新了 server.conf 文件如下

脚本安全 3

学习地址 /etc/openvpn/netem/learn-address.sh

脚本安全 3

up /etc/network/if-up.d/up.sh

但它也没有奏效

最后,我还尝试更新/etc/sudoers.tmp文件以授予脚本权限,但这似乎也无济于事(参见帖子末尾)

我正在运行 Ubuntu 14.04

非常感谢您的帮助

这是我从命令行调用 up.sh 的脚本:

#!/bin/bash  
# Full path to tc binary 

TC=$(which tc)

#
# NETWORK CONFIGURATION
# interface - name of your interface device
# interface_speed - speed in …
Run Code Online (Sandbox Code Playgroud)

bandwidth openvpn

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

openvpn ×2

bandwidth ×1

networking ×1

tc ×1

traffic-shaping ×1

ubuntu ×1

vpn ×1