В моей домашней сети есть беспроводной маршрутизатор WGT634U с веб-сервером по адресу 192.168.1.200. Я настроил переадресацию портов, чтобы веб-сервер отвечал на звонки по адресу http://xxx.xxx.xxx.xxx (мой общедоступный IP-адрес) по адресу 192.168.1.200.

Проблема заключается в том, что когда я пытаюсь позвонить на публичный IP-адрес из сети 192.168.xx, веб-сервер на маршрутизаторе (192.168.1.1) отвечает на запрос, чтобы я мог войти в него и управлять им. переадресации меня на 192.168.1.200.

Если я использую адрес веб-сервера напрямую по адресу http://192.168.1.200, проблем нет, но я тестирую веб-приложение, которое вызывает публичный сервер, а затем перенаправляет браузер обратно на мой публичный IP-адрес (технически динамический DNS имя хоста).

Я могу использовать маскировку IP с таким инструментом, как Tor, но он очень медленный, и поддержание сеанса подвержено ошибкам. Я могу выполнить только 1 из 5 запросов, каждый раз процесс занимает более 20 минут.

3 ответа3

2

Это может, в зависимости от вашего маршрутизатора, быть связано с настройками NAT. Некоторое время я запускал сервер из-за WRT54G, и мне пришлось настроить параметры NAT так, чтобы соединения устанавливались на сервере, а не на самом маршрутизаторе.

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

2

Вот страница Netgear для вашего маршрутизатора: WGT634U Беспроводной маршрутизатор со скоростью 108 Мбит / с.

Вы можете нажать на вкладку Документация, чтобы загрузить руководство. К сожалению, руководство предполагает, что компьютеры локальной сети не могут использовать IP-адрес глобальной сети для доступа к веб-серверу компьютера локальной сети. Смотрите страницу 90:

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

На той же странице продукта, на вкладке KB/FAQs, я обнаружил, что не могу получить доступ к своему веб-серверу через имя хоста, что объясняет возможный обходной путь: используйте файл hosts на вашем компьютере, чтобы сопоставить имя внешнего домена с IP-адресом локальной сети. адрес.

1

Это очень распространенная проблема на самом деле. Одним из вариантов является добавление записи в ваш локальный файл hosts для вашего "динамического имени хоста dns". Я предполагаю, что вы используете для этого сервис типа dyndns

Запись хостов будет выглядеть так

192.168.1.200 external_dns_name

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

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

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

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