Niewiem, moze komus sie to przyda, mam nadzieje, ze czegos tu nie spiepszylem (jakby co poprawie). Problemem, w moim przypadku bylo polaczenie autokonfiguratora HTB Zciecha ze squidem, bo nie dzialalo to jak potrzeba. Ponizej kawalek wygenerowanego kodu z pliku rc.htb:
# INTERFEJS ETH1 (ruch przychodzący)
/sbin/rchtb_tc qdisc add dev eth1 root handle 1:0 htb default 3 r2q 1
# Główna klasa dla eth1
/sbin/rchtb_tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1800kbit ceil 1800kbit
# Podział na pasmo dla łącza internetowego i resztę
/sbin/rchtb_tc class add dev eth1 parent 1:1 classid 1:2 htb rate 496kbit ceil 496kbit
/sbin/rchtb_tc class add dev eth1 parent 1:1 classid 1:3 htb rate 1304kbit ceil 1304kbit prio 9
/sbin/rchtb_tc qdisc add dev eth1 parent 1:3 esfq perturb 10 hash dst
# pasmo priorytetowe dla ICMP, TOS 0x10 (min. delay) oraz wybranego portu 22
/sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:20 htb rate 16kbit ceil 496kbit prio 1 quantum 1500
/sbin/rchtb_tc qdisc add dev eth1 parent 1:20 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 match ip sport 22 0xffff flowid 1:20
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 match ip tos 0x10 0xff flowid 1:20
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 match ip protocol 1 0xff flowid 1:20
# Agnieszka
/sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:21 htb rate 16kbit ceil 496kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev eth1 parent 1:21 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.0.27 flowid 1:21
#Andrzej
...
# transfer serwer->LAN
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 1 parent 1:0 handle 1 fw flowid 1:3
# squid transparent proxy
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 match ip sport 80 0xffff match ip tos 0x00 0xff flowid 1:3
I teraz tak: to co szlo przez port 80 to szlo z predkoscia calego lacza internetowego mimo ograniczenia uzyszkodnikowi transferu, kompletnie bez podzialu. Oczywiscie zapisane pliki przez squida szly sporo szybciej okolo 1300kbps. Ponizej mala poprawka do fragmentu kodu (podziekowania dla supressora):
# Agnieszka
/sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:21 htb rate 32kbit ceil 128kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev eth1 parent 1:21 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.0.27 flowid 1:21
------------------------------------------
# squid transparent proxy
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 match ip sport 80 0xff match ip tos 0x08 0xff flowid 1:3
I to trzeba dodac do pliku squid.conf :
# Ustawienia TOS dla HTB
zph_tos_local 8
zph_tos_peer 0
zph_tos_parent off
I teraz w przykladzie user agnieszka dostal swoje 128kbps, ktorego nie przekroczy w wiekszosci przypadkow (pomijam p2p i np. skype) plus to co jej skapie ze sqiuda ale juz z okolo 1300kbps.
Moj konfig to prawie wszystko z repozytrium testowego, oprocz mrtg. Jak narazie w/w konfig dziala bez problemu i w sumie caly podzial lacza zdaje sie dzialac prawidlowo.