original in en Guido Socher
en to es Pedro Vega
Guido es un fan veterano de Linux. Su pagina Linux se puede encontrar en www.oche.de/~bearix/g/.
Básicamente, IP-Masquerading traduce direcciones IP internas en direcciones IP externas. Este proceso se llama Traduccion de Direcciones de Red (NAT) y Linux hace esto mediante los llamados números de puerto. Desde el exterior, todas las conexiónes parecen haberse originado desde tu máquina Linux. Puedes encontrar un explicación detallada en la edición de Enero.
Existen ciertas aplicaciones que generan paquetes IP de tipo especial, en estos caso IP-Masquerading podría no funcionar aunque la mayoría de las veces funciona. Hay módulos expecíficos que, insertados en el Kernel, permiten a estas aplicaciones funcionar con IP-Masquerading, este es el caso de ICQ, ftp y Quake. En general, los que solo usen HTTP (navegadores web), telnet, ssh o smtp (email) no tendrán ningún problema.
Normalmente suelo hacer backup de /usr/src/linux/.config despues de haber compilado y probado un Kernel. La proxima vez que necesite compilar un Kernel simplemente cargo esta configuracion y ya tengo la configuracion de mi Kernel anterior. Luego es relativamente sencillo configurar pequeños cambios, como los necesarios para IP-Masquerade.
Para usar IP-Massquerade responde Sí a lo siguiente cuando configures el Kernel. Estos son solo los componentes que necesitas para IP-Masquerade, seelecciona cualquier otra opción que necesites para tu configuración especifica.
Vamos a escribir un pequeño script para automatizar la configuración de
IP-Masquerading.
Debes poner el siguiente script en
/etc/rc.d/init.d/ y llamarlo ipmasq. Cambia los permisos
con chmod 755 ipmasq para hacerlo ejecutable.
El script de abajo asume que has usado la dirección IP estática 192.168.0.1
en el interface que conecta a tu red interna (ifconfig eth0 192.168.0.1 netmask 255.255.255.0).
Si has usado una dirección diferente modifica el script.
Esta imagen muestra el plano de la red que estamos usando.
#!/bin/sh echo "Configurando IP masquerading ..." # La gente que todavia utilice windows para navegar tiene que # convertir esto a un fichero de texto UNIX antes de utilizarlo. # # Soporte de masquerading para FTP. /sbin/modprobe ip_masq_ftp # #-------------- # Nota: los modulos que siguen estan comentados de forma que no se cargaran. # Quita el signo de comentario si quieres usar la aplicacion correpondiente # desde tu red interna. # # Soporte de masquerading para RealAudio sobre UDP. #/sbin/modprobe ip_masq_raudio # # Soporte de masquerading para transferencia de ficheros IRC DCC #/sbin/modprobe ip_masq_irc # # Soporte de masquerading para Quake y QuakeWorld # Quake I / QuakeWorld (ports 26000 and 27000) #/sbin/modprobe ip_masq_quake # # Quake I/II/III / QuakeWorld (ports 26000, 27000, 27910, 27960) #/sbin/modprobe ip_masq_quake ports=26000,27000,27910,27960 # # Soporte de masquerading para software de video conferencia CuSeeme #/sbin/modprobe ip_masq_cuseeme # # Soporte de masquerading para software de video conferencia VDO-live #/sbin/modprobe ip_masq_vdolive #-------------- # Importante: Habilita IP forwarding. Esta deshabilitado por defecto # en los Kernels 2.2.x echo "1" > /proc/sys/net/ipv4/ip_forward # # NOTA: Esto es un ejemplo para la direccion de red interna # 192.168.0.x La mascara de subred es 255.255.255.0 o "24" bit # Modifica esto si utilizas una direccion interna diferente. # /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ # #--- fin del ficheroAntes de probarlo asegúrate de configurar todos los ordenadores en red privada de forma que su puerta de enalace (gateway) apunte a la direccion 192.168.0.1 (la máquina Linux con IP-Masquerading). Luego ejecuta el script como root en la máquina Linux con IP-Masquerading. Despues haz un ping desde una de las máquinas de tu red interna a una máquina de internet (p.e. ping 195.53.25.18)
Ahora es el momento de cambiar tu configuración de forma que tu script /etc/rc.d/init.d/ipmasq se ejecute automáticamente cada vez que arranques la máquina Linux con IP-Masquerading. La mejor forma de hacer esto en mi opinión es editar el fichero /etc/rc.d/init.d/network (este fichero debería existir) y ejecutar /etc/rc.d/init.d/ipmasq AL FINAL de la sección start en el fichero init.d/network. Busca una expresión case y luego busca "start)".
Como has visto no es difícil configurar IP-Masquerading. Básicamente se reduce a habilitar IP forwarding y a un par de comandos ipchains. IP-Masquerading es una aplicación muy potente para pequeñas redes caseras, colegios, empresas pequeñas etc...
Para una información completa y detallada recomiendo la lectura de IP-Masquerading mini howto y el IPCHAINS-HOWTO.
Para usar IP-Masqueradig necesitas, claro está, una red perfectamente configurada. Esto no esta cubierto en este artículo. El artículo Redes caseras te proporcionará algo de vocabulario y tanto el Net 3 howto, como el The Network Administrator Guide explican en detalle como construir una red. Tengo planeado escribir a finales de año un artículo sobre redes pero no creo que quieras esperar tanto tiempo :-).