Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # eth2 WAN
- # eth1 LAN
- tc qdisc add dev eth2 root handle 1:0 htb
- tc class add dev eth2 parent 1:0 classid 1:1 htb rate 256KBps ceil 256KBps
- # dns
- tc class add dev eth2 parent 1:1 classid 1:2 htb rate 200KBps ceil 240KBps prio 1
- # www
- tc class add dev eth2 parent 1:1 classid 1:3 htb rate 180KBps ceil 200KBps prio 2
- # https
- tc class add dev eth2 parent 1:1 classid 1:4 htb rate 180KBps ceil 200KBps prio 3
- # default
- tc class add dev eth2 parent 1:1 classid 1:5 htb rate 25KBps ceil 30KBps prio 4
- # bulk
- tc class add dev eth2 parent 1:1 classid 1:6 htb rate 11KBps ceil 15KBps prio 5
- tc filter add dev eth2 protocol ip parent 1:0 handle 2 fw flowid 1:2 # dns
- tc filter add dev eth2 protocol ip parent 1:0 handle 3 fw flowid 1:3 # www
- tc filter add dev eth2 protocol ip parent 1:0 handle 4 fw flowid 1:4 # https
- tc filter add dev eth2 protocol ip parent 1:0 handle 5 fw flowid 1:5 # default
- tc filter add dev eth2 protocol ip parent 1:0 handle 6 fw flowid 1:6 # bulk
- tc qdisc add dev eth2 parent 1:2 handle 2:0 sfq perturb 10 # dns
- tc qdisc add dev eth2 parent 1:3 handle 3:0 sfq perturb 10 # www
- tc qdisc add dev eth2 parent 1:4 handle 4:0 sfq perturb 10 # https
- tc qdisc add dev eth2 parent 1:5 handle 5:0 sfq perturb 10 # default
- tc qdisc add dev eth2 parent 1:6 handle 6:0 sfq perturb 10 # bulk
- #
- # Incoming traffic classes
- #
- tc qdisc add dev eth1 root handle 1:0 htb
- tc class add dev eth1 parent 1:0 classid 1:1 htb rate 13056KBps ceil 13056KBps
- tc class add dev eth1 parent 1:1 classid 1:2 htb rate 12800KBps ceil 12800KBps
- tc class add dev eth1 parent 1:1 classid 1:3 htb rate 256KBps ceil 256KBps
- # dns
- tc class add dev eth1 parent 1:3 classid 1:4 htb rate 200KBps ceil 250KBps prio 1
- # www
- tc class add dev eth1 parent 1:3 classid 1:5 htb rate 180KBps ceil 230KBps prio 2
- # https
- tc class add dev eth1 parent 1:3 classid 1:6 htb rate 180KBps ceil 230KBps prio 3
- # default
- tc class add dev eth1 parent 1:3 classid 1:7 htb rate 25KBps ceil 30KBps prio 4
- # bulk
- tc class add dev eth1 parent 1:3 classid 1:8 htb rate 10KBps ceil 15KBps prio 5
- tc filter add dev eth1 protocol ip parent 1:0 handle 4 fw flowid 1:4 # dns
- tc filter add dev eth1 protocol ip parent 1:0 handle 5 fw flowid 1:5 # www
- tc filter add dev eth1 protocol ip parent 1:0 handle 6 fw flowid 1:6 # https
- tc filter add dev eth1 protocol ip parent 1:0 handle 7 fw flowid 1:7 # default
- tc filter add dev eth1 protocol ip parent 1:0 handle 8 fw flowid 1:8 # bulk
- tc qdisc add dev eth1 parent 1:4 handle 4:0 sfq perturb 10 # dns
- tc qdisc add dev eth1 parent 1:5 handle 5:0 sfq perturb 10 # www
- tc qdisc add dev eth1 parent 1:6 handle 6:0 sfq perturb 10 # https
- tc qdisc add dev eth1 parent 1:7 handle 7:0 sfq perturb 10 # default
- tc qdisc add dev eth1 parent 1:8 handle 8:0 sfq perturb 10 # bulk
- iptables -t mangle -F POSTROUTING
- #
- # Outgoing traffic rules
- #
- # XXX: You have to tune following rules by hand (assigning packets to classes)
- ## dns
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 53 -j MARK --set-mark 2
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 53 -j RETURN
- ## www
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 80 -j MARK --set-mark 3
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 80 -j RETURN
- ## https
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 443 -j MARK --set-mark 4
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 443 -j RETURN
- ## default
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 1:1024 -j MARK --set-mark 5
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 1:1024 -j RETURN
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 1:1024 -j MARK --set-mark 5
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 1:1024 -j RETURN
- ## bulk
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 1024:65535 -j MARK --set-mark 6
- iptables -t mangle -A POSTROUTING -o eth2 -p udp --dport 1024:65535 -j RETURN
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 1024:65535 -j MARK --set-mark 6
- iptables -t mangle -A POSTROUTING -o eth2 -p tcp --dport 1024:65535 -j RETURN
- #
- # Incoming traffic rules
- #
- # XXX: You have to tune following rules by hand (assigning packets to classes)
- ## dns
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 53 -j MARK --set-mark 4
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 53 -j RETURN
- ## www
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 80 -j MARK --set-mark 5
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 80 -j RETURN
- ## https
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 443 -j MARK --set-mark 6
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 443 -j RETURN
- ## default
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1:1024 -j MARK --set-mark 7
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1:1024 -j RETURN
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 1:1024 -j MARK --set-mark 7
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 1:1024 -j RETURN
- ## bulk
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1024:65535 -j MARK --set-mark 8
- iptables -t mangle -A POSTROUTING -o eth1 -p udp --dport 1024:65535 -j RETURN
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 1024:65535 -j MARK --set-mark 8
- iptables -t mangle -A POSTROUTING -o eth1 -p tcp --dport 1024:65535 -j RETURN
- #Bulk on http
- iptables -A FORWARD -i eth2 -o eth1 -m connbytes --connbytes 524288: --connbytes-dir reply --connbytes-mode bytes -j CONNMARK --set-mark 8
- iptables -t mangle -A PREROUTING -m connmark --mark 8 -j CONNMARK --restore-mark
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement