Resim takovy problem,
chtel jsem spustit na routeru htb, jenze problem je se stropem linky, ktera je v podstate variabilni. Myslim tim ppp0 na iGW VSB, ktera ma promenlivou propustnost. Da se to nejak vyresit ?
Domnívám se, že problém je ve své podstatě na wifi neřešitelný. Překážkou není jen kolísání propustnosti linky, ale taky halfduplexnost wifi spoje. HTB lze použít pro vyhrazení určitého malého datového toku. Na wifi má své opodstatnění hlavně ESFQ a pokud je přítomno více rozhraní, tak v kombinaci s IMQ. Bez IMQ se mi stávalo, že třeba když ze směru wlan0 někdo tahal z wlan1, tak klienti na wlan1 měli hodně rozhozený přístup na inetovou bránu na eth1 (packetloss, pingy). Datové proudy se prostě na žádném zařízení nepotkaly ve směru downloadu,aby zasahlo ESFQ. Aplikací IMQ+ESFQ se toto vyřešilo a a? kdo tahá a jak tahá odkud chce, tak ostatní omezí maximálně tak, že se o dostupnou propustnost rovnoměrně dělí, bez vážnějšího dopadu na ping. Pro jistotu ještě přidávám opis scriptu, kterým IMQ+ESFQ nastavuji. Netvrdím, že je to správně a možná nějaký QOSovací guru mě za to zpéruje, ale prozatím se mi jeví, že to funguje tak jak si představuji:
tc qdisc del dev wlan0 root
tc qdisc add dev wlan0 root esfq perturb 10 hash src
tc -s -d qdisc ls
tc qdisc del dev wlan1 root
tc qdisc add dev wlan1 root esfq perturb 10 hash src
tc -s -d qdisc ls
tc qdisc del dev eth1 root
tc qdisc add dev eth1 root esfq perturb 10 hash src
tc -s -d qdisc ls
modprobe imq numdevs=3
iptables -t mangle -A PREROUTING -i wlan0 -j IMQ --todev 0
ip link set imq0 up
tc qdisc add dev imq0 root esfq perturb 10 hash dst
tc -s -d qdisc ls
iptables -t mangle -A PREROUTING -i wlan1 -j IMQ --todev 1
ip link set imq1 up
tc qdisc add dev imq1 root esfq perturb 10 hash dst
tc -s -d qdisc ls
iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 2
ip link set imq2 up
tc qdisc add dev imq2 root esfq perturb 10 hash dst
tc -s -d qdisc ls
Tenhle priklad se hodi tak mozna pro ty, co maji pripichnuty na eth1 pristup do Internetu (nejaka dsl nebo neco). Avsak vice dulezitejsi je shapeovani trafficu pro internet, ktery je na stejnem interface jako pristup do CZF. Kdybych totiz shapeoval timhle zpusobem, tak vyshapeuju cely traffic, bez ohledu, jestli jde o net nebo czf, coz by fungovalo zadoucim zpusobem jenom tehdy, kdyz by vsichni najednou pristupovali do czf nebo na net (ktery je v czf). Proto je spise nutnejsi vyresit, jak zvlast shapeovat traffic do internetu a do czf na stejnem interface. Protoze se v tom vubec nevyznam, prozatim se pro me jevi nejjednodussim resenim vytvoreni interface, ktery je ciste pro pristup na net a druhy interface ponechat pro traffic do czf mimo net. Jenomze jak to vyresit, kdyz oboji je na stejnem interface? Pomuze nekdo?