使用路由器 WAN 接口上的 TC 将下载速度限制到单个 LAN IP

使用路由器 WAN 接口上的 TC 将下载速度限制到单个 LAN IP

目前,我使用

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

相关内容