Я сталкиваюсь с этой странной проблемой, которая сбила меня с толку и с которой я не сталкивался даже после нескольких лет переадресации портов ...! Я надеюсь, что кто-то здесь может помочь мне решить эту загадку .. :)

Моя конфигурация сети выглядит следующим образом:

У меня есть модем DSL (изготовленный на заказ и выпущенный под брендом моего интернет-провайдера), который получает поток DSL ... у него есть внешний IP, который виден миру, скажем, 11.22.33.44 ... Этот модем имеет включенный DHCP, имеет внутренний IP для себя, который является 192.168.1.1 .. он подключен к 2 ноутбукам через кабель Ethernet. Ноутбук 1 имеет IP 192.168.1.2, а ноутбук 2 имеет IP 192.168.1.3 ...

На ноутбуке 1 работают два приложения, jDownloader и Media Player Classic, которые имеют свои веб-интерфейсы на портах 8765 и 13579 соответственно ... Я могу получить доступ к обоим этим веб-интерфейсам с ноутбука 2, открыв эти адреса: 192.1681.2: 8765 и 192.168.1.2:13579 ... оба их веб-интерфейса открываются, что означает, что веб-интерфейсы работают нормально ..

Теперь я хочу получить доступ к этим веб-интерфейсам и за пределами моей сети, и поэтому я настроил переадресацию портов в моем модеме PTCL для перенаправления всего трафика через порты между 8000 и 14000 (как TCP, так и UDP) на IP 192.168. 1.2 ... Я убедился, что переадресация портов работает, протестировав его с помощью инструмента проверки портов PortForward.com и этого веб-сайта: [URL] http://www.yougetsignal.com/tools/open-ports/[/URL]

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

То же самое можно сказать выше, когда я использую инструмент проверки портов PortForward.com ... Итак, еще раз, все хорошо, пока ...

Теперь возникает проблема! ... Несмотря на то, что вышеупомянутые инструменты сообщают, что переадресация портов работает, я не могу открыть веб-интерфейсы за пределами моей сети ... Например, если я попытался просмотреть 11.22.33.44:8765 или 11.22.33.44:13579, в моем браузере ничего не открывается ... Но если я получил доступ к этим веб-серверам локально с ноутбука 3, набрав 192.168.1.2:8765 или 192.168.1.2:13579, они открылись ...

Так в чем здесь проблема? Инструменты единогласно сообщают, что переадресация портов работает, и все же я не могу открыть веб-интерфейсы извне сети.

Также обратите внимание, что я отключил брандмауэр со своего компьютера, а также убедился, что любая опция в вышеуказанных программах (чьи веб-интерфейсы я пытаюсь открыть), которая говорит, что должны приниматься только локальные подключения, отключена ...

Так в чем проблема ... ?!! Есть идеи ??

1 ответ1

0

Код шлюза NAT в вашем маршрутизаторе неправильно выполняет "шпильку NAT". Многие шлюзы NAT не понимают это правильно.

Когда внутренняя машина запрашивает соединение с портом на общедоступном IP-адресе вашего шлюза NAT, NAT должен сначала выполнить "исходящий NAT", транслируя пакет, как если бы он собирался перейти на внешний хост, а затем понять, что NAT-шлюз сам по себе является "внешним" хостом, который запрашивается, а затем просмотрите его таблицу сопоставления портов и поверните этот пакет обратно и выполните "входящий NAT", отправив его на хост с отображением портов.

Эта идея о том, что пакет проходит в основном через NAT, затем поворачивается обратно и отправляется обратно, уподобляется жесткой кривой двойного спина-на-себе в традиционной заколке для волос (почти так же, как жесткий переключатель обратный поворот на дороге называется "поворот шпильки" или "поворот шпильки").

Возможные решения:

  • Получите обновление прошивки для вашего шлюза NAT, которое исправляет эту ошибку.
  • Посмотрите, можете ли вы настроить это в своем шлюзе NAT.
  • Загрузите сторонний микропрограммный дистрибутив на свой шлюз NAT, у которого нет этой проблемы, или который можно настроить, чтобы не иметь этой проблемы.
  • Купите другой продукт домашнего шлюза, у которого нет этой проблемы, пусть новый ящик будет вашим NAT-шлюзом, и ваш DSL-модем будет действовать как простой модем / мост, а не как NAT-шлюз.
  • Живи с этим. На самом деле вы можете подключаться к вашим службам с отображением портов, когда вы действительно находитесь за пределами своей сети, поэтому, возможно, вы можете жить с фактом, что вы не можете подделать его изнутри сети.

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