Portál AbcLinuxu, 9. června 2025 00:27
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
x
tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:14 handle 14:0 sfq perturb 10
iptables -t mangle -F FORWARD
iptables -t mangle -A FORWARD -j MARK --set-mark 2
iptables -t mangle -A FORWARD -s 192.168.1.10 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -s 192.168.1.22 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -s 192.168.1.21 -j MARK --set-mark 3
iptables -t mangle -A FORWARD -d 81.27.200.1 -j MARK --set-mark 3
tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:11
tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw flowid 1:12
tc filter add dev eth0 parent 1:0 protocol ip handle 3 fw flowid 1:13
tc filter add dev eth0 parent 1:0 protocol ip handle 4 fw flowid 1:14
Je dobré udělat speciální třídu pro malé packety (iptables -m length), cca do 80-100B a ty pouštět prioritně. Zrychlí se tak odezva SSH, pošty a spol. Je to velice vhodné i pro síťové hry. Také se tak upřednostní potvrzovací packety, takže se vyřeší známý problém DC++, kdy velké packety odchozích spojení (cca 1500B) vůbec nepustily k lince malé potvrzující packety pro příchozí data a download tak klesl třeba na 20%.Potreboval bych nejak podle priorit nastavit velikost paketu problem je v tom ze netusim jak se pririty pouzivaji prosim o inspiraci diky
popis jestli to chapu dobre
vytvoreni korene:
tc qdisc add dev eth1 root handle 1:0 htb default 14
prirazeni rychlosti korenu:
tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit
vytvoreni tridy:
tc class add dev eth0 parent 1:1 classid 1:10 htb rate $[${RATE}/2]kbit ceil $[${RATE}]kbit
rozdeleni na jednotlive uzivatele do dane tridy:
tc class add dev eth0 parent 1:10 classid 1:1010 htb rate $[${RATE}/3]kbit ceil $[${RATE}*9/10]kbit
pribrzdeni pro danou tridu:
tc qdisc add dev eth0 parent 1:1010 handle 1010:0 sfq perturb 10
rozdeleni na ip adresy:
tc filter add dev eth0 parent 1:0 protocol ip handle 10 fw flowid 1:1010
pribrzdeni uploadu: (eth0 internet eth1 localni sit)
iptables -t mangle -A PREROUTING -d 192.168.1.10 -s ! 192.168.1.0/24 -j MARK --set-mark 10
eth--+----A-------AA | | | | | +--------AB | +----B-..... ....P.S. Ja vetsinou pouzivam tridy tri: jednu pro male packety, ssh a VOIP(sem padaji i vsechny sitove hry, protoze maji male packety), druhou pro normalni provoz (vsechno krome ostatnich dvou trid) a treti pro mene podstatne sluzby (DC, dlouhe prenosy,...). Priority maji v udedenem poradi. V brzke dobe uvazuju o rozdeleni prvni tridy na dve a vycleneni VOIP do samostatne tridy. Radek
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.