[eside-ghost] empezando con qos y tc

Jon Bonilla (Manwe) manwe en aholab.ehu.es
Dom Jul 20 17:26:32 CEST 2008


Hola a todos. He estado echando un ojo a tc porque el p2p en casa no me deja
vivir. El ktorrent y amule son bastante codiciosos y a veces recibir el correo
se puede convertir en una tortura.

Me he hecho un scriptillo de qos siguiendo cosas que he encontrado por google
pero no consigo que me funcione como es debido.

El escenario: Un servidor que corre los servicios de la casa y que además hace
de router y NAT hacia los otros dos ordenadores. eth0 con ip pública y eth1 en
la LAN. Hay una tercera interfaz tap0 para la vpn del curro.

El script de iptables es de lo más sencillo y permisivo:

#! /bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT

iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED  -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE



El resto de reglas afectan al INPUT así que no las pongo.

El script para el qos es muy sencillo aunque un poco más largo así que lo mando
adjunto.


La cosa es que las colas no funcionan porque todo el tráfico que veo es por la
cass 16 que es la de por defecto:

taniquetil:/etc/network/if-up.d# tc -s class show dev eth0
class htb 1:11 parent 1:1 prio 1 rate 20000bit ceil 560000bit burst 1600b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 625000 ctokens: 22321

class htb 1:10 parent 1:1 prio 0 rate 20000bit ceil 560000bit burst 1600b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 625000 ctokens: 22321

class htb 1:1 root rate 560000bit ceil 560000bit burst 1599b cburst 1599b
 Sent 35507791 bytes 62024 pkt (dropped 0, overlimits 0 requeues 0)
 rate 520544bit 119pps backlog 0b 0p requeues 0
 lended: 55162 borrowed: 0 giants: 0
 tokens: -40119 ctokens: -40119

class htb 1:13 parent 1:1 prio 3 rate 120000bit ceil 560000bit burst 1599b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 104166 ctokens: 22321

class htb 1:12 parent 1:1 prio 2 rate 120000bit ceil 560000bit burst 1599b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 104166 ctokens: 22321

class htb 1:15 parent 1:1 prio 5 rate 100000bit ceil 560000bit burst 1600b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 125000 ctokens: 22321

class htb 1:14 parent 1:1 prio 4 rate 120000bit ceil 560000bit burst 1599b
cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 104166 ctokens: 22321

class htb 1:16 parent 1:1 prio 6 rate 60000bit ceil 560000bit burst 1599b
cburst 1599b Sent 35509117 bytes 62027 pkt (dropped 0, overlimits 0 requeues 0)
 rate 520920bit 119pps backlog 0b 3p requeues 0
 lended: 6862 borrowed: 55162 giants: 0
 tokens: -87388 ctokens: -40119



Llevo bastante rato probando cosas y buscando meteduras de pata pero no lo veo.
Puede que tenga algún error de concepto grande o puede que sea una tontería de
haberme equivocado en una línea pero no lo veo. Alguna ayuda por favor?

------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : zzz-qos
Tipo       : application/octet-stream
Tamaño     : 5301 bytes
Descripción: no disponible
Url        : https://listas.deusto.es/mailman/private/eside-ghost/attachments/20080720/b326d909/attachment.obj 


Más información sobre la lista de distribución eside-ghost