Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

MASQUERADE/SNAT - Port Redirection Iptables


Iptables es una herramienta muy útil en la vida de todo sysadmin, con ella se puede filtrar tráfico, redirigirlo, realizar modificaciones sobre este o incluso priorizarlo. En esta ocasión veremos como natear/enmascarar una red y redirigir tráfico de entrada, este suele ser un escenario típico en una red casera en la que tenemos un router que sirve de gateway al resto de equipos.

De este modo con una sola ip pública podremos salir a Internet y si necesitamos que algún puerto de uno de los equipos internos esté accesible al exterior será posible.

Lo primero que debemos tener claro es la diferencia entre enmascarar y source-natear, enmascarar dejaremos que el kernel decida que ip origen debe utilizar cuando reenvie el paquete, en cambio son SNAT decidiremos nostros que ip debe utilizarse, esto resulta útil si se tienen varias ips WAN por ejemplo y deseamos utilizar una u otra dependiendo del equipo interno de nuestra LAN.

Primero habilitaremos el enrutado en el kernel:

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

Si queremos enmascara es tan sencillo como:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0  -j MASQUERADE

En cambio si queremos hacer SNAT:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j SNAT --to-source 72.23.11.111

Otro aspecto interesante de iptables es la redirección de puerto, esto se consigue del siguiente modo:

iptables -t nat -A PREROUTING -s 192.168.200.0/24 -d 0.0.0.0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Para una redirección a otra máquina:

iptables -t nat -A PREROUTING -p tcp --dport 32002 -j DNAT --to-destination 10.0.0.2:22

Autor: Kr0m -- 24/06/2015 18:01:20