Estoy en un servidor vs de Ubuntu y quiero reenviar clientes a un host que esté conectado a través de ssh y que tenga PuTTY configurado para reenviar remotamente el puerto 1802.
Lo que quiero lograr:Quiero que mi servidor virtual actúe como proxy para un puerto determinado para una aplicación. Quiero poder conectarme a mi servidor virtual usando ese puerto, pero ser redirigido al proxy inverso (host):
Cliente A <== xxxx:1802 ==> vserver (reenvío de puerto) <== proxy inverso/conexión ssh ==> Host
Lo que ya tengo:El host ya tiene un reenvío de puerto remoto mediante PuTTY y una conexión ssh a mi servidor virtual. Todo lo que me falta es el reenvío de puertos, de modo que el Cliente que se conecta al vserver usando los puertos especificados sea DNAT al Host.
Esto es lo que probé hasta ahora:Intenté agregar listen 1802;
la configuración de mi servidor nginx, pero no funcionó en absoluto (creo que me faltaba la proxy_pass
configuración). Luego intenté usar iptables:
iptables -t nat -A PREROUTING -i -p udp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables -t nat -A PREROUTING -i -p tcp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables-save
Pero no estoy seguro del --to-destination
parámetro. Además, omití el -i
valor, para que todas las interfaces se utilicen para la entrada de iptables.
Respuesta1
En mi caso, era necesario agregar GatewayPorts yes
algo /etc/ssh/sshd_config
. Reiniciar ssh no fue suficiente, tuve que reiniciar el servidor virtual y luego funcionó. Ni siquiera necesité ninguna entrada especial de iptables, porque todos los puertos ya estaban en ACEPTAR.