Redirigir un puerto en Linux utilizando IPTables

Para los entendidos, esto se llama Port Forwarding y se lo utiliza, cuando tenemos una sola computadora conectada a internet y una o más computadoras conectadas en una red interna, a la primera.

Si alguna de las computadora de la red, quiere ser accedida desde internet, no se puede porque la conexión directa a internet solo la tiene la primera computadora. Entonces esta debe configurarse para redirigir (forwardear) el trafico correcto a la computadora correcta.

Los routers traen una opción para hacer esto fácilmente, y es mi consejo que si pueden comprar un router para conectarse a internet, y este estar conectado a varias computadoras, es lo más fácil que podrían hacer. Pero a veces esto no es posible y no nos queda otra que configurar una pc.

Sin explayarme mucho, los comandos necesarios para hacer esto fueron:

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -p tcp --dport <puerto_origen> -j DNAT --to-destination <ip_destino>:<puerto_destino>
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Donde hay que reemplazar con un puerto que será al que nos conectaremos desde internet e y con la ip y el puerto de la pc a la que queremos conectarnos realmente.

Esto es muy simple y fácil, pero siempre me lo olvido, por eso es que lo dejo aqui para futura referencia.


One Response to “Redirigir un puerto en Linux utilizando IPTables”

  1. Buenas tardes.
    Tengo un problema intentando hacer una redirección. Me explico:
    tengo un servidor proxy en Ubuntu, con 2 tarjetas de red:
    eth0=192.168.1.10 está contectado al resto de la red local.
    eth1=192.168.1.20 está conectado al router.
    Necesito que todo lo que llegue por eth0, salga por eth1, y además pasando por el proxy transparente (uso Squid, cuyo puerto por defecto es 3128), y no consigo dar con la tecla en la configuración de IPTABLES.
    No necesito restricción de ningún tipo, solo que quede un registro en el log de las direcciones web que se visitan.

    Espero que puedan ayudarme, ya que es una tarea bastante engorrosa que me lleva preocupando varios días.

    Gracias.

Discussion Area - Leave a Comment