[Linux] Traffic shaping

Pagina: 1
Acties:

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 12:44

LauPro

Prof Mierenneuke®

Topicstarter
Onder het werk heb ik altijd wat torrents of wat ander verkeer lopen. Echter nu merk ik steeds vaker dat ik last van heb in de zin van het traag laden van websites e.d.. Nu is daar een oplossing voor: traffic shaping. Ik heb al een heel eind, maar op het per poort kunnen shapen lukt nog niet. Zo wil ik bijvoorbeeld poort 22 en 80 high prior geven voor mijn host (192.168.0.2). Ik heb het volgende bedacht:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 7500kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 7500kbit prio 1
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 1000kbit prio 2
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 6000kbit prio 3
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10

tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 1 fw flowid 1:10
tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip dst 192.168.0.0/25 flowid 1:30
tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip dst 192.168.0.128/25 flowid 1:20
Vervolgens geef ik via iptables wat markeringen uit:
Bash:
1
2
3
4
5
6
iptables -t mangle -A PREROUTING -p icmp -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 192.168.0.0/25 -p tcp --dport 80 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -d 192.168.0.0/25 -p tcp --sport 80 -j MARK --set-mark 0x1

iptables -t mangle -A PREROUTING -p tcp -m tcp --dport ssh -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -p tcp -m tcp --sport ssh -j MARK --set-mark 0x1
Maar dit werkt dus niet zoals ik het verwacht. Naar mijn idee zou al het ssh traffic naar 1:10 moeten gaan een aangezien deze de hoogste prioriteit heeft en dus lekker snel moeten werken. Het tegendeel is waar. Als ik volop aan het downloaden ben (non-www traffic), en ik zet op de testen classid 1:30 even op 100kbit oid dan is mijn shell niet vooruit te branden, mijn ssh pakketjes komen dus ook vrolijk in 1:30 terug terwijl ik ze in 1:10 wil :( . Iemand een idee?

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Verwijderd

Je bent niet de eerste die dit probeert :)

Zie http://lartc.org/wondershaper/

Kant en klaar script dat waarschijnlijk voldoet aan je wensen.
En anders pas je 'm gewoon aan :)

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 12:44

LauPro

Prof Mierenneuke®

Topicstarter
In het verleden heb ik de wondershaper gebruikt, alleen deze schiet te kort als het gaat om bepaalde poorten in bepaalde subnetten voorrang geven. Je kan wel aangeven welke hosts hoge prioriteit hebben maar niet welke poorten.

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!