对于stream量整形,我目前使用的设置看起来完全像LARTC的设置,在此页面上: http://lartc.org/howto/lartc.adv-filter.hashing.html 我有一个简单的问题 – 每次我想修改哈希表中的东西(如分配一个IP到不同的flowid),我需要删除整个filter表,并再次添加它filter筛选器。 (我实际上不是手工做的,我有一个很好的程序,这对我来说…但还是…)有一个问题 – 我有大约10kfilter分配这种方式,删除和重新填充整个filtertable可能会变得很长,这对于stream量整形并不是很好。 我的程序可以很容易地删除只需要删除的规则(因此减less了几个命令和毫秒的整个问题),但我根本不知道只删除一个哈希规则的命令。 我的tcfilter显示: filter parent 1: protocol ip pref 1 u32 filter parent 1: protocol ip pref 1 u32 fh 2: ht divisor 256 filter parent 1: protocol ip pref 1 u32 fh 2:a:800 order 2048 key ht 2 bkt a flowid 1:101 match 0a0a0a0a/ffffffff at 16 filter […]
我已经在tc中添加了一个filter,如下所示: tc filter add dev eth0 parent 1: protocol ip handle 6 fw flowid 1:6 这应该是发送由iptables标记为'–set-mark 6'的包到类1:6。 问题是,我不知道如何以后删除此filter。 replace“添加”与“删除”不起作用,我得到一个“RTNETLINK答案:没有这样的文件或目录”的错误消息。 我已经尝试了一些其他的组合删除它,但似乎没有工作。 谢谢你的帮助。
我有一个Ubuntu 10盒,我试图build立一个带宽整形路由器。 机器有一个WAN接口,eth0和两个LAN接口,eth1和eth2。 如InternetConnectionSharing中所述,使用MASQUERADEconfigurationNAT。 我主要关心的是从LAN接口中形成出站stream量 – 最后,我想最终得到每个LAN接口768Kbps的硬限制(而不是所有接口上汇集的eth0限制)。 我安装了HTB.init ,并对示例进行了细化 ,试图通过将三个文件放入/ etc / sysconfig / htb来设置eth1: 的/ etc / SYSCONFIG / HTB / ETH1 DEFAULT=30 R2Q=100 /etc/sysconfig/htb/eth1-2.root RATE=768Kbps BURST=15k /etc/sysconfig/htb/eth1-2:30.dfl RATE=768Kbps CEIL=788Kbps BURST=15k LEAF=sfq 我可以/etc/init.d/htb启动和/etc/init.d/htb统计信息,并看到/似乎/build议它的工作信息…但是当我试图通过广域网接口拉大文件塑造清楚没有生效。 有什么build议么? 我的猜测是,这与NAT链中整形的位置有关,但我真的不知道从哪里开始解决这个问题。 —-更新: 这是我的/etc/init.d/htb列表输出,这似乎是有道理的 – eth1的默认速率是768Kbps? ### eth0: queueing disciplines qdisc htb 1: root refcnt 2 r2q 100 default 30 direct_packets_stat […]
要求: 每个组中有任意数量的用户。 任何特定组的带宽是1000kbps。 组中每个用户的带宽为70 kbps。 任何时候,用户都不应该占用超过70kbps的带宽。 我正在使用tc&iptables&ipset。 ipset -L slowips Name: slowips Type: hash:ip Revision: 1 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 240 References: 3 Members: 172.16.79.3 172.16.79.4 IPTABLES: iptables -t mangle -I POSTROUTING -m set –match-set slowips dst -j CLASSIFY –set-class 1:12 我的TC脚本: #!/bin/bash tc qdisc del dev eth0 root […]
HTB率和Ceil值有什么区别?
我一直在尝试对我正在进行的一个学术项目进行基于VLAN的速率限制。 该项目使用Openflow(使用Beacon控制器),并使用Mininet模拟networking。 networking由OpenVSwitch组成。 对于我的项目,我需要对networking中每个VLAN的stream量进行速率限制。 我已经select了tc(与htb),并且已经尝试了很多天来完成这个工作。 这些是我想要使用tc实现的目标:1)限制具有一定数据速率的所有VLAN。 2)确保一旦设置了速率限制,使用交换机之间的物理链路的所有VLAN都获得相同(或接近相同)的最大数据速率。 因此,如果我将每个VLAN的数据速率限制设置为100 Mbps,并且有5个VLAN使用物理链路,那么我希望所有这些VLAN不要超过100 Mbps,并同时获得最高约100 Mbps的数据速率。 我已经写了这个拓扑的脚本: s2—s4 | s6—s8 | s10—s12 这是脚本: #!/bin/bash # delete prev: tc qdisc del dev s10-eth2 root tc qdisc del dev s2-eth3 root tc qdisc del dev s6-eth2 root tc qdisc del dev s6-eth3 root tc qdisc del dev s6-eth4 root tc qdisc del […]
我运行这个tc波纹pipe,它输出的数量很高,你知道这个requeues是什么意思吗? 顺便说一下,它在不断增加。 我看着man tc但我找不到任何东西。 $ tc -s qdisc ls dev em1 qdisc mq 0: root Sent 1760345587651 bytes 1790125037 pkt (dropped 0, overlimits 0 **requeues 135812** ) rate 0bit 0pps backlog 0b 0p **requeues 135812**
我目前正在研究使用Ubuntu服务器来提供QoS而不是我的消费级路由器的机会。 我已经阅读了很多关于tc和HTB排队规则的资源,这些资源看起来是我需要的QoS需求,即使现在大部分看起来很清楚,仍然有一些东西让我感到子类率。 让我们来看看这个样本configuration作为这个问题的答案: tc class add dev eth0 parent 1: classid 1:1 htb rate 90kbps ceil 90kbps tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 60kbps tc class add dev eth0 parent 1:1 classid 1:11 htb rate 30kbps ceil 60kbps tc class add dev eth0 parent 1:1 classid 1:12 htb […]
我正在设置一些htb数据包队列,如下所示: tc qdisc add dev eth0 root handle 10: htb tc qdisc add dev eth1 root handle 10: htb tc class add dev eth0 parent 10: classid 10:1012 htb rate 750kbps ceil 750kbps tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup tc class add dev eth1 parent 10: classid […]
我正在传输2900字节的UDP数据包。 由于分片,数据包被分成2个IP分片。 我的tc u32filter(更多片段位和IP / PORT组合)仅匹配第一个片段,第二个片段不匹配。 我怎样才能匹配也使用filter的最后一个片段。 我很好用tc或iptablesfilterrul