Articles of tc

带宽限制Linux到外部子网

我期待为我的企业启动一个新的开源镜像,但也有兴趣为外部客户开放它。 但是,由于显而易见的原因,我想将传出带宽限制在不在本地子网中的任何一个(例如,stream向其中一个边界路由器的stream量)。 我原来是在看Apache apache mod_bw,但是也可能有FTP访问这个镜像。 我已经看到了一些使用'tc'的有希望的选项,但是看起来它会匹配基于子网的模式。 但我想否定这一点 – 我有一个(5或6)内部子网的列表,应该没有任何限制,其他一切都应该通过stream量整形器。 复杂的事情有点是我也需要匹配v4和v6子网。 我正在做这个试验,但是我基本上需要反过来 ,所以“不要塑造这些子网,把策略应用到其他的一切”。 也许是2class,一个是限速器,一个是没有的? 我仍然不清楚处理顺序是如何处理'tc' – find匹配后处理终止,还是一直持续到结束? (例如,最终将抓住所有东西 ,或者只是没有匹配的东西?)

如何使用tc添加延迟和带宽限制界面?

我知道我可以使用这个命令给接口添加延迟: # tc qdisc add dev eth0 root netem delay 50ms 除了延迟,我想限制这个接口的带宽为100kbps。 我怎样才能做到这一点? 我见过一些如何限制带宽的例子。 例如: # tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit # tc class add dev eth0 parent 1: classid 1:1 cbq rate 512kbit \ allot 1500 prio 5 bounded isolated # tc filter add dev eth0 […]

如何监控qdisc带宽利用率

我已经创build了一个脚本来使用tc来塑造我的stream量。 Linux中是否有任何工具可以帮助我查看和监控qdisc带宽利用率?

tc prio qdisc优化mysqlstream量

现在,我正在用tc prio qdisc挣扎几个小时。 我已经阅读了lartc文档,示例和HowTos,但是这整个事情对我来说还是有点新奇的,有点令人困惑:) 所以这是我的情况:几个文件服务器提供大量的HTTP和FTPstream量。 我需要优先考虑mysqlstream量,因为通常当链接已满时,sqlstream量变得缓慢和/或乱码,导致连接错误,超时等等。 这是我迄今为止: # tc qdisc add dev eth0 root handle 1: prio # tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 22 0xffff flowid 1:1 # tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 3306 0xffff […]

如何限制每个用户在Linux上传带宽?

任何人都可以提供tc命令来限制Debian Lenny中每个用户的上传带宽? 我发现用iptables标记每个用户的数据包,我可以使用下面的命令 iptables -t mangle -A OUTPUT -p tcp -m owner –uid-owner testuser -j MARK –set-mark 500 但我不知道如何使用tc 更新 通过运行以下命令,我设法限制testuser上传带宽到10Mbit iptables -t mangle -N HTB_OUT iptables -t mangle -I POSTROUTING -j HTB_OUT iptables -t mangle -A HTB_OUT -j MARK –set-mark 30 iptables -t mangle -A HTB_OUT -m owner –uid-owner testuser -j MARK –set-mark 10 […]

tcfilterreplace,tcfilter更改不起作用

我有一个tc过滤规则: tc filter add dev eth0 protocol ip prio 1 u32 match ip dst 10.0.0.3 flowid 1:14 如果我尝试“更改”这个过滤规则,我得到一个错误: # tc filter change dev eth0 protocol ip prio 1 u32 match ip dst 10.0.0.2 flowid 1:14 # RTNETLINK answers: No such file or directory # We have an error talking to the kernel 'replace'添加一个新的,但不要删除旧的规则。 replace / […]

同时实施HTB,NetEM和TBFstream量控制

