Estoy ejecutando una computadora portátil conectada a un enrutador conectado a Internet. La IP pública del enrutador no es una de las IP utilizadas para redes privadas (https://en.m.wikipedia.org/wiki/Private_network), y puedo editar la configuración de reenvío NAT/servidor virtual del enrutador.
He reenviado el tráfico recibido en el puerto externo 1200 del enrutador a la dirección IP privada de mi computadora portátil, el mismo puerto. Tengo un servidor cheroot (cherrypy) escuchando en el puerto 1200.
Un comando lsof confirma que cheroot está escuchando en 1200, inicializado con el archivo Python correcto.
Cuando escaneo la dirección IP privada de mi enrutador (192.168.0.1) en busca de puertos abiertos, 1200 no es uno de los puertos abiertos (lo cual es de esperar, según el comentario de Bodo, y que ahora entiendo).
Mi enrutador tiene habilitado un firewall SPI ipv4 e ipv6.
Agregué un registro A a mi proveedor de nombre de dominio que apunta a la IP pública de mi enrutador y un registro SRV que apunta al puerto externo de mi enrutador (1200).
Sin embargo, no se puede acceder al sitio web al que intento acceder (el servidor tardó demasiado en responder, no se puede acceder al sitio web). Intenté usarhttps://canyouseeme.orgPara ver si el puerto 1200 está abierto cuando accedo a la IP pública de mi enrutador, aparece una respuesta de tiempo de espera de conexión agotado.
Detalles adicionales, no estoy seguro si son relevantes o no:
- Luego utilicé un script de escaneo de puertos de Python, conecté mi computadora portátil a un punto de acceso, ejecuté el script y verifiqué todos los puertos abiertos en la IP pública de mi enrutador. Puertos cero abiertos.
- El servidor cheroot sirve muy bien mi aplicación en la red privada local.
- Acabo de instalar Nmap y tengo ganas de usarlo. :-)
- Una ruta de seguimiento a la IP privada del enrutador mientras está conectado al enrutador funciona como se esperaba. Sin embargo, mientras uso un punto de acceso 4g desde mi teléfono, falla la ruta de rastreo desde mi computadora portátil a la IP pública del enrutador.
- Intenté acceder al sitio con ambos cortafuegos apagados, pero no sirvió de nada.
¿Alguien puede ayudarme a entender lo que me falta aquí?
¿Existe alguna forma de ejecutar netstat en el enrutador? Tiene una corazonada: el reenvío de puertos no ha surtido efecto o las conexiones entrantes están bloqueadas. ¿Cómo evalúo cualquiera de estas posibilidades?
Actualización: Mi enrutador está detrás de otro enrutador ISP. La IP del enrutador en su panel de administración no coincide con mi IP pública.
Entonces eso es todo, supongo. ¿Se debe pedir al ISP que habilite el reenvío de puertos a mi enrutador ahora? ¿Doble NAT? No hay otra solución excepto algo como ngrok, ¿verdad?
Respuesta1
Cuando escaneo la dirección IP privada de mi enrutador (192.168.0.1) en busca de puertos abiertos, 1200 no es uno de los puertos abiertos.
Eso es completamente normal. El reenvío de puertos, también conocido como NAT de destino, funcionadesde la dirección IP pública de WAN. Debes probarlo desde fuera de tu LAN, utilizando la dirección IP pública del enrutador. También asegúrese de haber configurado el firewall local de la computadora portátil para permitir esa conexión.
Si todo falla, el reenvío de puertos del enrutador está roto, o hay una función de firewall en el enrutador que también necesitará configurar, o su ISP está bloqueando las conexiones entrantes.