Внутренний доступ к веб-серверу через внешний адрес (через доменное имя)

У меня в домашней сети настроен гладкий экран вместе с небольшим веб-сервером (отдельные машины).

Доменное имя настраивается для внешнего адреса сети. Порт 80 пересылается на сервер.

  • Доступ к веб-серверу извне (если кто-то вне сети пытается получить к нему доступ) работает.
  • Внутренний доступ к веб-серверу через его внутренний IP работает.
  • Внутренний доступ к веб-серверу через доменное имя не работает.

Я полагаю, что это как-то связано с правилами антиспуфинга.

Как мне сделать так, чтобы доменное имя работало для внутренних соединений?

Сервер работает под управлением Debian, я использую 64-битную Windows 7, а мой сосед по комнате работает под управлением Mac OSX.

6 ответов

Если вы просто используете NAT только на 80-м порту, это довольно просто сделать. Попробуйте добавить "Статический DNS" на локальный веб-сервер на Smoothwall на вкладке "Службы" и указать имя вашего публичного домена в качестве имени хоста, то есть "mydomain.com". Это в основном решит вашу проблему

Если это не решение вашей проблемы. Дайте мне знать ваши точные настройки с некоторыми примерами IP-адресов и номеров портов

Вы не говорите, какую ОС вы используете, но если вы не можете переписать DNS (как вы можете на брандмауэрах Cisco), самый быстрый способ - это добавить запись в ваш файл hosts.

Обновлено, чтобы добавить:

Внутренний DNS-сервер, по-видимому, является единственным вариантом, который у вас будет, если вы не хотите редактировать файлы хостов и не можете переписать DNS на вашем блоке smoothwall.

Взгляни на

http://community.smoothwall.org/forum/

Я уверен, что люди могут помочь вам там.

Bugan

Видя, что на сервере запущен 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

Другие вопросы по тегам