You are on page 1of 14

HOWTO-balancear carga de red sobre dos ISP

Israel G. Otura linux[arroba]otura[punto]net


v0.01, 19 01 2005


Este HOWTO explica los pasos para balancear la carga de red sobre
dos interfaces conectados a Internet.



1. INTRODUCCIN 2
1.1 Copyright 2
1.2 Limitacin de responsabilidad 3
1.3 Reconocimientos y agradecimientos 3
2. BALANCEO DE CARGA DE RED ENTRE DOS ENLACES A ISPS 5
2.1 Configuracin de los routers 5
2.2 Instalacin del sistema operativo 6
2.3 Instalacin de paquetes adicionales 8
2.4 Configuracin de los interfaces Ethernet 9
2.5 Creacin del script de configuracin de rutas 10
2.6 Automatizando la carga del script 11
2.7 Parametrizando la cach de rutas 11
2.8 Configurar clientes 12
3. COSAS PENDIENTES 13
4. MS LECTURAS 14
1. Introduccin
Si tienes 2 conexiones a Internet en tu red lo mas probable es que no les saques todo el
partido posible.
En este HOWTO se explica como conIigurar un Linux de modo que actue como router
y distribuya las conexiones a Internet de Iorma mas o menos equitativa entre tus
enlaces.
La solucion tipica a este problema consistia en conIigurar la mitad de los equipos de una
red con un gateway y la otra mitad con otro. Esto presenta los siguientes problemas:
No posibilita la tolerancia a Iallos. Si perdemos un enlace, los equipos
conectados a dicho enlace perderan conectividad con Internet.
No permite el aprovechamiento total del ancho de banda. Si tenemos dos
enlaces ADSL de 4 Mbps, aunque seamos los unicos usuarios en ese momento
solo podremos aprovechar 4Mbps y no los 8 Mbps que tenemos.
El reparto no es equilibrado. Podria ocurrir que un enlace Iuese compartido por
20 usuarios y otro por uno o incluso por ninguno. Asi habria 20 usuarios
compartiendo 4 Mbps y los otros 4 Mbps se desaprovecharian.
Todo este HOWTO se basa en la conIiguracion con la que se han hecho las pruebas.
Esta conIiguracion consiste en:
Una red de area local a Fast Ethernet con unos 100 equipos conectados a ella.
2 conexiones a Internet ADSL 4096/300 Mbps, contratadas con distintos
proveedores y conectadas a la red local por medio de routers (Zyxel
concretamente, pero no es relevante).
Un equipo i386 con procesador Pentium Celeron a 433 MHz, 256 MB de RAM
y un disco duro de 4GB. El equipo cuenta tambien con 3 tarjetas de red: 2 3Com
PCI 3c905B Cyclone 100BaseTx y una RealTek RTL-8029. tambien sera
necesario un lector de CD-ROM para la instalacion del sistema operativo.
Este HOWTO explica como implementar el balanceo sobre una SuSE 9.2. Se ha
probado con otras distribuciones de Linux (Debian 3.0r2, Mandrake 10.0, SuSE 9.1,.)
pero por unos u otros motivos el proceso se complicaba (habia que recompilar Kernel o
cosas similares).
En ningun caso esperes de este HOWTO que te explique el por que de las cosas. Aqui
solo explicamos los comos. Si estas interesado en proIundizar, te recomiendo el
HOWTO-Linux Advanced Routing and TraIIic Control (Encaminamiento avanzado y
control de traIico en Linux) que puedes encontrar en http://lartc.org.

1.1 Copyright
(c) 2005 Israel G. Otura
Este HOWTO puede reproducirse total o parcialmente, sin cargos, sujeto a las
siguientes restricciones:
La nota sobre los derechos de autor y esta nota sobre los permisos debe
mantenerse tal cual en todas las copias, completas o parciales.
Cualquier traduccion o trabajo derivado de este debe ser aprobado por escrito
por parte del autor antes de su distribucion.
Si se distribuyera una parte de este trabajo, tendrian que incluirse las
instrucciones necesarias y un medio para obtener la version completa de este
manual.
Pueden reproducirse pequeos extractos como ilustraciones para revisiones o
citas en otros trabajos, sin la inclusion de este permiso, siempre que se
proporcione una reIerencia apropiada. Se podrian hacer excepciones a estas
reglas si se persigue un Iin academico. Si ese es el caso, pongase en contacto con
el autor. Estas restricciones han sido creadas para protegernos a nosotros como
autores, y, en ningun caso, para poner trabas a los lectores y educadores. Todo el
codigo Iuente de este documento (junto con el SGML en que Iue escrito el
documento) se acoge a la licencia GNU, disponible via FTP anonimo en el
archivo de GNU.
1.2 Limitacin de responsabilidad
Usa la inIormacion contenida en este documento bajo tu propio riesgo. El autor declina
cualquier responsabilidad por los contenidos del mismo. El uso de los conceptos,
ejemplos y/u otros contenidos del documento se realizara siempre bajo tu
responsabilidad.
Todos los derechos de copia (Copyrights) son propiedad de sus propietarios legitimos,
salvo que se especiIique lo contrario. El uso de un termino en este documento no debe
considerarse como un intento de aIectar a la vigencia de ninguna marca comercial o
marca de servicio.
Se recomienda realizar una copia de seguridad de tu sistema antes de poner en practica
cualquiera de los procedimientos explicados en este documento.
1.3 Reconocimientos y agradecimientos
Se lo merecen los que siguen (sin un orden particular):
Pio Sierra (por dar la tabarra con la dichoso SuSE, las cosas Open y demas...)
Jose NetSkaven` (por dar la tabarra sin mas... y por ponerme sobre las pistas
adecuadas)
La gente de #SuSE en irc-hispano.org (Solusan, Sharek, univac, nyman, GuraDXPU,
chakal`-`...) (por intentar echar una mano siempre y por conseguir echar una mano
cuando han podido, que no han sido pocas veces)
A Bert Hubert, responsable de lartc.org, asi como a los autores de las diversas secciones
del HOWTO-lartc.
Tambien es justo agradecer a Siconet Ingenieros que hayan creado la necesidad y puesto
los medios y recursos a mi alcance.
Si crees que deberias estar aqui y no estas, o estas y crees que no deberias estar,
enviame un mensaje a linux|arroba|otura|punto|net.
2. Balanceo de carga de red entre dos enlaces a ISPs
A partir de aqui entramos en materia. Lo primero, un esquema para tener una vision
global de lo que vamos a hacer y de que red es cada una.
RED 3
192.168.100.0/24 NTERNET
RED 2
192.168.1.0/24
RED 1
192.168.12.0/24
ROUTER2
BALANCE
Equipo 1
Equipo3
Equipo2
ROUTER1
P: 192.168.100.10
MASK: 255.255.255.0
GW: 192.168.100.1
P: 192.168.100.11
MASK: 255.255.255.0
GW: 192.168.100.1
P: 192.168.100.12
MASK: 255.255.255.0
GW: 192.168.100.1
Eth0: RealTek RLT-8029
P: 192.168.100.1
MASK: 255.255.255.0
Eth1: 3Com 3c905B
P: 192.168.12.90
MASK: 255.255.255.0
Eth2: 3Com 3c905B
P: 192.168.1.90
MASK: 255.255.255.0
P: 192.168.1.1
MASK: 255.255.255.0
P: 192.168.12.1
MASK: 255.255.255.0
P Pblica 1
P Pblica 2

Obviamente este esquema es el que soluciona nuestro problema concreto de
direccionamiento y de conectividad interna. Es muy probable que tengas que adaptarlo
para cumplir las necesidades y requerimientos de tu caso especiIico. Para ello necesitas
conocimientos basicos sobre direccionamiento IP que puedes obtener leyendo otros
HOWTOs sobre esta tematica como los que puedes encontrar en
http://es.tldp.org/htmls/comos.html.
Resumiendo, nuestro objetivo es conseguir que cuando un equipo haga una conexion a
Internet, esta se realice utilizando el ROUTER1, la siguiente por el ROUTER2, la
siguiente de nuevo por el 1 y asi sucesivamente.
Dicho esto, manos a la obra.
2.1 Configuracin de los routers
La conIiguracion de los routers no tiene mayor misterio. Tan solo debes conIigurar
ROUTER1 con la direccion IP 192.168.12.1 y la mascara 255.255.255.0 y ROUTER2
con la IP 192.168.1.1 y la misma mascara.
Ademas, debes aadir en sus tablas de rutas estaticas la ruta a la red 192.168.100.0, a la
que llegaran ROUTER1 por 192.168.12.90 y ROUTER2 por 192.168.1.90.
Tambien es recomendable que conIigures cualquiera de ellos como servidor DHCP para
Iacilitar la conIiguracion automatica del equipo BALANCE durante su instalacion.
Todas estas conIiguraciones se llevan a cabo de Iorma distinta en cada modelo de router
por lo que tendras que acudir a la documentacion del tuyo para llevarlas a cabo.
Otra posibilidad es que dejes la conIiguracion de tus routers tal cual esta y que vayas
haciendo el cambio de direcciones por tu cuenta a lo largo del HOWTO, pero si no
tienes demasiado claro como Iunciona todo esto te puedes liar un poco.
2.2 Instalacin del sistema operativo
Como he mencionado antes, la implementacion que vamos a llevar a cabo en este
HOWTO se basa en un SuSE 9.2 por motivos de sencillez.
Asi, lo primero que tendremos que hacer es instalar dicho sistema operativo en la
maquina.
Para ello debemos descargar la ISO del CD de instalacion. Esta la podemos obtener de
Itp://Itp.rediris.es/sites2/Itp.suse.com/pub/suse/i386/9.2/iso/ SUSE-Linux-9.2-mini-
installation.iso. Este es uno de los mirrors espaoles de SuSE, si la descargas desde otro
lugar busca en www.suse.com tu mirror mas cercano.
Una vez la hayas descargado grabala en un CD y arranca el equipo que hara las veces de
router con el mismo.
En la ventana del gestor de arranque pulsa F3 y selecciona FTP. Como servidor
conIigura Itp.rediris.es (130.206.1.5) y como Directory
/sites2/Itp.suse.com/pub/suse/i386/9.2/. Al igual que ocurria con la imagen del CD de
arranque, si estas en un lugar que no sea Espaa debes consultar en www.suse.com el
mirror mas cercano. Cuando hayas conIigurado estos dos parametros, pulsa OK.
Si lo deseas puedes pulsar F4 y seleccionar Espaol como idioma. Si tienes soltura con
el ingles no te lo recomiendo, de este modo minimizas la cantidad de archivos que se
instalan al no instalar idiomas adicionales.
Selecciona Installation con los cursores y pulsa Intro.
Cuando cargue el sistema de instalacion graIico sigue estos pasos. Selecciona el idioma
|Englis(US)| y pulsa Accept. Si la maquina ya tuviese una instalacion previa de Linux
te aparecera un cuadro advirtiendote de este aspecto. Selecciona New Installation y
pulsa OK.
En las conIiguraciones de instalacion (Installation Settings) conIirma que se crea
espacio en una particion swap para la memoria de intercambio (unos 244 MB es
adecuado).
Haz clic sobre SoItware para modiIicar el soItware que se va a instalar y selecciona la
opcion Minimun System.
Cambia la zona horaria (Time Zone) |Region: Europe, Time Zone: Spain, Hardware
Clock set to UTC| y la distribucion del teclado (Keyboard Layout) |Spanish|.
Una vez hayas conIigurado todos estos parametros pulsa Accept y en el cuadro de
conIirmacion pulsa Install.
En este momento empezara el proceso de instalacion desde la red. Esta instalacion
descarga aproximadamente unos 360 MB y la duracion de la misma dependera en gran
medida del ancho de banda de tu conexion.
Obviamente esta instalacion podria depurarse mucho mas seleccionando los paquetes a
instalar de Iorma manual, pero considero que la optimizacion no es el objeto
Iundamental de este HOWTO, al menos en esta version.
Una vez Iinalice la copia de Iicheros se reiniciara el sistema. Durante el reinicio debes
sacar el CD de instalacion de la unidad o cuando reinicies volveras al gestor de
arranque. Si te ocurre esto, tan solo tienes que seleccionar Boot Irom hard disk (la
opcion por deIecto) y pulsar Intro.
Tras arrancar debes establecer la contrasea de . Este es el super-usuario del
sistema. No olvides la contrasea y no pongas ninguna trivial. Escribela en los dos
campos y pulsa Next. Para desplazarte entre campos pulsa TAB.
La siguiente pantalla es la de Network ConIiguration. En esta has de desactivar el
Firewall. Para ello, selecciona Enabled pulsando TAB y pulsa Intro.
En Network InterIaces tan solo necesitas un interIaz conIigurado, puede ser con DHCP
si lo deseas y establecer el nombre de Host. Para conIigurar el nombre de Host
selecciona Network InterIaces con la tecla TAB y pulsa Intro. En la pantalla de Network
Cards ConIiguration, pulsa TAB hasta seleccionar las Change y pulsa Intro. Pulsa TAB
hasta seleccionar Edit y pulsa Intro en la siguiente pantalla.
Ahora pulsa TAB hasta seleccionar Host name and name server y pulsa Intro. ConIigura
el nombre del host que desees, asi como el nombre del dominio y quita la marca de
Change host name via DHCP.
Ve hasta Ok con el TAB y pulsa Intro.
Pulsa TAB otra vez hasta situarte en Routing y pulsa Intro. Marca la casilla Enable IP
Forwarding y ve hasta OK. Pulsa Intro.
Vuelve hasta Next con el TAB y pulsa Intro y despues hasta Finish con el TAB y pulsa
Intro.
Deberias estar en la pantalla de Network conIiguracion. Ve hasta Next con el TAB y
pulsa Intro. En este momento se escribira tu conIiguracion de red.
Ve hasta Next y pulsa Intro para probar la conexion a Internet. Esto es importante para
el siguiente paso, la actualizacion desde Internet. Si este test Iallase seria buena idea que
volvieses a la conIiguracion de red y la corrigieses. Si tiene exito, muevete hasta Next y
pulsa Intro.
Aparecera ante ti un dialogo preguntandote si deseas llevar a cabo la actualizacion on-
line (Run Online Update). Deja marcada la casilla del Yes y pulsa Intro. Esto actualizara
los paquetes que tienes instalados a sus ultimas versiones, solucionando asi los mas
importantes Iallos de seguridad.
En la siguiente pantalla puedes escoger el mirror desde el que llevar a cabo la
actualizacion. El que aparece por deIecto es bueno, pero si estas en Espaa lo haras mas
rapido desde Itp://Itp.rediris.es/sites2/Itp.suse.com/pub/suse/. ConIigura esa direccion
como sitio deIinido por el usuario (User-DeIined Location). Una vez seleccionado el
servidor deseado muevete hasta Next y pulsa Intro. El proceso de descarga e instalacion
de actualizaciones comenzara.
Manten la seleccion de paquetes que lleva a cabo YaST, ve hasta el Ok con el TAB y
pulsa Intro para validar tu decision. En este momento se instalaran los parches
seleccionados. Cuando Iinalice el proceso, muevete hasta el Finish y pulsa Intro.
Ahora se escribira toda la inIormacion del sistema en los archivos de conIiguracion
adecuados.
Como metodo de autenticacion (Authentication Method) selecciona Local y pulsa Next.
En la ventana User data puedes pulsar directamente Next, no es necesario que crees un
usuario. ConIirma que es esto lo que deseas pulsando Yes en el dialogo que te
aparecera.
Tras la conIiguracion del sistema aparecera el archivo de Release Notes, leelo y pulsa
Next.
Lo siguiente es conIigurar tu entorno. Tarjetas de sonido, de video, de TV, etc.
Nuestro router no necesita nada de esto, mantenemos las conIiguraciones por deIecto y
pulsamos Next.
Con esto habras Iinalizado la instalacion, pulsa Finish para acceder a la consola del
sistema.
2.3 Instalacin de paquetes adicionales
Inicia sesion como root y ejecuta el comando yast. Desde este programa puedes instalar
paquetes adicionales que necesitaras para conIigurar tu equipo. Obviamente, puedes
elegir otros paquetes que te proporcionen la misma Iuncion.
En la ventana principal de YaST asegurate de tener seleccionado SoItware en el menu
de la izquierda, pulsa TAB y desplazate hasta Install or remove soItware. Pulsa Intro.
Cuando aparezca ante ti la lista de paquetes pulsa TAB hasta llegar a Search y pulsa
Intro.
Escribe y pulsa Intro. Pico es un pequeo editor de texto que te permitira cambiar
las conIiguraciones del sistema. Cuando aparezca el paquete pico, marcalo pulsando la
barra espaciadora (un aparecera ante el).
Vuelve a situarte en Search y pulsar Intro. Esta vez busca . IptraI es un monitor de
traIico sencillo que te permitira comprobar si el balanceo de carga se produce de Iorma
eIicaz. Cuando aparezca ante ti, seleccionalo y pulsa la barra espaciadora.
Para acabar ve hasta Accept y pulsa Intro. Comenzara el proceso de instalacion. Cuando
Iinalice selecciona Finish y pulsa Intro.
Ve hasta Quit y pulsa Intro.
2.4 Configuracin de los interfaces Ethernet
La conIiguracion de los interIaces de red no tiene ningun misterio. El unico aspecto que
debes tener muy en cuenta es que a la hora de deIinir las rutas despues, los interIaces
van asociados a direcciones IP. Asi, si intercambias las IP de dos interIaces es posible
que el sistema no Iuncione posteriormente, salvo que hagas las modiIicaciones
adecuadas en los scripts.
Para conIigurar los interIaces de red inicia sesion como y ve al directorio
/etc/sysconIig/network.
Alli encontraras un archivo al menos con un nombre similar a iIcIg-eth-
XX:XX:XX:XX:XX:XX, donde la secuencia de XX representa la direccion MAC de la
tarjeta de red que tienes conIigurada.
Copia ese archivo como iIcIg-eth0, iIcIg-eth1 e iIcIg-eth2 usando estos comandos y
luego borra el original:
cp ifcfg-eth-XX:XX:XX:XX:XX:XX ifcfg-eth0
cp ifcfg-eth-XX:XX:XX:XX:XX:XX ifcfg-eth1
cp ifcfg-eth-XX:XX:XX:XX:XX:XX ifcfg-eth2
rm ifcfg-eth-XX:XX:XX:XX:XX:XX
Observa que en tu equipo puede haber varios archivos con distintas secuencias de XX,
copia uno de ellos y borralos todos despues.
Edita con un editor de texto (el pico, por ejemplo) los archivos que has creado hasta que
contengan esta inIormacion:
IIcIg-eth0:
BOOTPROTO=static
STARTMODE=auto
IPADDR=192.168.100.1
BROADCAST=192.168.100.255
NETMASK=255.255.255.0
NETWORK=192.168.100.0
IIcIg-eth1:
BOOTPROTO=static
STARTMODE=auto
IPADDR=192.168.12.90
BROADCAST=192.168.12.255
NETMASK=255.255.255.0
NETWORK=192.168.12.0
IIcIg-eth2:
BOOTPROTO=static
STARTMODE=auto
IPADDR=192.168.1.90
BROADCAST=192.168.1.255
NETMASK=255.255.255.0
NETWORK=192.168.1.0
Para editar cada uno de los archivos debes ejecutar el siguiente comando para cada
archivo, reemplazando la X por el numero adecuado:
pico ifcfg-ethX
En la parte inIerior del programa pico puedes ver las teclas que combinadas con el
CTRL te permiten guardar tus datos (CTRLO) y salir del programa (CTRLX).
Una vez tengas esos tres archivos puedes ejecutar estos comandos para que las
conIiguraciones tengan eIecto. Eso si, a partir de ese momento con toda probabilidad,
perderas la conexion a Internet temporalmente.
rcnetwork stop
rcnetwork start
Despues puedes ejecutar este otro comando y comprobar que la conIiguracion es la
correcta:
ifconfig | more
2.5 Creacin del script de configuracin de rutas
Para la conIiguracion de las rutas vamos a crear un script que se cargara en los runlevel
3 y 5, que son los que tienen red.
Ejecuta estos comandos:
echo 201 T1 >> /etc/iproute2/rt_tables
echo 202 T2 >> /etc/iproute2/rt_tables
Para crear este script ve al directorio /etc/init.d y ejecuta pico rutas.
Copia estos comandos en el script:
#!/bin/bash
ip route add 192.168.1.0 dev eth2 src 192.168.1.90 table T2
ip route add default via 192.168.1.1 table T2
ip route add 192.168.12.0 dev eth1 src 192.168.12.90 table T1
ip route add default via 192.168.12.1 table T1
ip route add 192.168.1.0 dev eth2 src 192.168.1.90
ip route add 192.168.12.0 dev eth1 src 192.168.12.90
ip rule add from 192.168.1.90 table T2
ip rule add from 192.168.12.90 table T1
ip route add 192.168.100.0 dev eth0 table T2
ip route add 192.168.12.0 dev eth1 table T2
ip route add 127.0.0.0/8 dev lo table T2
ip route add 192.168.100.0 dev eth2 table T1
ip route add 192.168.1.0 dev eth0 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route del default
ip route add default scope global nexthop via 192.168.1.1 dev eth2 weight 1 nexthop via
192.168.12.1 dev eth1 weight 1
Observa que estas dos ultimas lineas son una sola, tras nexthop via debes escribir todo
seguido 192.168.12.1 dev eth1 weight 1.
Reinicia tu equipo escribiendo reboot en la consola. Cuando vuelvas a arrancar, ejecuta
el siguiente comando:
/etc/init.d/rutas
Es posible que recibas un mensaje de error diciendo:
RTNETLINK answers: No such process
Esto es debido a que la penultima linea del script elimina la ruta por deIecto, que al
arrancar el sistema no existe.
2.6 Automatizando la carga del script
Ahora conIiguraremos el sistema para que el script se cargue automaticamente en los
niveles de ejecucion |runlevel| 3 y 5. Esto se consigue con enlaces simbolicos al script
rutas en los directorios apropiados.
Situate en el directorio /etc/init.d/rc3.d y lista el contenido ejecutando el comando ls
la.
Observa que habra una serie de archivos cuyo nombre tiene esta estructura SXXabc,
donde XX es un numero y abc el nombre de un script. Fijate en el que tiene el numero
mayor y ejecuta este comando sustituyendo las YY por el siguiente numero, es decir por
XX1:
ln s /etc/init.d/rutas SYYrutas
Repite ese comando desde /etc/init.d/rc5.d (observando antes cual es la YY adecuada
para este runlevel).
2.7 Parametrizando la cach de rutas
Si reiniciases ahora tu equipo el router Iuncionaria y balancearia carga, pero en las
conexiones TCP que se prolongasen durante largos periodos (IRC, Messenger, FTP,
telnet, ssh, etc.) te encontrarias con desconexiones cada 10 minutos aproximadamente.
Esto se debe a que SuSE esta conIigurado para purgar la cache de rutas cada 600
segundos.
Para cambiar estas conIiguraciones debes editar el Iichero /etc/sysctl.conI (pico
/etc/sysctl.conf) para aadirle las siguientes lineas:
net.ipv4.inet_peer_maxttl = 200000
net.ipv4.inet_peer_minttl = 200000
net.ipv4.route.secret_interval = 200000
Una vez hecho este cambio si puedes reiniciar tu maquina (reboot) y empezar a
aprovechar tu ancho de banda.
2.8 Configurar clientes
Los clientes no necesitan ninguna conIiguracion especial, salvo una direccion IP de la
red 192.168.100.0/24, la mascara de red 255.255.255.0 y el gateway 192.168.100.1.
Una vez conIigurado eso, le pones los DNS que quieras y a disIrutar!
3. Cosas pendientes
Esta lista contiene temas pendientes y/o mejorables, ademas de cosas que se me ocurre a
mi que se podrian hacer. Obviamente no contiene todos los temas, pero si gran parte de
ellos. Si se te ocurre algun tema nuevo o, mejor aun, si tienes alguno de ellos resuelto,
ponte en contacto conmigo y lo incorporamos al documento.
Incluir una introduccion tecnica sobre comos y porques.
VeriIicar la correccion tecnica de la seccion 2.7 Parametrizando la cache de
rutas, y resolverlo de una Iorma mas elegante, si se puede y procede.
Buscar la Iorma de que estas instrucciones sean mas Ilexibles y accesibles para
cualquier conIiguracion de red (Ethernet, routers USB, modems, mas de 2
enlaces a Internet, etc.)
Buscar la Iorma de que estas instrucciones sean validas para cualquier
distribucion, no solo para SuSE 9.2.
Hacer unos scripts que lo hagan todo por ti y tu solo mires y sonrias.
Hacer un Live-CD con un intuitivo interIaz que preguntando cuatro cosas te
resuelva la papeleta y no se quede a vivir en tu disco duro.
Integrar en alguna implementacion de Iirewall, como SmoothWall, IPCop o si
alguien se anima, pues una propia.

4. Ms lecturas
Para no aburrirte puedes echar un ojo al HOWTO-lartc, y desde ahi, mirar su
bibliograIia y seguir, y seguir.
Encontraras dicho documento en http://lartc.org/howto/.

You might also like