Redirigir el tráfico desde el puerto 80 a otro puerto en una sola ip

Redirigir el tráfico desde el puerto 80 a otro puerto en una sola ip

Tengo un servidor con varias direcciones IP asociadas. Estoy intentando ejecutar un servidor web node.js (que no quiero ejecutar como root), usando solo una de esas direcciones IP (sería muy malo si se reenviara el tráfico de todas las direcciones IP).

A través de la búsqueda de superusuario, parecía que esto podría ser posible con iptables:

Cómo configurar iptables para el reenvío de tráfico en el puerto 80 desde fuentes específicas

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 --source 212.333.111.222 -j REDIRECT --to-port 9020

Sin embargo, no entiendo por qué se necesita eth0.

De acuerdo a:

http://blog.softlayer.com/2011/iptables-tips-and-tricks-port-redirection/

esto se podría hacer con:

iptables -t nat -A PREROUTING -p tcp --dport 2525 -j REDIRECT --to-ports 25

¿Cuál es la forma correcta de reenviar tráfico desde una única IP en el puerto 80, digamos 111.111.111.111:80 a otro puerto en el mismo servidor, digamos 111.111.111.111:8765?

¡Gracias por tu ayuda!

Respuesta1

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8765

En lugar de usar la dirección IP, use el nombre de la interfaz, quiero decir, en lugar de eth0usted puede usar la interfaz que desee.

Esta regla dice iptables:

  1. Hazlo en PreRouting
  2. no
  3. En la interfaz eth0
  4. El protocolo es TCP
  5. El puerto de destino a coincidir es 80
  6. Redirigirlo al puerto 8765

información relacionada