Puerto hacia adelante a un puerto en la misma máquina

24

Solía ​​ejecutar un servicio en el puerto 25570. Ahora lo cambio para que se ejecute en el puerto 25565, pero todavía quiero que las personas que intentan acceder a él en el puerto anterior tengan acceso al servicio. Entonces me gustaría reenviar el puerto 25570 a 25565 en la misma máquina.

Sé que hay muchas preguntas que hablan sobre el reenvío a una máquina diferente, pero me preguntaba si el método es diferente cuando se usa la misma máquina.

Sean Bannister
fuente

Respuestas:

27
iptables -t nat -A PREROUTING -p tcp --dport 25570 -j REDIRECT --to-port 25565

Esto supone que no está enrutando el tráfico para toda una red a través de este cuadro y que si lo fuera, no hay expectativas de que el tráfico destinado a otros hosts estará en ese puerto

RobotHumanos
fuente
3
¿Cómo se puede deshacer esto?
Marco Lavagnino
1
digitalocean.com/community/tutorials/… - haga una pregunta por separado
RobotHumans
22

Vale la pena señalar que la respuesta aceptada solo se aplica a otros hosts de red que se conectan a la máquina que ejecuta iptables. No redirige el puerto para clientes que se ejecutan en la máquina iptables que intenta conectarse al puerto 25570 (por ejemplo).

Estas entradas reenviarán el puerto para conexiones provenientes de la red o del host local que ejecuta los servicios.

sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
sudo iptables -t nat -I OUTPUT -p tcp -o lo --dport 443 -j REDIRECT --to-ports 8443
Robert Goley
fuente
1
¡Gracias por esto! Sin esta adición, no habría podido obtener mi casilla Vagrant para solicitar el sitio al que servía utilizando el mismo puerto internamente (al de la máquina host), es decir, HOST = localhost: 9000 y ahora GUEST = localhost: 9000 (que rutas a: 80)
Pebbl