El reenvío de puertos WRT54G no funciona

2

He configurado el reenvío de puertos con éxito antes, pero esta vez simplemente no funcionará.

Estoy usando un enrutador WRT54G v6, con el último firmware. En la sección de reenvío de puertos, configuré el rango de puertos 7000-7100 para que se reenvíe a la LAN IP 192.168.1.106, que es mi computadora. También he configurado la conexión de red de mi computadora para usar siempre la IP mencionada anteriormente, como en una configuración de IP estática.

Sin embargo, cuando pruebo si, por ejemplo, el puerto 7050 está abierto, siempre obtengo que está cerrado desde sitios web como http://www.yougetsignal.com/tools/open-ports/ .

¿Cuál podría ser la causa del problema?

Severo Raz
fuente
¿Está abierto el puerto 7050? Puede probar esto usandotelnet localhost 7050
artistoex
¿El puerto también está abierto en el firewall de la PC?
Ƭᴇcʜιᴇ007
Sí, el puerto está abierto y accesible desde la computadora host
Severo Raz

Respuestas:

4

Probar un puerto reenviado solo mostrará un éxito si hay un "escucha" en la dirección IP a la que reenvía los puertos que puede aceptar la conexión en el puerto.

Entonces, lo primero que debe hacer es iniciar la aplicación a la que se conectará y asegurarse de que esté escuchando en el puerto. Puedes hacer esto con

netstat -an 

Deberías ver algo como

Proto  Local Address          Foreign Address        State
TCP    0.0.0.0:7050            0.0.0.0:0              LISTENING

Si simplemente iniciar el cliente no es suficiente para ejecutar el escucha, puede usar netcat:

nc -l 7050

Asegúrese de que esto funcione desde su red, si puede. Una manera fácil sería desde otra máquina que tenga instalado Telnet, con el siguiente comando:

telnet 192.168.1.106 7050

Si tiene éxito y es un dispositivo Windows desde el que está probando, verá un cursor parpadeante. Si falla, volverás a la línea de comando al instante o tendrás un tiempo de espera. nmap es una herramienta alternativa que puedes usar para probar.

Una vez que esté seguro de que la PC está aceptando conexiones en el puerto, pruebe el servicio de prueba externo.

Si es posible, pruebe desde una caja de linux externa. Asegúrese de que puede hacer ping a la IP pública de su enrutador (es posible que deba habilitar esto en la configuración del enrutador) y luego haga lo siguiente desde el cuadro de Linux:

traceroute -I <public ip>
traceroute -p 7050 -T <your public IP>

El primer traceroute usará ICMP para rastrear a su enrutador, lo que debería funcionar si ha habilitado el ping en el enrutador. El segundo funcionará o se detendrá en algún momento antes de su enrutador. Si es el salto inmediato antes del enrutador (en comparación con el trazado de ruta ICMP), entonces su enrutador no está reenviando correctamente. Si es antes, significa que su ISP está bloqueando la conexión entrante.

Pablo
fuente
Bueno, no sabía que se necesitaba un oyente jaja. De todos modos, tengo transmisión escuchando en el puerto 7001, así que usé ese puerto en su lugar. El comando telnet funciona muy bien desde mi computadora, pero no he podido probarlo desde otra computadora en la red. Te avisaré cuando pueda y los resultados. ¡Gracias por tu ayuda!
Severo Raz
Creo que logré conectarme desde otra computadora. Esta vez utilicé una computadora con Windows y su cliente telnet nativo. Me conecté al puerto 7001, y luego el cmd se volvió negro. Podía escribir, pero el texto no se procesó. Luego golpeé al personaje de escape y salí de telnet. Sin embargo, nunca hubo un informe de una falla de conexión. Intenté usar otro puerto y recibí un error.
Severo Raz
Acabo de completar una prueba adicional: abrí una conexión desde mi host nc -l 7002y me conecté con éxito desde la otra computadora. Envié un mensaje de texto y el mensaje fue recibido. Mi host está abriendo los puertos correctamente.
Severo Raz
No, solo en mi red.
Severo Raz
El traceroute se detiene en una ip que está en mi país pero no es mi enrutador. Puede pertenecer a mi ISP. ¿Crees que es necesario que publique la salida de traceroute?
Severo Raz