Poder compartir tu conexión de internet usando cualquier distro de GNU/Linux es muy útil cuando no dispones de un enrutador en ese momento en particular, y aunque distribuciones como Ubuntu permiten hacer de forma automática atraves de sus gestor de conexiones y tambien algunas aplicaciones graficas como
firestarter facilitan esta tarea de forma rápida es muy importante saber usar iptables que viene instalado por omisión en la mayoria de las distribuciones por lo cual no hay necesidad de instalar paquetes adicionales. A continuación vamos a detallar cada uno de los pasos, pero antes vamos a detallar los requisitos previos para llevar a cabo la configuración:
Requisitos:
- Gnu/Linux
- iptables
- 2 interfaces de red ethernet
Con respecto al gráfico podemos observar eth0 como la interfaz la cual posee la conexion a internet, y eth1 por la cual podemos conectar todos los equipos a los cuales vamos a habilitar la salida a internet, suponiendo que la dirección de red local esta en el rango 192.168.0.0 con mascara 255.255.255.0 donde va a estar conectada eth1 ejecutamos los siguientes comandos en el terminal:
Limpiamos todas las reglas previas del iptables:
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
Compartimos el internet en eth0:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Permitimos conexiones entrantes desde el rango de red 192.168.0.0/24 hacia eth1
iptables -A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
Habilitamos el forward entre eth1 y eth0 y viceversa:
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
Finalmente activamos el forwarding en el kernel
echo 1 > /proc/sys/net/ipv4/ip_forward
NOTA: Para que lo demas computadores puedan salir a internet es necesario colocar como puerta de enlace la direccion ip que tiene la interfaz eth1 en el "Router Linux".