tc + iptables(内核队列,按主机/接口/方向)
- 适用:对出口/入口总带宽或特定来源做整形,稳定且系统级生效。
- 示例(将主机 192.168.1.100 出站限速为 10 Mbit/s):
- sudo tc qdisc add dev eth0 root handle 1: htb
- sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
- sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
- sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -j MARK --set-mark 10
- sudo tc filter add dev eth0 parent 1: protocol ip prio 1 handle 10 fw flowid 1:10
- 提示:上述规则重启后会丢失,建议写成脚本并加入开机自启(如 systemd unit 或 rc.local)。