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

Responder a