Redireccionamiento de puertos TCP en Ubuntu

asoliverez's picture

El redireccionamiento de puertos permite recibir requests de TCP en un puerto y reenviarlos a otro puerto o incluso a otro equipo. Es algo muy utilizado cuando un equipo se encuentra conectado detrás de un firewall o router y se desea exponer ciertos servicios sin conectar el equipo directo a internet.

Este metodo utiliza iptables. Para instalar el paquete:

sudo apt-get iptables

Luego , en el archivo /etc/rc.local, insertar estas lineas al final

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to 192.168.1.100:8080
/sbin/iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.100 --dport 8080 -j ACCEPT

-i son las interfases de las cuales se van a recibir los pedidos
-dport es el port por el que se van a recibir
--to es la IP y puerto al que se va a hacer forward del port
-d y -dport es tambien la IP y port al que se va a hacer forward de los paquetes.