#HTB - koleiki
#eth0 - internet
#eth1 - lan
#kasowanie
tc qdisc del root dev eth1
tc qdisc del root dev eth0
#zaklada glowna kolejke
#download
tc qdisc add dev eth1 root handle 1:0 htb
#upload
tc qdisc add dev eth0 root handle 2:0 htb
# zaklada glowna klase z maksymalna przepustowosci na glownej kolejce
#download
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1000kbit ceil 1000kbit
#upload
tc class add dev eth0 parent 2:0 classid 2:1 htb rate 240kbit ceil 240kbit
#podział pasma na klasy dla usług
#dla voip i www max pasma
tc class add dev eth1 parent 1:1 classid 1:2 htb rate 1000kbit ceil 1000kbit
tc class add dev eth0 parent 2:1 classid 2:2 htb rate 100kbit ceil 100kbit
#dla pozostałych usług
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 600kbit ceil 600kbit
tc class add dev eth0 parent 2:1 classid 2:3 htb rate 30kbit ceil 30kbit
#filtry dla voip i www
#www
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip sport 80 0xffff flowid 1:2
tc filter add dev eth0 protocol ip parent 2:0 u32 match ip sport 80 0xffff flowid 2:2
#voip
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip sport 5060 0xffff flowid 1:3
tc filter add dev eth0 protocol ip parent 2:0 u32 match ip sport 5061 0xffff flowid 2:3
#wszystkim po równo
tc qdisc add dev eth1 parent 1:2 handle 3:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:3 handle 4:0 sfq perturb 10
tc qdisc add dev eth0 parent 2:2 handle 5:0 sfq perturb 10
tc qdisc add dev eth0 parent 2:3 handle 6:0 sfq perturb 10
założenie jest takie chce ażeby usługa voip która działa na portach 5060 i 5061 miała pierwszeństwo tzn gdy nawer łacze jest zapchanę to usługa voip dostaje je w pierwsej kolejności tzn przepustowośc jest wszystkim obcinana po to ażeby zapewnic usłudze działającej na wymienonych portach odpowiednie pasmo. drugą sprawą są strony www chce ażeby priorytet ich ładowania był zaraz po voip a resztę pasma które nie wykorzystuje ani voip ani www podzieliły sobie równo inne aplikacje między innymi p2p.
Co powinienem jescze dopisać do mojego skryptu??
Po uruchomieniu skkryptu mierze prędkość łacza i niby wszytsko działa bo jak dam na www 1000kb to taka jest prędkośc a jak dam 500kb to jest 500 tlko z uploadem nie potrafie sobie poradzić bo czy napisze w skrypcie 30 czy 100 to i tak idzię 256. A to przeciez ważne bo jak kilka osób uruchomi p2p to zapcha cały upload i kich.
ja bym zrobił to tak ze voip ma wlasna kolejke z prawie calym laczem i prorytetem 1 ,www ma troszke z priorytetem 2 i reszta ma troszke z prio 3. wtedy gy potrzebny jest transfer dla voip to on jest, jesli voip go nie uzywa to mogo go pozycyc www a jak www i voip nie urzywa to może być użyty przez reszte.
żeby ograniczac upload musisz zamarkowac ruch wychodzacy od każdego uzytkownika i z serwera a póżniej go skierować do odpowiednich kolejek.