Внутренний доступ к веб-серверу через внешний адрес (через доменное имя)
У меня в домашней сети настроен гладкий экран вместе с небольшим веб-сервером (отдельные машины).
Доменное имя настраивается для внешнего адреса сети. Порт 80 пересылается на сервер.
- Доступ к веб-серверу извне (если кто-то вне сети пытается получить к нему доступ) работает.
- Внутренний доступ к веб-серверу через его внутренний IP работает.
- Внутренний доступ к веб-серверу через доменное имя не работает.
Я полагаю, что это как-то связано с правилами антиспуфинга.
Как мне сделать так, чтобы доменное имя работало для внутренних соединений?
Сервер работает под управлением Debian, я использую 64-битную Windows 7, а мой сосед по комнате работает под управлением Mac OSX.
6 ответов
Если вы просто используете NAT только на 80-м порту, это довольно просто сделать. Попробуйте добавить "Статический DNS" на локальный веб-сервер на Smoothwall на вкладке "Службы" и указать имя вашего публичного домена в качестве имени хоста, то есть "mydomain.com". Это в основном решит вашу проблему
Если это не решение вашей проблемы. Дайте мне знать ваши точные настройки с некоторыми примерами IP-адресов и номеров портов
Вы не говорите, какую ОС вы используете, но если вы не можете переписать DNS (как вы можете на брандмауэрах Cisco), самый быстрый способ - это добавить запись в ваш файл hosts.
Обновлено, чтобы добавить:
Внутренний DNS-сервер, по-видимому, является единственным вариантом, который у вас будет, если вы не хотите редактировать файлы хостов и не можете переписать DNS на вашем блоке smoothwall.
Видя, что на сервере запущен Debian и существует множество доменных имен для управления, я бы предложил настроить DNS на сервере (с рекурсивным поиском через DNS-сервер, предоставленный вашим провайдером) и настроить DHCP на маршрутизаторе для использования этот DNS-сервер (иначе ваши другие компьютеры в вашей домашней сети никогда не будут запрашивать ответы у этого блестящего нового DNS-сервера, и вы все еще застряли).
В качестве альтернативы вы также можете настроить DHCP на сервере debian и отключить DHCP на вашем маршрутизаторе (это дает вам больше гибкости, но, возможно, и более крутой кривой обучения).
В любом случае, @Matt правильно, так как вам нужно настроить внутреннее разрешение имен для этих доменов, указывая на внутренние IP-адреса.
У вас проблема с split-dns. Ваш домашний компьютер получает ответ DNS, который указывает домашний компьютер на внешний адрес (например, 208.5.xx). Ваш домашний компьютер пытается подключиться через внешний адрес. Вы правы в том, что ваш брандмауэр заблокирует это.
Если ваш домашний маршрутизатор похож на dd-wrt и работает на DNS-сервере (или вы используете свой собственный DNS-сервер), вы можете обновить записи A там, чтобы они указывали на ваш внутренний IP-адрес (192.168.xx или что-то в этом роде),
Если у вас его нет, вам нужно отредактировать файлы хостов на ваших локальных машинах, чтобы они указывали на внутренний адрес.
В Linux файл / etc / hosts - это то место, куда вам нужно перейти. На окнах это windows\system32\drivers\etc\hosts
Отредактируйте их с помощью "192.168.1.100 www.myserver.com" (используя предоставленные примеры в файлах), и вы сможете перейти к нему по имени, которое вам нравится.
Проверьте эту ссылку, если вы используете DD-WRT. В частности, пункт два на DNSMasq.
http://www.dd-wrt.com/wiki/index.php/DNSMasq_-_DNS_for_your_local_network_-_HOWTO