1

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

У меня есть маршрутизатор с адресом WAN 1.2.3.4 и локальной сетью 192.168.1.1/24. У меня есть веб-сервер, работающий на 192.168.1.100.

В настройках роутера я изменил порт панели управления с 80 на 81, чтобы не мешать работе веб-сервера. Затем я добавил правило переадресации портов для TCP 80 -> 192.168.1.100:80. Наконец, я назначил доменное имя example.com для 1.2.3.4, поэтому доступ к example.com правильно направляет мой веб-сервер. Из мира.

Однако, когда я пытаюсь войти в example.com с любого из устройств, подключенных к 192.168.1.1/24, он не работает.

Я попытался диагностировать его с помощью ping, и домен правильно разрешается по IP-адресу, так что это не проблема DNS:

root@linux:~# ping example.com
PING example.com (1.2.3.4) 56(84) bytes of data.
64 bytes from 1.2.3.4.ip4.feromedia.eu (1.2.3.4): icmp_seq=1 ttl=63

Кроме того, traceroute останавливается на маршрутизаторе:

root@linux:~# traceroute example.com
traceroute to example.com (1.2.3.4), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.350 ms 0.256 ms 0.195 ms
2 * * *
3 * * *
4 * * *

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

Мой роутер DrayTek Vigor2925.

2 ответа2

2

Возможно, ваш маршрутизатор не поддерживает петлю NAT (AKA NAT Hairpinning). Обновите дистрибутив встроенного программного обеспечения (например, LEDE) или замените маршрутизатор на то, что имеет заводскую прошивку, поддерживающую Loopback NAT (например, базовую станцию Apple AirPort).

1

Как предположил @Spiff, проблема, вероятно, заключается в отсутствии поддержки NAT Loopback.

Однако мне удалось справиться с этой ситуацией с помощью статической записи DNS в конфигурации моего маршрутизатора. В DrayTek это называется функцией DNS DNS и AFAIU, это похоже на запись в файле hosts на машине.

После добавления туда записи 192.168.1.100 example.com мой маршрутизатор начал отвечать адресом LAN 192.168.1.100 на DNS-запрос example.com для каждого устройства в моей сети. Поэтому они могут связаться с локальным веб-сервером по доменному имени, хотя мой маршрутизатор не поддерживает глобальную петлю NAT.

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