Articles of tc

tc规则阻止来自networking上某些主机的stream量

我有一个问题,我无法解决。 设置stream量整形规则的脚本阻塞了来自某些主机的stream量。如果我删除了所有的规则,那么它就起作用了。 我不明白为什么? 这是我的脚本… #!/bin/sh cmdTC=/sbin/tc rateLANDl="60mbit" ceilLANDl="60mbit" rateLANUl="40mbit" ceilLANUl="40mbit" quantLAN="1514" # Nowaday bandwidth limit set to 100mbit. # We devide it with 60mbit download and 40mbit upload bandthes. rateHiDl="30mbit" ceilHiDl="60mbit" rateHiUl="20mbit" ceilHiUl="40mbit" quantHi="1514" rateLoDl="30mbit" ceilLoDl="60mbit" rateLoUl="20mbit" ceilLoUl="40mbit" quantLo="1514" devNIF=eth0 devFIF=ifb0 modprobe ifb ip link set $devFIF up 2>/dev/null #exit 0 ################################################################################################ # Remove discuiplines […]

HTB等宽带共享每个IP在一个类

在我的tcconfiguration(如下图所示)中,所有带宽在所有连接之间均等共享,但是我想在所有IP地址之间平均分配带宽。 现在: 192.168.0.2 – 38KB/s 192.168.0.2 – 38KB/s 192.168.0.2 – 37KB/s 192.168.0.3 – 39KB/s 192.168.0.4 – 40KB/s 预期: 192.168.0.2 – 23KB/s 192.168.0.2 – 21KB/s 192.168.0.2 – 22KB/s 192.168.0.3 – 63KB/s 192.168.0.4 – 65KB/s 是否有可能不为每个IP地址创build类? 因为我有像10.0.0.0/8一样pipe理的大型子网。 这些是我的iptables规则 ipset add src_set 10.0.0.0/16 ipset add dst_set 192.168.0.0/16 -A FORWARD -m set –match-set src_set src -m set –match-set dst_set […]

Linuxstream量控制器(Linux tc):分层令牌桶(htb)数据包队列大小

在我的Linux路由器中,我使用以下configuration来限制局域网中客户端端口44444的stream量(客户端地址是192.168.10.2,通过路由器的eth1 iface连接): tc qdisc add dev eth1 root handle 1: htb default 2 tc class add dev eth1 parent 1: classid 1:1 htb rate $RATE tc class add dev eth1 parent 1: classid 1:2 htb rate 100mbit tc filter add dev eth1 protocol ip parent 1: prio 1 u32 match ip dst 192.168.10.2 dport 44444 […]

stream量整形出站客户端使用tc / iptables源IP

我的问题是我试图限制服务器上的用户带宽,想知道这样做的最好方法。 在深入研究tc / iptables之前,我想知道是否可以得到任何build议,如果有人可以给我一个示例configuration,可能是我可以玩的东西,这将不胜感激。 从我所了解的可以用tc制定规则,然后使用mark语句在iptables中应用规则。 有些人说使用破解或输出,但不能100%确定哪一个是最好的,哪怕是最重要的。 我相信与tc我将使用htb(令牌桶来限制带宽),但人们说有性能权衡,我正在寻找最低的延迟方法。 这些用户不在内部networking上,而是连接到服务器。 我有两种types的用户,所以只需要有两个规则来限制它们。 到目前为止,我所看到的是tc / iptables组合是我想要的,但是我可以为替代scheme提供build议。 我认为iptables的命令将如下所示 带宽限制规则1 iptables -A PREROUTING -s xxx.xxx.xxx.xxx -t mangle -j MARK –set-mark 0x1 带宽限制规则2 iptables -A PREROUTING -s xxx.xxx.xxx.xxx -t mangle -j MARK –set-mark 0x2 我想要发生的事情 用户进入eth0(他们的IP将是已知的,而不是随机的IP) 从服务器请求信息 服务器应用规则将eth0上的信息发回给用户

在每个用户的基础上对Linux shell用户进行stream量整形

