Jeszcze jest WRR
http://zz9.dk/wrr , ale nie udalo mi sie skompilowac tego bez bledow.
Co do SRR to na download ustawiamy klasyfikacje na DST, czyli dzieli po numerach ip docelowych, na upload SRC, czyli po adresach zrodlowych.
Wszystko ladnie i pieknie wyglada na papierze, tylko tak teraz sie zastanawiam czy bez IMQ da sie zrobic aby to dzialalo. Chodzi o to ze na interfejsie WAN mechanizm kolejkowania moze nie widziec numeru ip zrodlowego, wtedy pakiety sa juz po maskaradzie i numerem ip jest adres bramy... Majac IMQ mozna na 100% zrobic wszsytsko przed natem. Tyle tylko ze to co jest teraz moze dzialac tylko nie wiem jak to sprawdzic, przydalo by sie jakies specjalistyczne narzedzie do testowania sieci.
Co do samej konfiguracji to nie jest to nic nadzwyczajnego jak sie ma wlasny skrypt QOS.
Fragment mojego skryptu:
Przed:
- Código: Selecionar todos
$TC class add dev $IF_LOCAL parent 1:1 classid 1:10 htb prio 0 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil ${QOS_DOWNSTREAM}kbit burst 16k
$TC class add dev $IF_LOCAL parent 1:1 classid 1:20 htb prio 1 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil ${QOS_DOWNSTREAM}kbit burst 8k
$TC class add dev $IF_LOCAL parent 1:1 classid 1:30 htb prio 2 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 4k
$TC class add dev $IF_LOCAL parent 1:30 classid 1:300 htb prio 0 rate $((3*$QOS_DOWNSTREAM/20))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 2k
$TC class add dev $IF_LOCAL parent 1:30 classid 1:301 htb prio 1 rate $((3*$QOS_DOWNSTREAM/20))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 2k
$TC qdisc add dev $LAN parent 1:10 handle 10: sfq perturb 10
$TC qdisc add dev $LAN parent 1:20 handle 20: sfq perturb 10
$TC qdisc add dev $LAN parent 1:300 handle 300: sfq perturb 10
$TC qdisc add dev $LAN parent 1:301 handle 301: sfq perturb 10
Po:
- Código: Selecionar todos
$TC class add dev $IF_LOCAL parent 1:1 classid 1:10 htb prio 0 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil ${QOS_DOWNSTREAM}kbit burst 16k
$TC class add dev $IF_LOCAL parent 1:1 classid 1:20 htb prio 1 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil ${QOS_DOWNSTREAM}kbit burst 8k
$TC class add dev $IF_LOCAL parent 1:1 classid 1:30 htb prio 2 rate $((3*$QOS_DOWNSTREAM/10))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 4k
$TC class add dev $IF_LOCAL parent 1:30 classid 1:300 htb prio 0 rate $((3*$QOS_DOWNSTREAM/20))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 2k
$TC class add dev $IF_LOCAL parent 1:30 classid 1:301 htb prio 1 rate $((3*$QOS_DOWNSTREAM/20))kbit ceil $((9*$QOS_DOWNSTREAM/10))kbit burst 2k
$TC qdisc add dev $IF_LOCAL parent 1:10 handle 10: srr slots 64 limit 1024 classify dst
$TC qdisc add dev $IF_LOCAL parent 1:20 handle 20: srr slots 64 limit 1024 classify dst
$TC qdisc add dev $IF_LOCAL parent 1:300 handle 300: srr slots 64 limit 1024 classify dst
$TC qdisc add dev $IF_LOCAL parent 1:301 handle 301: srr slots 64 limit 1024 classify dst
Jak widac nie wiele sie zmienilo, zamiast "sfq perturb 10" jest "srr slots 64 limit 1024 classify dst". To samo robimy dla upload i gotowe.