![流量整形 Linux 上传问题](https://linux22.com/image/610035/%E6%B5%81%E9%87%8F%E6%95%B4%E5%BD%A2%20Linux%20%E4%B8%8A%E4%BC%A0%E9%97%AE%E9%A2%98.png)
我目前正在研究 Linux 中的流量整形。我们有一个客户端连接到运行 nat 和 dhcp 的服务器。我们想要做的是限制客户端的上传和下载速度。
但是只有下载限制有效。
下载限制(脚本的一部分)正在运行
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.101/32 flowid 1:4
上传限制(部分脚本)
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.101/32 flowid 1:4
上传部分唯一改变的是“dst”改为“src”。问题是当我们用上传部分替换脚本的下载部分时,没有进行任何限制。这有什么问题吗
答案1
您的流量整形应用程序在 IP 地址为 192.168.0.101 的服务器上运行。因此,您只能通过源地址为 192.168.0.101 的过滤器来控制下载带宽。当您使用目标地址为 192.168.0.101 的过滤器时,服务器首先接收数据包,然后对它们进行流量整形,因此您无法控制上传带宽。要做到这一点,您应该在服务器和用户之间使用一台机器,通过这两个过滤器来控制下载和上传带宽。