Como compartir la conexion a Internet con otras computadoras desde un servidor Linux.

Daniel nos cuenta:

No es muy inteligente la forma que comparto mi conexión a internet entre mis dos computadoras: Desconecto el cable RJ45, proveniente desde el modem ADSL, de la tarjeta de red de una de las computadoras y lo conecto en la tarjeta de red de la otra. Obviamente no es posible utilizar internet en forma simultánea por la dos computadoras de esta manera.

Pero existe un método denominado “IP Masquerade” que es la forma más económica de compartir una conexión a internet entre dos computadoras sin utilizar dispositivos especiales como router o hub para montar redes LAN.

Utilizando Ethernet, el hardware necesario es el siguiente: Una tarjeta de Ethernet en cada computadora e interconectas por cable de comunicación RJ45 que tiene un par específico de cables intercambiados. Esto forma una red local (LAN) entre estas dos computadoras. Una de las computadoras debe tener un tarjeta de red adicional conectada al modem ADSL para conectar esta red local a internet.

Finalmente este arreglo debe ser configurado para que funcione, propiamente esto se llama “IP Masquerade”

http://www.e-infomax.com/ipmasq

Despúes logre instalar Debian en mi segunda computadora quiero configurar “IP masquerade” y parece no ser sencillo. Entonces aquí publicaré mis avances y mis dudas cuando comience a realizar proceso Gracias

Daniel Lenz

***************

Querido Daniel, has elegido un tema sumamente importante, interesante y a la vez complicado. Por otro lado me hace muy feliz que hayas elegido instalar Debian, ya que es mi sistema favorito ;-)

voy a intentar ayudarte a dar tus primeros pasos con la configuracion, y por su puesto me gustaria que vayas posteando aqui tu solucion, ya que creo que hay varias formas de hacerlo, cada cual con su pro y su contra.

El proposito de realizar IP Maquerading es permitir a maquinas con direcciones IP privadas, no ruteables en tu red interna, acceder a Internet a travez de la maquina que esta haciendo “masquerading” (enmascaramiento). El trafico desde tu red privada destinado hacia Intenet debe ser manipulado para que las respuestas sean ruteables devuelta hacia la maquina que hace el pedido. Para poder hacer esto, el kernel debe modificar la direccion “source IP” (o IP fuente) de cada paquete de forma que cada respuesta sea ruteada devuelta a este, en vez de a la direccion IP privada que hizo el pedido, lo cual es imposible en la Internet. Linux usa “Connection Tracking” (conntrack) para mantener la pista de cuales conexiones pertences a cual maquina y rerutear cada paquete de retorno de la forma correcta. El trafico saliendo de tu red privada es entonces “masqueraded” (enmascarado) como si se hubiera originado desde la maquina gateway (el servidor donde entra directamente la linea de Internet ). Este proceso es referido en la documentacion de Microsfot como Internet Connection Sharing.

Esto puede ser realizado con una simple regla de “iptables”, la cual puede se un poco distinta segu la configuracion de la red.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

El comando de arriba (va en una sola linea) asume que tu direccion privada es 192.168.0.0/24 y que tu dispositivo que se conecta a internet es ppp0. (ppp zero)

Herramientas: Hay muchas herramientas disponibles para ayudar a construir un completo firewall sin un conocimiento intimo de iptables. Para herramientas GUI, “Firestarter” is muy famoso y facil de usar, y “fwbuilder” es muy potentes y lucira familiar a un administrador quien ha usado un firewall comercial tipo Checkpoint FireWall-1. Si prefiere la linea de comandos con archivos de configuracion de texto plano, “Shorewall” es una solucion muy potente para ayudar a configurar un firewall avanzado para cualquier red. Si tu red es relativamente simple, o si no tienes una red, “ipkungfu” deberia darte un firewall funcionando “out of the box” con cero configuracion por parte del usuario, y te permitira facilmente establecer un firewall mas avanzado con una edicion simple y bien documentada. Otra aplicacion interesante es “fireflier”, el cual es diseñado para ser una aplicacion “de escritorio”, y se comporta como muchos firewall interactivos similares a las aplicaciones Windows.

*Traducido de la guia: Ubuntu Server Guide *

Yo particularmente me he inclinado a usar simplemente el comando “iptables” y a escribir un script que me configura el firewall y me permite compartir la conexion a internet con las otras computadoras internas. Por ejemplo, Este sitio esta hosteado en una PC con Debian Etch, que esta detras de otra maquina que tambien usa Linux y que me sirve de firewall. Lo que se necesita para lograr este esquema es forwardear los puertos necesarios hacia la maquina que provee los servicios, pero bueno, eso lo dejamos para otro post.

Simplemente, he seguido al pie de la letra el siguiente howto:

http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/

Sebastián Emilio Narváez Linux — Land of the freedom, home of the brave.