(No estoy seguro de si Superusuario es el sitio apropiado para hacer esta pregunta)
Siempre tengo problemas con el reenvío de puertos y me gustaría entender algunos aspectos básicos:
- Necesitaba abrir un puerto
27015
para un servidor dedicado de un juego, así que:- Puerto reenviado
27015
en mi enrutador al servidor [192.168.xx.xx:27015
] - Puerto abierto
27015
en el Firewall de Windows
- Puerto reenviado
- Cuando yoescaneadoEl puerto estaba cerrado y el Monitor de recursos de Windows también lo mostraba cerrado; sin embargo, cuando inicié mi aplicación, el puerto apareció abierto en ambas herramientas.
¿Cuál es el principio detrás del reenvío de puertos?
- ¿Es que cuando abro
27015
en mi enrutador, WANIP:27015 está abierto, pero luego tengo que conectarlo desde una computadora local en un puerto determinado? - ¿Abrir el puerto
27030
en mi computadora y redirigir también habría funcionado27015
?27030
¿Por qué el puerto no mostraba que estaba abierto cuando el servidor estaba desconectado?
- Para ver si un puerto está abierto, ¿necesita que el puerto esté abierto además de tener una aplicación escuchando en él?
Respuesta1
¿abrir 27030 en mi computadora y asignar el cuadro 27015 a la computadora local 27030 también habría funcionado?
Sí.Luego, el servidor debe configurarse para escuchar en el puerto 27030 de la computadora local (y el firewall local debe configurarse para permitir esto), pero un cliente remoto debe conectarse al puerto 27015 de su dirección IP externa.
Para ver si un puerto está abierto, ¿necesita que este puerto esté abierto ADEMÁS para tener una aplicación escuchando detrás?
Sí.Vea cuál es la documentación de nmap
(una herramienta de escaneo de puertos)dice sobre esto:
open
Una aplicación acepta activamente conexiones TCP, datagramas UDP o asociaciones SCTP en este puerto. Encontrarlos suele ser el objetivo principal del escaneo de puertos. Las personas preocupadas por la seguridad saben que cada puerto abierto es una vía de ataque. Los atacantes y los evaluadores quieren explotar los puertos abiertos, mientras que los administradores intentan cerrarlos o protegerlos con firewalls sin frustrar a los usuarios legítimos. Los puertos abiertos también son interesantes para análisis no relacionados con la seguridad porque muestran los servicios disponibles para su uso en la red.
cerrado
Se puede acceder a un puerto cerrado (recibe y responde a los paquetes de sonda Nmap), pero no hay ninguna aplicación escuchando en él. Pueden ser útiles para mostrar que un host tiene una dirección IP activa (descubrimiento de host o escaneo de ping) y como parte de la detección del sistema operativo. Debido a que se puede acceder a los puertos cerrados, puede que valga la pena escanearlos más tarde en caso de que alguno se abra. Es posible que los administradores quieran considerar bloquear dichos puertos con un firewall. Luego aparecerían en el estado filtrado, que se analiza a continuación.
Hay más estados reconocidos por nmap
. El sitio que usastepuede o no diferenciarlos a todos(p.ejtal vezinternamente lo hace, pero tal vez esté diseñado para imprimir "cerrado" para cualquier cosa que no esté abierta). Mi punto es: la presencia de una aplicación de escucha marca la diferencia, por lo que la respuesta general a su pregunta es sí.
Respuesta2
Cuando 'sondeas' (a falta de un término mejor) una IP:Puerto, pueden suceder básicamente 5 cosas diferentes:
- Nada: la conexión simplemente "se agota" sin respuesta
- Un mensaje ICMP, o que hay de varios tipos (por ejemplo, un mensaje de redireccionamiento o de puerto no disponible)
- Una conexión (Syn:SynAck protocolo de enlace de 3 vías) pero nada más lejos de la aplicación. [Una conexión 'colgada']
- Una conexión pero nada de la aplicación más que un tiempo de espera/desconexión un poco más tarde. [por ejemplo, un simple telnet a un servidor DNS en el puerto 53]
- Una feliz sesión de solicitud. :-)
Lo que obtengas depende de qué tan lejos llegues en el camino.
En el caso n.º 1, tiene un problema de enrutamiento o firewall [Algunos firewalls están configurados para simplemente descartar paquetes problemáticos].
Para el caso n.° 2, nuevamente es una opción múltiple: si el ICMP tiene un "puerto cerrado", puede ser un problema de firewall o de aplicación. Para una 'redirección', un enrutador en la ruta.
Para los casos 3 y 4, o usted (la fuente) no está utilizando el protocolo que espera su aplicación o la aplicación de destino está teniendo un problema.
Volviendo a la pregunta del OP: Inicialmente, a los enrutadores no les importa el estado de los destinos. Si cumplen con los requisitos configurados, estarán felices de configurar una conexión entre la IP de origen y la de destino: Puerto según lo solicitado. Es por eso que, aunque haya configurado el reenvío de puertos en su enrutador, todavía se muestra como "abierto" si no ha configurado correctamente ningún firewall interno o no ha abierto la aplicación en su sistema interno.
Cuando lo haga, llegará al caso n.° 5: una conexión de aplicación feliz.
Buena suerte.