Apache не может получить доступ к локальному IP-адресу DNS - PullRequest
0 голосов
/ 23 сентября 2011

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

Я могу получить доступ к своему серверу, используя свой домен из внешней сети / вне моего дома.

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

В чем может быть проблема для этого?это настройки Apache?

(я могу получить к нему доступ, если отредактирую файл / etc / hosts)

Ответы [ 2 ]

0 голосов
/ 02 октября 2012

Использовали ли вы внутренний или внешний IP-адрес в файле hosts для его работы? Если это был внешний IP-адрес, это, вероятно, проблема DNS . Если это был внутренний IP, проблема могла быть в маршрутизаторах NAT.

Некоторые маршрутизаторы / установки будут применять свои правила NAT только к пакетам, пересекающим внешний интерфейс, выходящий в Интернет.

                 ____________        
                |            |       
Server ---IntIf-|IntIP--ExtIP|-ExtIf--- Internet
                |____________|       

Это немного упрощено, но в основном, когда вы получаете доступ к внешнему IP-адресу из внутренней сети, пакет, следуя пунктирной линии, достигает внешнего IP-адреса маршрутизатора, прежде чем может быть применено правило NAT на ExtIf, и затем маршрутизатор может ' ничего не слушает, поэтому отвергает / сбрасывает соединение.

Чтобы подтвердить, является ли это проблемой DNS. Запустите nslookup $domain из локального и внешнего ящиков и посмотрите, возвращают ли они один и тот же IP-адрес. Если IP-адреса те же, но они все еще не работают, вам нужно поближе взглянуть на маршрутизатор, надеюсь, это возможно. В противном случае вам может понадобиться внутренний DNS-сервер, который может отвечать внутренними IP-адресами для любых доменов, о которых он знает, а затем перенаправлять любые другие запросы извне.

Проблема NAT называется NAT Loopback, Hairpinning или Reflection. Смотрите здесь для Linux решения .

0 голосов
/ 24 сентября 2011

Если вы можете получить к нему доступ, когда поместите запись в / etc / hosts, то, скорее всего, это связано с DNS.Я предполагаю, что вы выставляете публичный (внешний IP), а не внутренний IP для тестирования.

Если вы недавно обновили свой DNS, то, скорее всего, ваш локальный маршрутизатор (или DNS-сервер ISP) все еще будет иметьстарый IP кешируется или тот факт, что нет настройки DNS записи, кешируется.Вы можете перезагрузить маршрутизатор, чтобы попытаться очистить кешированную запись, но она вполне может быть кэширована у провайдера, и вы можете только ждать, пока он обновится там (обычно где-то до 24 часов, часто всего несколько часов).Однако вы можете настроить свой компьютер на использование другого DNS-сервера на некоторое время, например.8.8.8.8 или 4.4.4.4, которые оба управляются Google.

...