Pregunta

Quiero conectarme a un sistema que está detrás de un enrutador.Conozco la dirección pública del enrutador así como la ip privada (siempre fija) del sistema.¿Cómo establezco una conexión de socket con la IP privada?

¿Fue útil?

Solución

Por eso algunas personas dicen que están detrás de un "firewall", cuando están detrás de un enrutador.Los virus malvados de Internet no pueden explotar ningún software en una computadora detrás de un enrutador (siempre que el administrador del enrutador no lo haya configurado de manera extraña, por ejemplo habilitando DMZ).

Todavía tienes algunas opciones:

  • Habla con el administrador del enrutador y haz que te reenvíe un puerto.
  • Saque el enrutador y coloque su computadora "de destino" donde estaba su enrutador, o habilite DMZ (esto solo tiene sentido si solo había una computadora detrás del enrutador). Advertencia:¡Primero instale un firewall en la computadora de destino!
  • Gire el casquillo 180 grados.Haga que la computadora detrás de un enrutador establezca la conexión con el servidor que tiene una dirección IP pública
  • Usa algo como UPnP, si su enrutador lo admite
  • Obtenga una dirección IP dedicada para su computadora y configure el enrutador para transferir todo el tráfico a esta dirección IP a su computadora (esto es similar a DMZ, pero funcionaría si tiene más de una computadora detrás del enrutador). Advertencia:¡Primero instale un firewall en la computadora de destino!
  • Utilice el recorrido NAT.Hay un muy buen articulo sobre el tema. aquí.La versión simplificada es que el cliente establece una conexión con algún servidor remoto.El servidor puede ver el número de puerto abierto en el enrutador del cliente y este puerto está asignado a la máquina del cliente, por lo que (u otra computadora que comparta esta información) puede establecer una conexión a ese puerto y llegar a la aplicación del cliente. Advertencia:Esto no funciona con todos los enrutadores.Algunos enrutadores simplemente no permiten que esto suceda.

Otros consejos

Esto es más una cuestión de configuración del router en oposición a su programa real. Si el router no está configurado para reenviar el tráfico al sistema privado, no hay manera de obligarlo a conectar Ud. - más bien, el sistema privado tendría que abrir la conexión en su propia

Lo más sencillo es, probablemente, a reenviar el puerto del sistema que desea conectarse a través del router.

En sentido estricto, la respuesta a su pregunta es "no se puede". Sin embargo, puede permitir DNAT (Destination Network Address Translation) en el router. Se conecta a un determinado puerto en el router, y reenvía la conexión a la IP interna. El IP interna (y el puerto) se configuran en la configuración del router y no son conocidos por el cliente que se conecta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top