> > INTENET=eth1
> > MAXIMO=120kbit
> >
> > # Borrar reglas anteriores de bandwith shaping
> > tc qdisk del dev $INTERNET root
> >
> > # Crear el "disco" principal
> > tc qdisk add dev $INTERNET \
> >   root handle 1:0 htb default 15
> >
> > # Agregar la clase encargada de distribuir el
> bandwith
> > tc class add dev $INTERNET \
> >   parent 1:0 classid 1:1 htb rate $MAXIMO
> >
> > # Limitar el ancho de banda de cada máquina
> > tc class add dev $INTERNET \
> >   parent 1:1 classid 8:1 htb rate 32kbit ceil
> $MAXIMO
> > iptables -I OUTPUT -t mangle -o $INTERNET \
> >   --source 192.168.0.1 -j MARK --set-mark 1
>
> y estas reglas te andaban? en la interfaz internet
> se supone que la ip
> de la lan esta enmascarada, no sabe nada de
> 192.168.0.*
>

Sí, lo probé y funcionaba.

Recuerdo además haber leído en la documentación de
iptables que éste es capaz de recordar de qué IP
provenía el paquete antes de enmascararlo. De hecho
así es como luego puede devolver los paquetes a la IP
correcta cuando ingresan de afuera por una conexión
enmascarada, al menos en el caso de TCP.

Hice pruebas de hacer una descarga con Flashget (no
conocía FDM) (ambas máquinas Windozas, no tenía otra
cosa a mano) con 10 partes concurrentes en uno, y 1
sola parte en otro, y ambos bajaban a 59 +/- 4 kbps
(la conexión era de 128 kbps). Esto me da la seguridad
de que funcionaba bien, ya que además cuando quitaba
las reglas de bandwith shaping la primer máquina (10
partes concurrentes) se comía a la segunda y no le
dejaba descargar -bajaba pero a duras penas y un
lamentable 1/2 kbps, promedio).


Lo que vos dices es una bajada, que es facil limitarlo, entonces
interprete mal tu script, -o $INTERNET yo pense que era el upload a
internet, no descarga.
En los scripts que vi suelen llamar $INIF y $EXTIF, para evitar estos
malentendidos.
Saludos.

Responder a