Articles of tc

RTNETLINK的答案是:当使用ttem时,文件存在

所以我只是在我的主虚拟机中input这个命令时出现这个错误: sudo tc qdisc add dev eth0 root netem delay 97ms RTNETLINK answers: File exists 任何想法如何可以解决? 我在Ubuntu中运行这个命令: uname -a Linux anmol-vm1-new 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux ubuntu@anmol-vm1-new:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty 以下是/etc/network/interfaces文件的内容: auto […]

youtube通过google chrome不能被ndpi-netfilter识别

我在Ubuntu上安装了ndpi-netfilter,我需要使用tc模块将youtubestream量调整到100kbps。 我通过iptables把所有的youtubestream量都分成一个类,然后通过tc类来改变stream量。 当我使用Firefox浏览器时,它工作正常。 但是当我从谷歌浏览器访问YouTube不起作用。 波纹pipe是我的规则和命令。 任何人都知道解决这个问题 sudo tc qdisc add dev eth1 root handle 1:htb default 10 sudo tc class add dev eth1 parent 1:classid 1:1 htb rate 1Mbps sudo tc class add dev eth1 parent 1:1 classid 1:10 htb rate 100kbps ceil 100kbps prio 10 sudo iptables -t mangle -A POSTROUTING -s 192.168.200.27 -m […]

stream量控制 – 使用scp进行批量下载会使sshd滞后

我的目标是通过tc,IMQ接口和iptables限制每个系统用户的带宽。 现在我有批量下载(即scp),在交互式程序,如SSH服务器创造滞后的问题。 这是我的configuration: # UPLOAD # OUTBOUND # tc qdisc add dev imq0 root handle 1:0 htb default 11 tc class add dev imq0 parent 1:0 classid 1:1 htb rate 700kbit ceil 700kbit tc class add dev imq0 parent 1:1 classid 1:10 htb rate 450kbit ceil 700kbit prio 0 tc class add dev imq0 parent […]

Bash脚本不工作

我希望这是一个简单的答案 问题: 我在以下文件夹中放置了以下名为learn-address.sh的bash脚本: vi /etc/openvpn/netem/learn-address.sh 将以下(2)行添加到.conf文件中: script-security 3 learn-address /etc/openvpn/netem/learn-address.sh 并将以下权限应用于学习地址脚本: chmod 755 /etc/openvpn/netem/learn-address.sh 但是,脚本会更新tmp文件中的文件($ ip.classid和$ ip.dev)并正确传递这些variables 但是bash脚本不执行tc类和filter命令(对qdisc没有改变) 当用户连接到OpenVPN时调用学习地址脚本时,我将在脚本上使用什么权限来执行tc类和filter命令?还是还有其他我错过的东西? 非常感谢 脚本名称:learn-address.sh #!/bin/bash statedir=/tmp/ function bwlimit-enable() { ip=$1 user=$2 dev=eth0 # Disable if already enabled. bwlimit-disable $ip # Find unique classid. if [ -f $statedir/$ip.classid ]; then # Reuse this IP's classid classid=`cat $statedir/$ip.classid` else if […]

添加不包括SSH数据包的延迟和随机丢包

我想添加一些随机延迟/丢弃除了SSH数据包的所有数据包。 我可以这样做所有的数据包: tc qdisc change dev $NIC root netem delay 100ms 10ms 25% tc qdisc change dev $NIC root netem loss 10% 25% 而且我可以用这种方式使用iptables标记SSH数据包: iptables -N TOP iptables -I OUTPUT -j TOP iptables -A TOP -p tcp –dport 22 -j RETURN iptables -A TOP -p tcp –sport 22 -j RETURN iptables -A TOP -j MARK […]

如何检查所有活动的netem规则?

我一直在用tc / netem添加规则/设置(不知道这里有什么正确的术语),比如tc qdisc add dev eth0 root netem delay 25ms ,并且在使用后一直删除它们。 但是,现在我想检查哪些规则/设置仍然有效。 有没有一个命令来查看或检查所有有效的netem规则? 我认为等效的iptables命令就像iptables -L 。

我如何使用`tc`命令给第一个队列优先?

可以说我有3个队列(#表示数据): Q1: (in)[ ###](out) Q2: (in)[ #####](out) Q3: (in)[ #############](out) 比方说,我把我所有的ICMP数据包放在Q1,并在第三季度所有的持续下载。 如何使用tc命令(来自iproute2)在有数据时清空Q1,而忽略其他两个队列? 目前我限制了Q3的速度,但是这感觉相当粗糙。 在Q1没有stream量时,我希望Q3能够全速下载。 这可能吗? 更新:看我的我的QoS脚本的版本1 。 更新2:我进一步更新了我的脚本(见第2版 ),但是我已经改变了ISP,因为它没有在最后做QoS(所以不需要dynamic的速度改变)。 然而,我已经添加了-u和-d参数,所以我可以改变我的上/下限,而不需要编辑脚本。 这个脚本的问题是队列速度永远不会达到ceil的值; 他们只能达到rate – 我认为这不应该发生。 更新3:我不知道为什么,但我的QoS脚本的版本3的作品 ! 如果有人能解释为什么,那会很棒……我只做了很小的改动; 我看不出我是如何做到的。我发现它正在工作后,改变了突发设置。

tc:数据包filter

我需要在networking接口(例如eth0)上丢弃具有特定UDP端口号的UDP数据包。 在我的设置上,eth0接口是桥接器的一部分。 有可能使用tc命令做到这一点? 如果是的话,怎么样?

Linux中输出stream量的宽度未知的通道

如果我不知道信道宽度,有什么办法可以在不同的stream量类别之间划分出去的信道,例如30/70的关系? HTB需要确切的数字,而CBQ也是如此。

传入速率限制

我有一个有两个接口的Ubuntu机器。 eth1是NAT接口,eth2是WAN iterface。 我有一个4 mbps的互联网连接。 我想将eth1 NATnetworking限制为2 mbps。 所以我使用这个tc规则: tc qdisc add dev eth1 root tbf rate 2mbit burst 10kb latency 70ms peakrate 2.4mbit minburst 1540 现在,如果我检查eth1的带宽是250 KBps,这是好的。 但eth2的带宽不止于此:它将在300 KBps到400 KBps之间。 如果我检查tc规则的状态,它会显示重大的数据包丢失。 如何限制eth2的传入带宽为2 mbits,如何防止丢包? 我试着在这个答案给出的解决scheme。 行tc qdisc add dev eth2 ingress给了我一个file exists error 。 答案中的第二种方法显示了我在这里提到的相同的行为:通过eth2获得更多的数据(大于2mbit)。 编辑1:我可以使用什么iptables和tc规则来减慢SYN,ACK,FIN数据包,以使ISP路由器知道我的本地networking拥塞。