Compartir la conexión con Iptables

12 03 2008

Iptables funciona de forma parecida a las reglas de acceso del proxy squid, es decir, será un conjunto de reglas puestas en orden y si cumplimos una que restringe a la siguiente, no cumpliremos esta última. Es decir, imaginemos que en una primera regla impedimos el acceso de una dirección ip a nuestra web o mejor dicho al puerto 80 de nuestra maquina, si en una regla posterior aceptamos de todo el mundo los paquetes (o para que lo entendamos todos, conexiones), a este mismo puerto 80, la dirección ip que antes habíamos restringido, seguirá sin poder ver nuestra web, pues la primera regla ha restringido a la segunda, convirtiéndose esta última en: “aceptamos el acceso de todos menos de esa ip”.
Pero bueno, como no es objetivo de este artículo, explicar como se pone en marcha un firewall, sino compartir la conexión a internet o dicho de mejor forma, “Hacer NAT de nuestra red local”, vamos a ver sin más dilación como vamos a llevar a cabo esta faena.

¿Qué es hacer NAT/MASQUERADE de una red?

Explicado de manera rápida, hacer NAT/MASQUERADE de una red, es simplemente enmascarar las ip’s de dicha red con otra diferente, es decir, imaginemos una maquina cuya ip es 192.168.1.1 que sirve de pasarela de otra maquina cuya ip es 192.168.1.2. Hacer NAT de esta última maquina, significa que de cara al exterior las conexiones las estará haciendo 192.168.1.1, aunque sea 192.168.1.2, la que esté accediendo al exterior.
Pero al igual que antes, para comprenderlo mejor, veamos un gráfico:

Sencillo ejemplo de NAT/MASQUERADE con iptables

Una vez sabemos qué es hacer NAT/MASQUERADE, vamos a ver como hacerlo de nuestra red local, para poder compartir la conexión a internet.
La forma de utilizar iptables, es ir escribiendo regla por regla, recordando la misma limitación del orden de las reglas que teníamos en el proxy. La pega de esto, es que estas reglas se guardan en memoria, perdiéndose cuando apagamos el ordenador. Para evitarlo, existe un script llamado iptables-save que hace una copia de seguridad de la tabla de reglas de iptables.
Además de esto, lo que podemos hacer es escribir en orden las reglas en un script, el cual podemos ejecutar en el inicio del sistema (esta es la forma que veremos aquí). Para ello, editamos un fichero de texto, por ejemplo, “/etc/init.d/firewall”, donde pondremos esto (contando que tu red local es del tipo 192.168.1.0 y sales a Internet a traves de la interfaz eth0. Si te conectas con modem de 56K cambia esta interfaz por ppp0):

modprobe iptable_nat
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Le damos permisos de ejecución:

chmod +x /etc/init.d/firewall

Y lo ponemos en el arranque del sistema

ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall
ln -s /etc/init.d/firewall /etc/rc3.d/S99firewall
ln -s /etc/init.d/firewall /etc/rc4.d/S99firewall
ln -s /etc/init.d/firewall /etc/rc5.d/S99firewall

Configuración de los clientes

En los clientes de nuestra red local, lo único que tendremos que hacer es poner como puerta de enlace predeterminada (o gateway), la ip de la maquina que acabamos de configurar.

:wq!


Acciones

Informacion

Deje un comentario

usted puede usar estos tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>