Nefunguje HTB

Dalibor Straka dast na panelnet.cz
Úterý Červenec 13 17:49:42 CEST 2004


On Tue, Jul 13, 2004 at 03:07:03PM +0200, Michal Koblížek wrote:
> Zdravim,
> s timhle problemem se potykam uz docela dlouho - nedari se mi rozjet HTB na
> Debianu.
> Snazil jsem se to nakofigurovat podle clanku na Rootu, ale nejelo mi to. 
> Tak
> jsem si stahl htb.init skript, nadefinoval pravidla a stejne to nefunguje.
> Mam k dispozici 2Mbit linku a tu se (pro jednoduchost) snazim oriznout na
> 512kbit, ale proste to nefunguje. Pritom pokud si dam vypis, tak krasne
> vidim, ze to na tom rohrani je poveseny.
> Pouzivam Debian unstable, kernel vlastni - 2.4.26, moduly (htb, sfq,...)
> nacteny, pravidla skriptem vygenerovany, ale vsechno nefunkcni...
> Jo jeste na tom stroji je FW s maskaradou - nekde jsem cetl, ze to na to 
> muze
> mit vliv. I kdyz by mozna nemelo,protoze ten skript to markuje tcckem 
> (aspon
> myslim).
> Jinak nic jsem nepatchoval, pouzivam vseschno co je k dispozici v unstable
> Debianu.
> 

Nevim jak ostatnim, ale me kristalova koule asi neprosla antispamovou
ochranou.

Jak rozdelujes pakety do trid? Pres u32 clasifier nebo to markujes pres
mangle? Na prichozi traffic z inetu nema maskarada vliv, na odchozi ano.
Protoze odchozi paket prijde na FW, tam se mu prepise zdrojova adresa a
pak dorazi do HTB a to uz vidi jen _verejnou_ adresu tveho routeru.
Opacnym smerem je to v pohode. 

Venuju ti maly jednoduchy prikladek:

start (){
    tc qdisc add dev eth0 root handle 1: htb default 10
    tc class add dev eth0 parent 1: classid 1:1 htb rate 90kbps
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50kbps
    tc class add dev eth0 parent 1:1 classid 1:11 htb rate 20kbps
    tc class add dev eth0 parent 1:1 classid 1:12 htb rate 10kbps
    tc filter add dev eth0 protocol ip parent 1:0 prio 123 \
	u32 match ip dst 1.2.3.4 flowid 1:10
    tc filter add dev eth0 protocol ip parent 1:0 prio 123 \
	u32 match ip dst 1.2.3.5 flowid 1:11
    tc filter add dev eth0 protocol ip parent 1:0 prio 123 \
	u32 match ip dst 1.2.3.6 flowid 1:12
}

stop (){
    tc qdisc del dev eth0 root
    tc filter del dev eth0 pref 123
    }
    
status (){ 
        tc filter show dev eth0
        tc -d -s qdisc show dev eth0
        tc -d -s class show dev eth0
        }

Ale jestli chces rovnou pilotovat boeing, nebudu se vnucovat.
-- Dalibor Straka
P.S. Tccko nemarkuje pakety.


Další informace o konferenci Linux