function build_mangle { einfo "Establishing ipv4 Mangle Tables ..." iptables -t mangle -A POSTROUTING -p icmp -j CLASSIFY --set-class 1:10 # Super-Boost all ICMP Traffic iptables -t mangle -A POSTROUTING -p udp --dport 53 -j CLASSIFY --set-class 1:20 # Boost all DNS Traffic iptables -t mangle -A POSTROUTING -p udp --sport 53 -j CLASSIFY --set-class 1:20 # Boost all DNS Traffic iptables -t mangle -A POSTROUTING -p tcp --sport ssh -m length --length 40:100 -j CLASSIFY --set-class 1:20 # Boost SSH Bursts iptables -t mangle -A POSTROUTING -p tcp --dport ssh -m length --length 40:100 -j CLASSIFY --set-class 1:20 # Boost SSH Bursts iptables -t mangle -A POSTROUTING -p tcp --sport ssh -m length --length 101: -j CLASSIFY --set-class 1:30 # Bulk SSH XFers iptables -t mangle -A POSTROUTING -p tcp --dport ssh -m length --length 101: -j CLASSIFY --set-class 1:30 # Bulk SSH XFers iptables -t mangle -A POSTROUTING -p udp -m multiport --dports 137:139,445 -j CLASSIFY --set-class 1:1 # Do not throttle Samba iptables -t mangle -A POSTROUTING -p udp -m multiport --sports 137:139,445 -j CLASSIFY --set-class 1:1 # Do not throttle Samba iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 137:139,445 -j CLASSIFY --set-class 1:1 # Do not throttle Samba iptables -t mangle -A POSTROUTING -p tcp -m multiport --sports 137:139,445 -j CLASSIFY --set-class 1:1 # Do not throttle Samba iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 6880:6999 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 6430:6440 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p tcp -m multiport --sports 6880:6999 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p tcp -m multiport --sports 6430:6440 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p udp -m multiport --dports 6880:6999 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p udp -m multiport --dports 6430:6440 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p udp -m multiport --sports 6880:6999 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p udp -m multiport --sports 6430:6440 -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p tcp -m layer7 --l7proto bittorrent -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p udp -m layer7 --l7proto bittorrent -j MARK --set-mark 4 # Catch Torrent Traffic, Throttle it iptables -t mangle -A POSTROUTING -p tcp --dport 21 -j CLASSIFY --set-class 1:40 # Super-Bulk FTP Traffic iptables -t mangle -A POSTROUTING -p tcp --dport 31373 -j CLASSIFY --set-class 1:20 # Boost Skype Traffic iptables -t mangle -A POSTROUTING -p tcp --sport 5190 -j CLASSIFY --set-class 1:40 # Super-Bulk AIM Traffic iptables -t mangle -A POSTROUTING -p tcp --sport 5190 -j CLASSIFY --set-class 1:40 # Super-Bulk Y! Traffic iptables -t mangle -A POSTROUTING -p tcp --sport 1863 -j CLASSIFY --set-class 1:40 # Super-Bulk MSN Traffic iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 80,443 -j CLASSIFY --set-class 1:20 # Boost Web Traffic (Out) iptables -t mangle -A POSTROUTING -p tcp --dport 123 -j CLASSIFY --set-class 1:10 # NTP Traffic is time critical iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 6665:6669 -j CLASSIFY --set-class 1:40 # Super-Buil IRC iptables -t mangle -A POSTROUTING -p tcp --dport 25 -j CLASSIFY --set-class 1:40 # Super-Bulk SMTP Traffic iptables -t mangle -A POSTROUTING -p udp --dport 514 -j CLASSIFY --set-class 1:20 # Boost Syslog Traffic iptables -t mangle -A POSTROUTING -p tcp --dport 514 -j CLASSIFY --set-class 1:20 # Boost Syslog Traffic iptables -t mangle -A POSTROUTING -p tcp -m multiport --sports 80,81,443 -j CLASSIFY --set-class 1:20 # Boost Web Traffic (In) iptables -t mangle -A POSTROUTING -p tcp --dport 873 -j CLASSIFY --set-class 1:40 # Super-Bulk RSYNC Traffic iptables -t mangle -A POSTROUTING -p udp --dport 873 -j CLASSIFY --set-class 1:40 # Super-Bulk RSYNC Traffic iptables -t mangle -A POSTROUTING -p tcp --syn -m length --length 40:68 -j CLASSIFY --set-class 1:10 # TCP Flags to Boost Follow iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL SYN,ACK -m length --length 40:68 -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL SYN,ACK -m length --length 40:68 -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL ACK -m length --length 40:100 -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL RST -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL ACK,RST -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags ALL ACK,FIN -j CLASSIFY --set-class 1:10 }