目前,我使用
tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 9900kbit burst 10k drop flowid :1
我的局域网上有一个客户端,假设他的 IP 是 192.168.200.200
我尝试了这个,但是它并没有限制他的下载速度。
tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.200.200 police rate 10kbit burst 10k drop flowid :1
答案1
我有一个理论。
您根据目标 IP 限制了入口(父 ffff)。如果这是在 NAT 盒上,则数据包中的目标 IP 是 NAT 盒的外部 IP,而不是实际目标的内部不可路由 IP。直到 NAT 盒完成其分解后,数据包才会到达该目标。
我认为您需要一个出站句柄,而不是输入句柄。以下是 lartc howto 中的示例:
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit
tc class add dev $DEV parent 1: classid 1:1 cbq rate 512kbit \
allot 1500 prio 5 bounded isolated
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 195.96.96.97 flowid 1:1
http://lartc.org/howto/lartc.ratelimit.single.html
希望有帮助! -Dylan