QoS

Dalibor Straka dast na panelnet.cz
Neděle Leden 22 20:32:06 CET 2006


On Sun, Jan 22, 2006 at 06:11:37PM +0100, Petr Vileta wrote:
> Stahnul jsem si novy tc, ale porad to nevypisuje nic.
> 
To je dost divne, jak tam mate stary kernel? Me na RH7.3 funguje
qos vyborne. Zkuste stahnout http://www.panelnet.cz/download/tc
(neni to backdoor). Navic na HTB je treba minimalne 2.4.20. A az to
budete kompilovat urcite si tam zahvezdickujte rovnou cely iptables
a take nejlepe cely QoS, protoze jestli s tim budete experimentovat
brzy prejdete na pracnejsi, ale lepsi, zpusob strkani paketu do
prislusne fronty nez u32 - pomoci iptables.

> > Pokud mate wifi jen pro internet je to jednoduche
> >
> No pro jistotu vam polozim par hloupych otazek, abych si ujasnil, co vlastne 
> delam ;-)
> 
Predne jsem zapomnel uvest, ze existuje cesky navod na root.cz. Me se
moc nelibil, ale ostatni ho chvalej.

> 1) timto nastavenim se vyhradi 64kbit pro telefonovani a uz to nebude 
> pouzitelne pro nic jineho? Nebo je to tak, ze kdyz neprijde zadny paket pro 
> VoIP, tak se ostatnim sluzbam poskytne i tech 64kbit?
> 
Ano, proto ma druha trida nastaveny rate na 256-64 a strop na 256 ;).

> 2) TEL_PORT je predpokladam port, na kterem moje GW ocekava pakety, takze v 
> mem pripade je to 5060. Ovsem je to UDP. Rozlisuje se to nejak v nastaveni?
> 
Jo.

> 3) predpokladam, ze "dev wlan0" nahradim "dev eth0" coz je moje device do 
> internetu.
> 
Prirozene, jenom jsem chtel napomoci cut&paste v pripade wifi.

> >    tc filter add dev wlan0 protocol ip parent 1:0 prio 123 u32 \
> >        match ip sport $TEL_PORT 0xffff flowid 1:11
> 4) tady mi nejsou jasna dve cisla. Co znamena "prio 123 u23" a co ten port 
> "0xffff"?
> 
u32 je kernelovy filtr, ktery tc pouzije pro zarazeni paketu do
prislusne fronty. Prio 123 je libovolna hodnota jina nez zadna ;).
Byl/je bug a fronta by nesla smazat. Jinak je to uplne k nicemu.
Tez se obcas oznacuje pref i prio.

> >    tc filter add dev wlan0 protocol ip parent 1:0 prio 123 u32 \
> >        match ip dport $TEL_PORT 0xffff flowid 1:11
> >
> > qos_stop (){
> >    tc filter del dev wlan0 pref 123
> >    tc qdisc del dev wlan0 root
> >    }
> >
> A k cemu je cela tahle rutina? To ma byt jako samostatny skript nebo jak?
> 
Chapejte to jak chcete, ale kdyz spustite tudle rutinu, a pak napisete
qos_stop, tak se qos zrusi a
# tc -d -s qdisc show dev eth0
nevypise nic, resp vypise stare dobre pfifo_fast.

> A nebo jeste jinak. Za jakou castku byste mi to nastavil na dalku? 
> Podrobnosti o mem systemu (pokud byste je potreboval) bych samozrejme dodal.
> -- 
Dneska uz jsem cvicil na kytaru, poobedval s pritelkyni, dokonce i behal
v ty zime, rozchodil webkameru a cely den odpovidam na e-maily
v @linux.cz. Typicky den, kdyz se mi nechce ucit na zkousku...

Kdyz si skompilujete jadro s prislusnymi volbami, uvedeny skript bude
fungovat.
-- Dalibor Straka


Další informace o konferenci Linux