howto  ::   download  ::   obudowa strona główna :: kontakt     
     
QOS

Opcja ma na celu zablokowanie uploadu, tak by ściąganie z np. FTP nie blokowało nam całego ruchu.
Poniżej znajdziesz dwa rozwiązania tego problemu.

Pierwsze to blokowanie dla wszystkich także dla LAN ruchu na poziomie 512 kbit/s oczywiście wartość tą należy dobrać indywidualnie na poziomie 50-80% szybkości Twojego uploadu.
Tworzymy plik /sbin/htb z zawartością:

KOD
#Wartość w kbit (dla łącza z uploadem 1mbit = 1024 kbit)
UPLOAD=512
DEV=br0

tc qdisc del dev $DEV root 2> /dev/null > /dev/null
tc qdisc add dev $DEV root handle 1: htb default 10
tc class add dev $DEV parent 1: classid 1:1 htb rate 100mbit
tc class add dev $DEV parent 1:1 classid 1:10 htb rate $UPLOADkbit prio 1
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10

Drugie rozwiązanie to ograniczenie ruchu tylko dla jednego interface'u.
Przyjmijmy, że obudowa do internetu łączy się poprzez kabel eth1 natomiast użytkownik ma dostęp do zasobów obudowy poprzez wifi wl0.
Tworzymy plik /sbin/htb z zawartością:

KOD
LAN=wl0
NET=eth1
KBIT=50

#lan
tc qdisc del dev $LAN root
tc qdisc add dev $LAN root sfq perturb 10

#net
tc qdisc del dev $NET root
tc qdisc add dev $NET root handle 1:0 htb r2q 5 default 7
tc class add dev $NET parent 1:0 classid 1:1 htb rate "$KBIT"kbit ceil "$KBIT"kbit
tc qdisc add dev $NET parent 1:1 handle 2:0 sfq perturb 10

W tym momencie cały ruch odbywający się poprzez eth1 jest ograniczany, natomiast wszystko przez wifi ściągamy na maksa.

Powyższe dwa rozwiązania dotyczyły standardowego firmware Jokera w wersji M2, ostatnie rozwiązanie możliwe jest na firmware Webcam Edidion obsługującym więcej opcji QOS niż firmware standardowy.

KOD
#!/bin/ash

tc qdisc del dev eth1 root 2> /dev/null > /dev/null
tc qdisc add dev eth1 root handle 1: htb default 10

#Upload
tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit

#Wysyłanie do NET (ograniczone do około 50 kB/s)
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 512kbit prio 1
tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10

#Wysyłanie do LAN (bez ograniczeń)
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 100mbit prio 2
tc filter add dev eth1 parent 1: protocol ip prio 2 u32 match ip dst 192.168.123.0/4
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10

Na koniec do pliku startowego dodajemy:

KOD
#Uruchamiam podział łącza...
htb



     Copyright © '08-'22 Ignas.
     All rights reserved.