El mar, 07-10-2008 a las 10:09 -0300, Luciano Ruete escribió: > On Tuesday 07 October 2008 09:35:12 Luciano Ruete wrote: > > On Friday 26 September 2008 11:39:31 Pablo Gentilel wrote: > > > Hola listeros, soy nuevo en la lista y queria pedirles si me pueden > > > ayudar con el siguiente problema. > > > El tema es que quiero controlar el trafico de la lan que administro y > > > decidi hacerlo con HTB, asi que hice todo lo que lei en algunos > > > articulos y no me funciona, para empezar a probar ejecute los siguientes > > > comandos > > > Todo esto que paso a explicar esta hecho en una maquina linux Debian > > > etch kernel 2.6.18.4 que la configure como bridge, esta conectada entre > > > la lan y mi pc, a su vez en el router esta instalado el Squid, por eso > > > uso el port 3128. > > > El inconveniente que tengo es que en definitiva no puedo controlar el > > > trafico, ya que cuando ejecuto tc -s class dev eth0 me muestar que todo > > > el trafico va a parar a la clase por defecto, es como si no se marcaran > > > los paquetes. > > > Alguien me puede dar una mano con esto por favor, gracias > > > > > > eth0 es la placa de red que mira hacia la lan > > > > > > Creo la clase raiz > > > tc qdisc add dev eth0 root handle 1: htb default 30 > > > > > > clase hija para compartir ancho de banda > > > tc class add dev eth0 parent 1 classid 1:1 rate 512kbps ceil 512kbps > > > > > > clase hija que voy a asignar para el trafico http > > > tc class add dev eth0 parent 1:1 classid 1:10 rate 128kbps ceil 256kbps > > > > > > clase hija por defecto > > > tc class add dev eth0 parent 1:1 classid 1:1:30 rate 256kbps ceil 512kbps > > > > > > creo los filtro necesarios > > > > > > tc filter add dev eth0 parent 1: protocol ip handle 1 fw flowid 1:10 > > > > > > marco los paquetes > > > > > > iptables -t mangle -A FORWARD -o eth0 -p tcp --sport 3128 -j MARK > > > --set-mark 1 > > otra cosa que me olvide de mencionar es que la relacion con squid no va a > pasar por FORWARD, tenes: > > PREROUTING->INPUT- [squid] ->OUTPUT->POSTROUTING > > no hay FORWARD.
Exacto, lo más sencillo seria hacer lo sig: iptables -A OUTPUT -t mangle -m tcp -p tcp --dport 80 -m owner --uid-owner proxy -j MARK --set-mark 1 Se entiende? Basicamente marcamos cuando el destino es port 80 y el uid-owner de salida coincida con que es una llamada de squid (user:proxy) ;) Salu2 -- -Pisa Jabber: pisa at lugmen org ar
