|
之所以我说楼主处理方式诡异,是因为我觉得下面这样和楼主jump了多次处理的结果是一样的,因为本身iptables规则处理就是从上往下顺序处理,你jump到叶链处理和同在子链处理效果是一样的,除非有特殊要求,比如官方qos,它叶链需要更换模式时单独替换内容,所以jump多了一次,它最后打标的结果是合在一起一样的:
iptables -t mangle -N DSCP 2>/dev/null || iptables -t mangle -F DSCP
iptables -t mangle -C PREROUTING -i eth1 -j DSCP || iptables -t mangle -A PREROUTING -i eth1 -j DSCP
iptables -t mangle -C PREROUTING -i br-lan -j DSCP || iptables -t mangle -A PREROUTING -i br-lan -j DSCP
echo "iptables -t mangle -D PREROUTING -i eth1 -j DSCP" > /tmp/log/q_run
echo "iptables -t mangle -D PREROUTING -i br-lan -j DSCP" >> /tmp/log/q_run
iptables -t mangle -C OUTPUT -o eth1 -j DSCP || iptables -t mangle -A OUTPUT -o eth1 -j DSCP
iptables -t mangle -C OUTPUT -o br-lan -j DSCP || iptables -t mangle -A OUTPUT -o br-lan -j DSCP
echo "iptables -t mangle -D OUTPUT -o eth1 -j DSCP" >> /tmp/log/q_run
echo "iptables -t mangle -D OUTPUT -o br-lan -j DSCP" >> /tmp/log/q_run
iptables -t mangle -A DSCP -p tcp -m multiport --dports 22,53,80 -j DSCP --set-dscp-class cs6
iptables -t mangle -A DSCP -p udp -m multiport --dports 22,53,80 -j DSCP --set-dscp-class cs6
iptables -t mangle -A DSCP -m hashlimit --hashlimit-name BULK_TRAFFIC --hashlimit-mode srcip,dstip,dstport --hashlimit-upto 50kb/second --hashlimit-burst 51200 --hashlimit-htable-max 1000000 --hashlimit-htable-expire 10000 --hashlimit-htable-gcinterval 10000 -j RETURN
iptables -t mangle -A DSCP -m connbytes --connbytes 1048576: --connbytes-dir both --connbytes-mode bytes -j DSCP --set-dscp-class cs1
iptables -t mangle -A DSCP -m hashlimit --hashlimit-name QUICK_TRAFFIC_BYTE --hashlimit-mode srcip,dstip,dstport --hashlimit-above 50kb/second --hashlimit-burst 51200 --hashlimit-htable-max 1000000 --hashlimit-htable-expire 10000 --hashlimit-htable-gcinterval 10000 -j RETURN
iptables -t mangle -A DSCP -m hashlimit --hashlimit-name QUICK_TRAFFIC_PKT --hashlimit-mode srcip,dstip,dstport --hashlimit-above 128/second --hashlimit-burst 1 --hashlimit-htable-max 1000000 --hashlimit-htable-expire 10000 --hashlimit-htable-gcinterval 10000 -j RETURN
iptables -t mangle -A DSCP -m connbytes --connbytes 250: --connbytes-dir both --connbytes-mode avgpkt -j RETURN
iptables -t mangle -A DSCP -m connbytes --connbytes :102400 --connbytes-dir both --connbytes-mode bytes -j RETURN
iptables -t mangle -A DSCP -j DSCP --set-dscp-class cs6
|
|