我有一个debian 7服务器与许多shell用户,我想限制在每个用户的基础上的所有接口(eth0,gre1,sit1)的上传和下载速度,所以每个用户有他自己的75KB / s的上传和下载速度。 我已经看了tc,但我在这里和其他地方find的解决scheme似乎并不适合我的需求,特别是因为他们涉及到为每个用户(100 +)添加iptables规则, 目前我有一些速率限制规则,比如限制pps和连接的数量,这些连接似乎可以防止出现DoS和洪泛,但是我知道它并不是一个万能的解决scheme,并且希望将事情进一步收紧。 当我尝试实施tc规则时,似乎限制了整个服务器的带宽,并不是每个用户都像我想要的那样放弃了。 有没有人可以帮忙?

带宽大于万兆networking的tc htb ceil

在分类88:201中,我设置了ceil 200mibps ,但实际上数据可以以218微米发送。 任何人有什么想法我做错了什么? 干杯! tc qdisc add dev eth0 root handle 88: htb default 202 tc class add dev eth0 parent 88: classid 88:89 htb rate 1250mibps ceil 1250mibps tc class add dev eth0 parent 88:89 classid 88:200 htb rate 1130mibps ceil 1250mibps tc class add dev eth0 parent 88:89 classid 88:201 htb rate […]

TC警方通过iptables处理数据包?

我想限制下载速度从任何IP到800kbit,(这个工程)我想限制标记数据包的下载速度为400kbit。 我没有得到任何错误,但它不限制标记为30的数据包的下载速度。我已经用iptables-save -c确认数据包被正确标记。 所以我认为我的过滤语法拾取句柄30是错误的,即使没有错误。 /sbin/tc qdisc add dev $DEV handle ffff: ingress /sbin/tc filter add dev $DEV parent ffff: prio 40 protocol ip handle 30 fw police rate 400kbit burst 10k drop flowid :1 #slightly different order of parameters, also doesn't work /sbin/tc filter add dev $DEV parent ffff: protocol ip prio 40 handle 30 […]

Linux只能排队pipe理以降低延迟吗? 它可以被禁用?

我正在学习排队纪律,作为调整我们的碳-c中继群集networking堆栈的一部分。 我的理解是,排队规则层的存在仅仅是为了降低延迟,并为不同types的networking数据包提供公平性。 如果没有这层,驱动程序队列将被用作简单的FIFO,这对于延迟不是优先级的高networking负载来说是很好的。 我正在运行一个碳C中继群集,这意味着我不在乎延迟 – 我关心的是确保所有携带指标数据的数据包都被处理,并且没有被丢弃。 所以,我应该能够禁用排队纪律层,并调整驱动程序队列(增加驱动程序队列和套接字缓冲区以适应networking负载)。 那是对的吗? 有没有办法来禁用排队纪律层?

对某些(本地)用户进行stream量整形

我使用的是Ubuntu 10.10 我有一个名为“备份”的本地备份用户。 🙂 我想给这个用户一个1Mbit的带宽。 无论哪个软件想要连接到networking。 此解决scheme限制: iptables -t mangle -A OUTPUT -p tcp -m owner –uid-owner 1001 -j MARK –set-mark 12 iptables -t mangle -A POSTROUTING -p tcp -m owner –uid-owner 1001 -j MARK –set-mark 12 tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 2 htb default 1 tc […]

stream量整形:连接到HTB类的tcfilter?

我可以附加一个tcfilterHTB类,而不是一个HTB qdisc? 例如: tc class add dev $IF_LAN parent 1:100 classid 1:180 htb rate 19kbit ceil 2000kbit prio 4 哪里: 1:100 -> Is an HTB inner class. 这个问题产生的原因是我可以在不抛出错误的情况下附加一个tcfilter ,但后来当我看到tc统计信息时,我意识到没有进行过滤。 提前致谢。 编辑:我发现在tc手册tcfilter语法: tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol prootocol prio priority filtertype [ filtertype […]