Comportamiento del HTB-GEN

Imagen de Mirrortech

Forums: 

CORDIAL SALUDO.. a todos los COLABORADORES de este gran GRUPO
Paso a describirles mi inquietud con respecto al ASUNTO.. Antes que nada describo mi red..
Tengo 1 Servidor LINUX en CentOS5.0 el cual hace las funciones de DNS,MAILSERVER,SQUID,DHCP,SAMBA,FIREWALL, este servidor tiene 2 tarjetas de red 1 que esta conectada a la ADSL y la otra que esta conectada a 1 SwitchVLAN en el puerto1..Los cientes son todos Windows...

Instale el control de BW, usando el HTB-GEN.. ya que tengo 2 usuarios que usan programas en Windows como ARES y TORRENT, Que me congestionaban la red enormemente hasta hacer colapsar el SWITCH, Hasta aqui todo bien..

Realice un monitoreo del performance de la red..sobre todo en l oque tiene que ver con el uso del CACHEWEB que tengo al SQUID haciendo tal funcion..y noto que tal cache se descarga a la velocidad restringida a la cual he hecho al usuario.. Me explico.. si al User1 le digo que maximo use 512Kb de BW. pues noto que a esa misma velocidad se descargan las paginas caches desde el Server... Cosa que NO deberia suceder.. pues en el archivo de configuracion del HTB-GEN,alli se especifica que la SEGMENTACION debe ser hacia Internet... Cosa igual me sucede con el WEBSERVER,cuando descargo ADJUNTOS, estos descargan a la velocidad de restriccion..

Las interfaces de red estan supuestamente bien definidas en el archivo del htbgen....

No se si me explique bien..

La pregunta es.. A que se debe tal comportamiento??? Alguna parte para referirme o revisar configuraciones.???

Agradezco me despejen la inquietud..

ATT

[root@servidor

Imagen de Mirrortech

[root@servidor htb-gen.conf
face_down="eth1" # Server LAN iface
iface_up="eth0" # Server INET iface

total_rate_down=4096
total_rate_up=2048

htb_dir="/etc/sysconfig/htb" #htb-init conf directory

prio_ports=80,443,1863

mtu=1500 # link Max Transfer Unit
r2q=10 # quantum=rate*1024/8/r2q

class_parent_down="7000" #the parent(htb.init notation) class of the down iface
class_parent_up="7001" #the parent(htb.init notation) class of the up iface

class_start="7002" #defualt start from 7000 to not interfer with other clases
#this allow about 500 hosts in config, if you need more simply
#put a lower class_start value

iptables_command="/sbin/iptables"
iptables_save_command="/sbin/iptables-save"
iptables_restore_command="/sbin/iptables-restore"
tc_command="/sbin/tc"#!/bin/bash

En el archivo htb-gen-rates.conf

##192.168.1.2 0 64 0 32
##192.168.1.3 0 128 0 64
##192.168.1.4 0 256 0 128

#192.168.127.161 0 256 0 32
#172.1.10.246 0 256 0 32
#192.168.127.162 0 128 0 64
#192.168.127.163 0 256 0 128
#192.168.127.180 0 256 0 128
#192.168.127.173 128 196 0 128
#192.168.127.173 0 256 0 150
192.168.127.181 128 2048 0 512
192.168.127.171 0 1024 0 256
192.168.127.176 256 1124 0 256
192.168.127.168 256 2048 0 512
192.168.127.178 384 1024 0 512

# A whole network, that will fight for the bw,
# we grant at least 50% of the ceil setting manual rate
#10.0.0.1/30 256 512 128 256

# A public IP, dedicated host, we grant the total bw
##200.80.22.2 256 256 256 256

Se me olvidaba comentarles..

Imagen de Mirrortech

Se me olvidaba comentarles.. que el SERVIDOR sirve de GATEWAY con la direccion IP 192.168.127.161 , y el servidor SQUID esta en la misma maquina, pero con 1 interface virtual eth1:3 con direccion IP 192.168.127.190.

!!!!!!!!

ok tu problema es facil mira squid es un proxy cache

Imagen de juandarcy2000

lo cual te ayuda a tener paginas guardadas en cache para ser descargadas desde la pc local, pero ahora viene lo interesante lo que tu quieres es evitar que squid este controlado por el administrador de ancho de banda, si haces eso te metes en un lió, imaginate a un usuario viendo vídeos en youtube, eso no esta en cache pero como el htb no controla el puerto 3128 entonces lo bajara a 4 mb muy bonito tu problema cuando todos estén viendo vídeos. squid tiene una funcion llamada delay_pools, funcionan bien pero limita a todos los usuarios no lo hace por ip y si lo hace aun no se :), por experiencia restringe todo lo que hace un usuario ya que squid generalmente esta bajando las paginas que cambian osea son ciertas cosas las que guarda por ejemplo fotos estáticas etc, los flash no los guarda porque viven en constante cambio, yo te recomendaría que limites la velocidad del squid también, ya que no es un offline cache, si fuera offline cache no importa que busques si están en el server lo ves si no, se baja pero yo probe uno y dan muchos problemas a veces las paginas me cargaban a la mitad y era frustrante, squid es lo ideal pero limitalo, si lo que quieres es probarlo sin limitar entonces es sencillo simplemente en el script que estan las reglas de iptables, ponle en la regla output restrinja todos los puertos excepto el 3128, y pruebalo veras que no da resultado todo va bien pero veras como la gente empieza a usar todo tu ancho de banda y terminaras por limitarlo nuevamente. no creas que squid guarda el 100% de las paginas si fuera así entras a yahoo y siempre mirarias al yahoo de siempre de la semana pasada y eso no es bonito.
y como dicen nadie aprende de cabeza ajena quitate la espinita y pruebalo veras como te vuelves loco además algunos p2p usan el puerto 80 y saldrán a full speed bonito problema el que te quieres meter.

Yo tengo el mismo problema

Hola, has podido solucionar ese inconveniente? entiendo perfectamente tu inquietud ya que tengo asi funcionando, la unica solucion sustentable que encontre en un momento es definir en el htb.conf las dos interfaces de inet y lan como la que va a internet, de esta manera la LAN queda libre, pero aqui al tener la red enmascarada por el mismo squid no podes discriminar el total que va al cache por usuario lo que vuelve a complicar el ancho total disponible, en un momento lei sobre hacer funcionar el squid como tproxy que lo dejaria como bridge no enmascarando las ip pero no pude dar con una buena compilacion, si buscas hay muy poca informacion sobre tproxy pero ahi estaria el camino a la solucion de nuestros males.

Saludos

No restringa el puerto 81 el HTB-GEN

Hola a todos
Pueden ayudarme?, el htb-gen funciona bien, pero tengo una aplicación (videocache) que da servicio de descargas de videos en mi red local a través del puerto 81, como puedo hacer para que el HTB no restringa el ancho de banda de todo el trafico que sale por el puerto 81, puesto que los videos que ya tengo almacenados en mi servidor local siguen viéndose muy lentos.

Ya el tip se dio en el COMO

Imagen de damage

Ya el tip se dio en el COMO de HTB-GEN, deben revisar y mira no el .conf si no el script (espero entiendan) en el script esta la estructura del mismo y están las reglas de iptables y la forma como genera el parent y las colas.
Si tiene algún problema de control a algun servicio en la LAN lo que se debe hacer es un RETURN al puerto(s) especifico(s) y listo por ejemplo para que no me controle lo que el cache tiene almacenado y hay peticiones desde hosts pueden hacer algo así:

iptables -t mangle -I OUTPUT -o eth1 -p tcp --sport 3128 -j RETURN
iptables -t mangle -I OUTPUT -o eth1 -p tcp --dport 3128 -j RETURN

Si quieren hilar mas fino y dar prioridad o hacer QoS, ahi si miren mucho más el script y vean como hacer un mark al puerto especifico.

Solucionado no segmentar el puerto 81 en HTB

Gracias Aldo por darme la solución, había buscado por muchos foros y no me imaginé tener la respuesta aquí en mi país mismo.
Como yo cambié al puerto 81 el videocache, entonces lo que agregué al final del scripts htb-gen.conf es:

iptables -t mangle -I OUTPUT -o eth1 -p tcp --sport 81 -j RETURN
iptables -t mangle -I OUTPUT -o eth1 -p tcp --dport 81 -j RETURN

y ahora todo funciona perfecto.