我正在使用一个bash实用程序,它将使用tc Linux命令行实用程序的几个方面来模拟各种networking条件。 我已经成功地构build了几个qdisc层次结构,分别用于HTB带宽控制,NetEM延迟和数据包操作,TBF速率控制,以及HTB-NetEM的组合处理程序,TBF-NetEM。一个单一的结构,在这种情况下,我需要在一个连接上控制所有这些因素。 这是我迄今为止: sudo tc qdisc add dev $interface root handle 1:0 htb sudo tc class add dev $interface parent 1:0 classid 1:1 htb #htb args sudo tc qdisc add dev $interface parent 1:1 handle 10:0 tbf #tbf args sudo tc qdisc add dev $interface parent 10:1 handle 101:0 netem #netem args 由于我的范围较小,我知道问题不在于我的input语法,而是可能在我的tc qdisc和classes的结构中。 […]

限制Ubuntu Linux上的带宽

我处于必须模拟P2P环境的情况下(我的计算机科学硕士论文)。 要做到这一点,我在Ubuntu上使用Docker来创build一系列要在BitTorrentnetworking中连接的虚拟机。 然后我需要确保可以设置对等体的上传和下载速率,并且我不能在客户机上执行它(因为客户机使用睡眠模拟较低的带宽,并导致峰值率)。 所以我正在为每个容器做这个。 说实话,我真的不在意这个工作是如何实现的,但是我尝试了不同的东西,没有运气。 这些是我迄今尝试过的东西: 涓stream涓stream似乎是在做的伎俩,但由于某种原因,当我启动超过5个docker集装箱涓stream将使他们很多退出,而不告诉我为什么。 我已经尝试了不同的设置,但是在configuration时没有那么多的旋钮,所以我不认为Trickle是这种情况下的一个选项。 Wondershaper使用Wondershaper似乎工作,或者至less它限制了带宽。 这里唯一的问题是选项中设置的值与实际带宽之间没有看似可以理解的相关性。 当我设置下载2048(应该是千位),实际下载范围在550KB和900KB之间,这似乎很奇怪。 tc使用tc,就像很多人提出的类似的问题一样,确实限制了带宽,但是无论我设置了什么值,它总是给我提供相同的带宽(大约15-20KB / s)。 我已经尝试了以下吨的指导和例子,但每一个都没有工作或上面描述。 我在这里有些茫然,所以如果有人知道上面的例子应该工作或有其他解决scheme的任何理由,那将是非常棒的。 我正在寻找的是一种限制单个Linux实例的方法,然后我应该能够为多个Docker容器工作。 —————编辑—————- 我已经尝试了几个不同的tc命令,但其中一个是这样的 DEV=eth0 tc qdisc del dev $DEV root tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 100mbit tc class add dev $DEV parent 1: classid 1:1 cbq rate 256kbit allot 1500 prio 5 […]

如何使用每个OpenVPN客户端的TC进行stream量整形(速率限制)

这个问题与@Oliver的一个很好的答案和脚本 有关 。 目标:我想修改/扩展此答案中提供的脚本以适应我的要求,如下所示: 我有大量的客户(高达1000)。 每个客户端应根据其CN(通用名称)分配一个订阅类别和相应的最大数据速率。 这些速率限制应在客户端连接时应用,并在断开连接时移除: bronze :1 mbit silver :10兆位 gold :100兆位 当客户端连接到OpenVPN服务器时,我想调整每个客户端的订阅类别和相应的活动数据速率限制。 客户端不应该重新连接到OpenVPN服务器。 这是可能的,还是我们必须断开连接并重新连接到OpenVPN的每个客户端,导致脚本被再次调用来改变tcconfiguration? 而不是使用shell手动修改tcconfiguration,我们将如何从另一台计算机或应用程序(即通过PHP)更新客户端订阅类和相应的活动数据速率限制? 非常感谢

Linux系统上的最小带宽限制

我需要通过删除所有不满足最低速率的数据包,将最小带宽从IP限制到特定的服务/端口。 我看到Linux tcstream量整形工具的HTB类中的属性rate应该这样做; 这是正确的工具或其他工具build议(请注意,我正在从一个运行Linux的networking工作)?