fscyr 发表于 2005-9-5 22:17:18

iptables+tc作流量限制,不过好像对UDP协议的没有作用。

我用linux做NAT,供内部网共享上网,用iptables+tc作流量限制,主要是限制上传的流量,但设置后还是发现通过udp的数据流量大大超出限制的值,请问怎样才能限制udp的上传流量。

fscyr 发表于 2005-9-5 22:20:24

限制的设置
tc qdisc del dev ppp0 root
tc qdisc add dev ppp0 root handle 3: htb default 10
tc class add dev ppp0 parent 3: classid 3:1 htb rate 100Mbit ceil 100Mbit
tc class add dev ppp0 parent 3:1 classid 3:10 htb rate 100Mbit ceil 100Mbit prio 0
tc class add dev ppp0 parent 3:1 classid 3:20 htb rate 100kbit ceil 100kbit prio 3
tc qdisc add dev ppp0 parent 3:20 handle 20: sfq
tc filter add dev ppp0 parent 3: protocol ip prio 3 handle 2 fw classid 3:20
iptables -t mangle -A PREROUTING -s 192.168.0.55(被限制的内部网址) -j MARK --set-mark 0x2

请问有什么地方不妥?

DreamCat 发表于 2005-9-6 13:33:42

你并没有指定协议。。。。

bluehu 发表于 2005-9-6 17:17:51

用iptables做mark,然后用tc来做流量控制,这样什么样的协议的都可以控制流量了。不过这种方法的效率好像不是很高

DreamCat 发表于 2005-9-7 09:59:00

效率还是可以的。只要你的CPU速度够,这个不是问题。

menei 发表于 2005-9-8 17:52:17

你或者可以用U32 Filter过滤

loverouter 发表于 2005-9-8 20:35:35

用U32 Filter过滤 也许是个办法,我想
iptables -t mangle -A PREROUTING -s 192.168.0.55(被限制的内部网址) -j MARK --set-mark 0x2
这句可能会让某些包溜掉,而进入了3:10

samhui 发表于 2005-9-8 23:59:35

UDP协议 是使用软件来控制重试的,可能会没有效果的

bluehu 发表于 2005-9-9 22:21:50

MARK的方式的确效率不高啊,如果有1000个IP,分别用限制其带宽的话,这样规则就很大了.
页: [1]
查看完整版本: iptables+tc作流量限制,不过好像对UDP协议的没有作用。