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