Portál AbcLinuxu, 9. června 2025 00:27


Dotaz: traffic shaping

9.12.2005 19:19 chinook | skóre: 28
traffic shaping
Přečteno: 247×
Odpovědět | Admin
Mam tady tento script a potreboval bych rozdelovat trafic pro 4 pocitace, ale nejak mi to nefunguje poradi nekdo proc? Predpokladam ze je chyba v iptables -t mangel atd...

RATE=64

tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1:0 htb

tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit

tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit

tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit

tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit

tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit

x tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10

tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10

tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10

tc qdisc add dev eth0 parent 1:14 handle 14:0 sfq perturb 10
iptables -t mangle -F FORWARD

iptables -t mangle -A FORWARD -j MARK --set-mark 2

iptables -t mangle -A FORWARD -s 192.168.1.10 -j MARK --set-mark 1

iptables -t mangle -A FORWARD -s 192.168.1.22 -j MARK --set-mark 2

iptables -t mangle -A FORWARD -s 192.168.1.21 -j MARK --set-mark 3

iptables -t mangle -A FORWARD -d 81.27.200.1 -j MARK --set-mark 3

tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:11

tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw flowid 1:12

tc filter add dev eth0 parent 1:0 protocol ip handle 3 fw flowid 1:13

tc filter add dev eth0 parent 1:0 protocol ip handle 4 fw flowid 1:14
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.12.2005 20:27 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: traffic shaping
Odpovědět | | Sbalit | Link | Blokovat | Admin
jenom si to ujasněme, tímhle se snažíš shapovat upload? :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
9.12.2005 21:26 chinook | skóre: 28
Rozbalit Rozbalit vše Re: traffic shaping
Ano. Cet jsem si clanek na root.cz, ale moc jsem to nepochopil. Nekde jsem vycet ze download shapovat nejde je to pravda? Shapuje se upload na druhem rozhrani. Potreboval bych shapovat nejak podle priorit nejvyssi napr port 80, ssh, smtp atd. nejnizsi nebo zbytek pasma dc++. Ale spokojil bych se i s rozdelenim trafiku na 4dily s garantovanou casti a stropem pokud je volne pasmo. Aspon bych pochopil jak to funguje a mohl s tim laborovat. ted se mi to vubec nedari.
9.12.2005 23:24 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: traffic shaping
Do FAQ jsem sepsal par heslovitych poznamek k shapingu.

Radek
10.12.2005 18:41 ...... | skóre: 41 | blog: ...
Rozbalit Rozbalit vše Re: traffic shaping
Moc pěkně shrnuté a sepsané. Super. Pro začátečníky je to dobré vysvětlení pro začátek jak to vlastně funguje. Díky za to.
9.12.2005 23:25 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: traffic shaping
základ je si uvědomit, že shapovat jdou vždy pakety, které přes rozhraní odcházejí ven :) takže pokud máš eth0 do inetu a eth1 do lokální sítě, pak download shapeuješ na eth1 a upload na eth0 :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
10.12.2005 16:32 chinook | skóre: 28
Rozbalit Rozbalit vše Re: traffic shaping
Odpovědět | | Sbalit | Link | Blokovat | Admin
takze jsem si udelal takto skript ten jiz shapuje, ale asi doslo k problemu jak jsem cet v faq:
Je dobré udělat speciální třídu pro malé packety (iptables -m length), cca do 80-100B a ty pouštět prioritně. Zrychlí se tak odezva SSH, pošty a spol. Je to velice vhodné i pro síťové hry. Také se tak upřednostní potvrzovací packety, takže se vyřeší známý problém DC++, kdy velké packety odchozích spojení (cca 1500B) vůbec nepustily k lince malé potvrzující packety pro příchozí data a download tak klesl třeba na 20%.
Potreboval bych nejak podle priorit nastavit velikost paketu problem je v tom ze netusim jak se pririty pouzivaji prosim o inspiraci diky popis jestli to chapu dobre

vytvoreni korene:

tc qdisc add dev eth1 root handle 1:0 htb default 14

prirazeni rychlosti korenu:

tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit

vytvoreni tridy:

tc class add dev eth0 parent 1:1 classid 1:10 htb rate $[${RATE}/2]kbit ceil $[${RATE}]kbit

rozdeleni na jednotlive uzivatele do dane tridy:

tc class add dev eth0 parent 1:10 classid 1:1010 htb rate $[${RATE}/3]kbit ceil $[${RATE}*9/10]kbit

pribrzdeni pro danou tridu:

tc qdisc add dev eth0 parent 1:1010 handle 1010:0 sfq perturb 10

rozdeleni na ip adresy:

tc filter add dev eth0 parent 1:0 protocol ip handle 10 fw flowid 1:1010

pribrzdeni uploadu: (eth0 internet eth1 localni sit)

iptables -t mangle -A PREROUTING -d 192.168.1.10 -s ! 192.168.1.0/24 -j MARK --set-mark 10
11.12.2005 02:45 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: traffic shaping
Syntaxe tc je pro mne nejak nepochopitelna. Ale zakladni myslenka je, udelat si v htb tridu treba 400Kbit/400Kbit (oznacme si ji treba A) pro nejakeho cloveka. Pod touto tridou udelat dalsi dve potridy: 0Kbit/360Kbit (AA) s prioritou 1 (prioritnejsi) a 0Kbit/400Kbit (AB) s prioritou 2. Potom packety omarkovane jako male (-m length) zarazovat do tridy AA a ostatni do tridy AB. Priority zajisti, ze pokud bude neco ve tride AA, tak to bude mit prednost pred tridou AB. Pokud se trida AA bude plnit opravdu jen malymi packety, tak se jedna o efektivni uprednostnovani malych packetu. Jinak do puvodni tridy A se neradi zadny traffic, ta je tam jen na rozdeleni puvodni linky. Chce si to precist pravidla o rychlostech nadrazenych a podrizenych trid.

"Graficky" tridy vypadaji nejak takhle:
eth--+----A-------AA
     |    |
     |    |
     |    +--------AB
     |
     +----B-.....
     ....
P.S. Ja vetsinou pouzivam tridy tri: jednu pro male packety, ssh a VOIP(sem padaji i vsechny sitove hry, protoze maji male packety), druhou pro normalni provoz (vsechno krome ostatnich dvou trid) a treti pro mene podstatne sluzby (DC, dlouhe prenosy,...). Priority maji v udedenem poradi. V brzke dobe uvazuju o rozdeleni prvni tridy na dve a vycleneni VOIP do samostatne tridy.

Radek
11.12.2005 13:50 chinook | skóre: 28
Rozbalit Rozbalit vše Re: traffic shaping
Odpovědět | | Sbalit | Link | Blokovat | Admin
nedal by si mi sem tvuj skript jen pro inspiraci?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.