netcat desde detrás de NAT

netcat desde detrás de NAT

Tengo un dispositivo conectado a Internet, pero está detrás de una NAT, lo que significa que no puedo acceder directamente a él desde fuera de la red. Ya descubrí que el túnel SSH inverso puede solucionar este problema.

Ahora quiero ejecutar un proceso de servidor netcat en este dispositivo, accesible una vez más desde fuera de la red. ¿Cómo haría para hacer esto?

Respuesta1

Me las arreglé para resolver esto por mi cuenta. Parece que el túnel ssh es básicamente reenvío de puertos. Ejecuté el siguiente código en el servidor detrás de NAT

ssh -N -R 4321:localhost:1234 user@client &

esto configura el túnel que dirige el tráfico desde client:4321hacia server:1234, con el &comando to ejecutarlo en segundo plano. Aún en el servidor, ejecuté:

ncat -lk -c "python myscript.py" localhost 1234 &

que inicia la ejecución del proceso netcat myscript.py. Ahora puedo conectarme al servidor desde mi cliente a través de netcat

nc localhost 4321

(No lo tenía ncaten mi cliente, pero nctambién funcionó. Mi caso de uso real fue usar la socketbiblioteca en Python para conectarme, que funcionó igual)

información relacionada