Advertisement
Guest User

Traffic Shaping

a guest
Jul 7th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.59 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. iface="eth1"
  4.  
  5. tc qdisc del dev eth1 root handle 1: >/dev/null 2>&1
  6. tc qdisc add dev eth1 root handle 1: htb default 4
  7.  
  8. tc class add dev eth1 parent 1:  classid 1:1 htb rate 20mbit ceil 20mbit
  9. tc class add dev eth1 parent 1:1 classid 1:4 htb rate 10mbit ceil 20mbit
  10. tc class add dev eth1 parent 1:1 classid 1:5 htb rate 5mbit  ceil 20mbit prio 1 # VPN (tun0, src/dst:192.168.100.0/24)
  11. tc class add dev eth1 parent 1:1 classid 1:6 htb rate 3mbit  ceil 20mbit        # single Application dest-ip
  12. tc class add dev eth1 parent 1:1 classid 1:7 htb rate 1mbit  ceil 1mbit         # WLAN Traffic
  13.  
  14. tc qdisc add dev eth1 parent 1:4 handle 4: sfq perturb 10
  15. tc qdisc add dev eth1 parent 1:5 handle 5: sfq perturb 10
  16. tc qdisc add dev eth1 parent 1:6 handle 6: sfq perturb 10
  17. tc qdisc add dev eth1 parent 1:7 handle 7: sfq perturb 10
  18.  
  19. tc filter add dev eth1 protocol ip parent 1: prio 1 handle 5 fw flowid 1:5
  20. tc filter add dev eth1 protocol ip parent 1: prio 2 handle 6 fw flowid 1:6
  21. tc filter add dev eth1 protocol ip parent 1: prio 2 handle 7 fw flowid 1:7
  22.  
  23. # iptables
  24. iptables -t mangle -A PREROUTING -s 192.168.100.0/24 -j MARK --set-mark 5
  25. iptables -t mangle -A PREROUTING -d 192.168.100.0/24 -j MARK --set-mark 5
  26. iptables -t mangle -A PREROUTING -d 78.47.160.248    -j MARK --set-mark 6
  27. iptables -t mangle -A PREROUTING -s 192.168.50.181   -j MARK --set-mark 7
  28.  
  29. # root@choke:/usr/local/bin# tc -s qdisc ls dev eth1
  30. qdisc htb 1: root refcnt 2 r2q 10 default 4 direct_packets_stat 0
  31.  Sent 16113687 bytes 62076 pkt (dropped 0, overlimits 7105 requeues 0)
  32.  rate 0bit 0pps backlog 0b 0p requeues 0
  33. qdisc sfq 4: parent 1:4 limit 127p quantum 1514b perturb 10sec
  34.  Sent 16103352 bytes 61602 pkt (dropped 0, overlimits 0 requeues 0)
  35.  rate 0bit 0pps backlog 0b 0p requeues 0
  36. qdisc sfq 5: parent 1:5 limit 127p quantum 1514b perturb 10sec
  37.  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  38.  rate 0bit 0pps backlog 0b 0p requeues 0
  39. qdisc sfq 6: parent 1:6 limit 127p quantum 1514b perturb 10sec
  40.  Sent 4812 bytes 58 pkt (dropped 0, overlimits 0 requeues 0)
  41.  rate 0bit 0pps backlog 0b 0p requeues 0
  42. qdisc sfq 7: parent 1:7 limit 127p quantum 1514b perturb 10sec
  43.  Sent 5523 bytes 28 pkt (dropped 0, overlimits 0 requeues 0)
  44.  rate 0bit 0pps backlog 0b 0p requeues 0
  45.  
  46. # root@choke:/usr/local/bin# tc -s filter ls dev eth1
  47. filter parent 1: protocol ip pref 1 fw
  48. filter parent 1: protocol ip pref 1 fw handle 0x5 classid 1:5
  49. filter parent 1: protocol ip pref 2 fw
  50. filter parent 1: protocol ip pref 2 fw handle 0x6 classid 1:6
  51. filter parent 1: protocol ip pref 2 fw handle 0x7 classid 1:7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement