PDF de programación - Limitar el ancho de banda COMO

Imágen de pdf Limitar el ancho de banda COMO

Limitar el ancho de banda COMOgráfica de visualizaciones

Actualizado el 10 de Marzo del 2020 (Publicado el 5 de Febrero del 2017)
509 visualizaciones desde el 5 de Febrero del 2017
77,2 KB
20 paginas
Limitar el ancho de banda COMO

Tomasz Chmielewski

Autor

tch@metalab.unc.edu

Jose M. Fernández Navarro

Traductor

elzo@iespana.es

En este documento se describe cómo configurar su servidor bajo Linux para limitar el
ancho de banda de las descargas o del tráfico entrante y cómo usar su conexión a
Internet de una manera más eficiente.

1. Introducción

El propósito de esta guía es proporcionar una solución sencilla para limitar el tráfico entrante evitando
así que los usuarios de nuestra LAN consuman todo el ancho de banda de nuestra conexión a Internet.

Esto resulta útil cuando nuestra conexión es lenta o nuestros usuarios suelen descargar toneladas de mp3s
y las iso de las últimas distribuciones de Linux.

1.1. Nuevas versiones de este documento

Siempre puede ver la última versión de este documento en la World Wide Web en la URL
http://www.linuxdoc.org.

Las nuevas versiones de este documento también se colocarán en varios sitios web y FTP de Linux,
incluyendo la página del LDP en http://www.linuxdoc.org.

1

1.2. Rechazo de responsabilidad

Limitar el ancho de banda COMO

Ni el autor ni los distribuidores ni cualquier otro contribuyente a este COMO se hacen de manera alguna
responsables de los daños físicos, económicos, morales o de cualquier otra índole en el que se haya
podido incurrir a partir de las sugerencias de este texto.

1.3. Copyright y licencia

Este documento es copyright 2001 de Tomasz Chmielewski y se encuentra publicado bajo los términos
de la GNU Free Documentation License, que se incluye como referencia.

1.4. Retroalimentación y correcciones

Si tiene cualquier pregunta o comentario sobre este documento póngase en contacto con Tomasz
Chmielewski en tch@metalab.unc.edu (mailto:tch@metalab.unc.edu). Cualquier sugerencia o crítica será
bienvenida. Si encuentra algún fallo o errata en este documento (y encontrará muchos porque el inglés no
es mi lengua materna) hágamelo saber para que pueda corregirlo en la siguiente versión. Gracias.

1.5. Gracias

Me gustaría darle las gracias a Ami M. Echeverri lula@pollywog.com quien me ayudó a convertir el
COMO a SGML y a corregir algunos errores. También quiero darle las gracias a Ryszard Prosowicz
prosowicz@poczta.fm por sus útiles sugerencias.

2. Antes de que empecemos

Imaginemos la siguiente situación:

• Disponemos de una conexión a Internet por módem de 115,2 kbits/s ppp (115,2/10 = 11,5 kbytes/s).

Nota: con conexiones eht0 (tarjeta de red) dividiríamos 115,2 por 8; con ppp lo dividimos por 10 a
causa de los bits de inicio/parada (8 + 1 + 1 = 10).

• Tenemos algunas máquinas en una LAN y sus usuarios llevan a cabo enormes descargas todo el

tiempo.

• Queremos que las páginas web se carguen rápido, no importa cuántas descargas se estén llevando a

cabo.

• Nuestra interfaz de Internet es ppp0.

• Nuestra interfaz de la LAN es eth0.

• Nuestra red es 192.168.1.0/24

2

2.1. Lo que necesitamos

Limitar el ancho de banda COMO

Lo crea o no, modificar el tráfico entrante es una tarea sencilla y no tiene que leer toneladas de libros
sobre enrutado o algoritmos de encolado.

Para hacer que funcione necesitamos al menos el proxy Squid; si queremos afinar en su configuración
tendremos que familiarizarnos con ipchains o iptables y CBQ.

Para comprobar los resultados podemos usar IPTraf.

2.2. ¿Cómo funciona?

Squid es probablemente el servidor proxy HTTP más avanzado disponible para Linux. Puede ahorrarnos
a ahorrar ancho de banda de dos maneras:

• La principal es una característica común a todos los servidores proxy -- guardan las páginas

descargadas, las imágenes y otros objetos en memoria o en un disco. Por esto, si dos personas solicitan
la misma página no se descargará de Internet sino del proxy local.

• Aparte del cacheado normal, Squid dispone de una prestación especial conocida como [pools: colas?]

con retraso. Gracias a las [pools] con retraso es posible limitar el tráfico de internet de una manera
razonable dependiendo de las llamadas ‘palabras mágicas’ existentes en cualquier URL. Por ejemplo,
una palabra mágica podría ser ’.mp3’, ’.exe’ o ’.avi’, etc. Cualquier parte distintiva de una URL (como
.avi) puede definirse como una palabra mágica.

Con eso podemos decirle a Squid que descargue este tipo de archivos a una velocidad específica (en
nuestro ejemplo, será a 5 kbytes/s). Si los usuarios de nuestra LAN descargan archivos al mismo tiempo
lo harán a 5 kbytes/s entre todos, dejando así ancho de banda suficiente para las páginas web, el correo,
las news, el irc, etc.

Evidentemente, Internet no se usa únicamente para descargar archivos a través de páginas web (http o
ftp). Más adelante veremos cómo limitar el ancho de banda para Napster, Realaudio y otras posibilidades.

3. Instalar y configurar el software necesario

Aquí explicaremos cómo instalar el software necesario de forma que podamos limitar el ancho de banda
y observar su uso.

3

3.1. Instalar Squid con la prestación delay pools

Limitar el ancho de banda COMO

Como mencioné antes, Squid tiene una prestación que se conoce como delay pools y que nos permite
controlar el ancho de banda de bajada. Desgraciadamente, en la mayoría de las distribuciones Squid
viene sin esa característica.

Así que si tiene Squid ya instalado siento desanimarle pero tendrá que desinstalarlo e instalarlo de nuevo
con las delay pools activadas de la manera que explico más adelante.

1. Para obtener un mejor rendimiento de nuestro proxy Squid lo mejor es crear una partición aparte

para su caché y llamarla /cache/. Su tamaño debería ser de alrededor de 300 megabytes dependiendo
de sus necesidades.

Si no sabe cómo crear una partición puede crear el directorio /cache/ en su partición raíz pero el
rendimiento de Squid podrá disminuir notablemente.

2. Añadimos un usuario ’squid’ seguro:

# useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1

Nadie puede entrar en el sistema como squid, ni siquiera root.

3. Descargamos las fuentes de Squid de http://www.squid-cache.org

Cuando estaba escribiendo este COMO la última versión era Squid 2.4 estable 1:

http://www.squid-cache.org/Versions/v2/2.4/squid-2.4.STABLE1-src.tar.gz

4. Desempaquetamos todo en /var/tmp:

5. # tar xzpf squid-2.4.STABLE1-src.tar.gz

6. Compilamos e instalamos Squid (todo va en una sola línea):

# ./configure --prefix=/opt/squid --exec-prefix=/opt/squid
--enable-delay-pools --enable-cache-digests --enable-poll
--disable-ident-lookups --enable-truncate --enable-removal-policies

# make all

# make install

4

3.2. Configurar Squid para poder usar la prestación de las delay
pools

Limitar el ancho de banda COMO

1. Configuramos nuestro archivo squid.conf (localizado en /opt/squid/etc/squid.conf):

#squid.conf
#Todas las opciones de este archivo se encuentran muy bien documentadas en el
#propio squid.conf así
#como en http://www.visolve.com/squidman/Configuration%20Guide.html

#
#Los puertos por los que escuchará nuestro Squid.
http_port 8080
icp_port 3130
#los cgi-bin no se cachearán.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#La memoria que usará Squid. Bueno, Squid usará mucha más que ésa.
cache_mem 16 MB
#250 significa que Squid usará 250 megabytes de espacio en disco.
cache_dir ufs /cache 250 16 256

#Lugares en los que irán los archivos de bitácora de Squid.
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log
#Cuántas veces rotar los archivos de bitácora antes de borrarlos.
#Acuda a la FAQ para más información.
logfile_rotate 10

redirect_rewrites_host_header off
cache_replacement_policy GDSF
acl localnet src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 443 210 119 70 20 21 1025-65535
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT
http_access deny all
maximum_object_size 3000 KB
store_avg_object_size 50 KB

#Configure esto si quiere que su proxy funcione de manera transparente.
#Eso significa que por lo general no tendrá que configurar todos los
#navegadores de sus clientes, aunque tiene algunos inconvenientes.
#Si deja esto sin comentar no pasará nada peligroso.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on

5

Limitar el ancho de banda COMO

httpd_accel_uses_host_header on

#Todos los usuarios de nuestra LAN serán vistos por los servidores web
#externos como si usasen Mozilla en Linux. :)
anonymize_headers deny User-Agent
fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) Gecko/20011122

#Para acelerar aún más nuestra conexión ponemos dos líneas similares a las
#de más abajo. Apuntarán a un servidor proxy [parent] que usará nuestro propio
#Squid. No olvide cambiar el servidor por uno más rápido para usted.
#Puede utilizar ping, traceroute y demás herramientas para comprobar la
#velocidad. Asegúrese de que los puerto http e icp son los correctos.

#Descomente las líneas que comienzan por "cache_peer" de ser necesario.
#Éste es el proxy que va a usar para todas las conexiones...
#cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default

#...excepto para las direcciones e IPs que comiencen por "!".
#No es buena idea usar un mayor
#cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1

#Esto resulta útil cuando queremos usar el Cache Manager.
#Copie cachemgr.cgi al cgi-bin de su servidor web.
#Podrá acceder a él una vez lo haya hecho introduciendo en un navegador
#la dirección http://su-servidor-web/cgi-bin/cachemgr.cgi
cache_mgr your@email
cachemgr_passwd secret_password all

#Éste es el nombre de usuario con el que trabajará nuestro Squid.
cache_effective_user squid
cache_effective_group squid

log_icp_queries off
buffered_logs on

#####DELAY POOLS
#Ésta es la parte más importante para configurar el tráfico entrante con
#Squid. Para una descripción detallada acuda al archivo squid.conf o a la
#doc
  • Links de descarga
http://lwp-l.com/pdf2293

Comentarios de: Limitar el ancho de banda COMO (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad