这个可以参考
我的 tomato 原版 QOS 设定
http://www.right.com.cn/forum/thread-102891-1-1.html(出处: 恩山无线论坛)
不同 IP 的流量优先级,可以参考 31L 在 br0 接口进行针对 ip 的限速防止 1ip 占用 99%以上的带宽,可以针对不同 ip 实施 prio 优先级。基本原则 rate $((downlink*3/10))kbps ceil $((3072*10/10))kbps ,保证单 ip 3/10 的流量,其余的 7/10 进行互相抢夺。
至于单机又是迅雷又是看视频,未曾试过。主要是无法准确标记这两种流量,但是也许很多视频是用 80 8080 可能默认的上行 qos 就可以主动避开这两种流量,主要没有迅雷会员帐号,也没机会 100%占用流量。目前这个 qos 主要是为了实现高优先级的游戏包延迟的,
关于并发数量的抑制,可以参考 openwrt 实现。
iptables -S syn_flood
-N syn_flood
-A syn_flood -m limit --limit 3/sec --limit-burst 25 -j RETURN
-A syn_flood -j DROP
root@OpenWrt:/mnt/sda1# iptables -S INPUT
-A INPUT -i pppoe-wan -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood
-A INPUT -j delegate_input
===其实如果能在上行方法准确标记 迅雷流量和视频流量的话, connmark restore 是可以把这个标记直接应用在下行流量进行准确区分的
老外的这篇文档就试图说明在上行标记 iptables -t mangle -A QOS -s 192.168.1.50 -m mark --mark 0 -j MARK --set-mark 3 ,传递到下行标记。也许少了这么关键的一句 iptables -t mangle -A PREROUTING -i pppoe-wan -j CONNMARK --restore-mark
https://wiki.archlinux.org/index.php/Advanced_traffic_control