2

Раньше я успешно настраивал переадресацию портов, но на этот раз это просто не сработало.

Я использую маршрутизатор WRT54G v6 с последней прошивкой. В разделе переадресации портов я установил диапазон портов 7000-7100 для перенаправления на IP-адрес локальной сети 192.168.1.106, который является моим компьютером. Я также настроил сетевое соединение моего компьютера, чтобы всегда использовать упомянутый выше ip, как в статической конфигурации ip.

Однако, когда я проверяю, например, открыт ли порт 7050, я всегда получаю его закрытым с таких сайтов, как http://www.yougetsignal.com/tools/open-ports/ .

Что может быть причиной проблемы?

1 ответ1

4

Тестирование переадресованного порта будет успешным только в том случае, если на IP-адресе имеется "прослушиватель", на который вы перенаправляете порты, которые могут принять соединение через порт.

Поэтому первое, что нужно сделать, это запустить приложение, которое будет подключено, и убедиться, что оно прослушивает порт. Вы можете сделать это с

netstat -an 

Вы должны увидеть что-то вроде

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

Если для запуска прослушивателя недостаточно просто запустить клиент, тогда вы можете использовать netcat:

nc -l 7050

Убедитесь, что это работает из вашей сети, если вы можете. Самый простой способ - с другой машины, на которой установлен telnet, с помощью следующей команды:

telnet 192.168.1.106 7050

Если это удастся, и это устройство Windows, с которого вы тестируете, вы просто увидите мигающий курсор. Если это не удастся, вы сразу же вернетесь в командную строку или получите тайм-аут. Nmap - это альтернативный инструмент, который вы можете использовать для тестирования.

Как только вы убедитесь, что ПК принимает соединения через порт, попробуйте службу внешнего тестирования.

Если возможно, протестируйте с внешнего Linux-бокса. Убедитесь, что вы можете пропинговать общедоступный IP-адрес вашего маршрутизатора (вам может потребоваться включить это в конфигурации маршрутизатора), а затем сделать следующее из окна linux:

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

Первый traceroute будет использовать ICMP для трассировки до вашего маршрутизатора, что должно работать, если вы включили ping на маршрутизаторе. Второй будет либо работать, либо останавливаться в какой-то момент перед вашим роутером. Если это прямой переход до маршрутизатора (по сравнению с трассировкой ICMP), то ваш маршрутизатор пересылается неправильно. Если это раньше, то это означает, что ваш интернет-провайдер блокирует входящее соединение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .