Redireccionar puertos es una opción muy útil, sobre todo cuando tenemos una sola IP pública e instalamos nuevos equipos que requerimos tengan acceso desde la red externa, para esto podríamos hacer que puertos específicos a nuestra IP pública redireccione a ips internas a puertos específicos según el servicio requerido.
En mi caso, he tenido la necesidad de instalar 2 cámaras IP, pero para no ocupar ips públicas, que mejor opción que redireccionar puertos desde mi servidor principal que posee IP pública.
Esto es muy fácil hacerlo con IP Tables, a continuación los pasos:
1) Lo primero que debes hacer:
Habilitar la redirección de IP en iptables con cualquiera de los siguientes comandos:
echo “1” > /proc/sys/net/ipv4/ip_forward
O el siguiente
sysctl net.ipv4.ip_forward=1
Adicionalmente, debemos reiniciar el servicio con alguno de los siguientes comandos, según el OS que usen:
/etc/init.d/networking restart
service network restart
2) Creando la regla:
La regla la crear con el siguiente comando, que básicamente indica que del puerto 7777 envia todo el tráfico a la IP 10.0.0.1 al puerto 8888
iptables -t nat -A PREROUTING -p tcp –dport 7777 -j DNAT –to-destination 10.0.0.1:8888
Y finalmente necesitamos enmascarar la dirección IP, para que el destino reciba el tráfico con la IP del servidor fuente
iptables -t nat -A POSTROUTING -j MASQUERADE
Con esto hemos logrado redireccionar un puerto de nuestro servidor a una IP y puerto específico.