Назад | Перейти на главную страницу

Внешние запросы к внутреннему DNS-серверу

Как лучше всего настроить мою внутреннюю сеть NAT для обработки внешних DNS-запросов? то есть:

Я не хочу просто перенаправлять кучу вещей и настраивать кучу переадресации портов для всех моих SSH, RDP и веб-серверов. Я бы хотел, чтобы субдомены были доступны через NAT. Будет ли это настроено на маршрутизаторе для перенаправления всех запросов на ns1.example.com? Будет ли обратный прокси-сервер подходящим вариантом? Чем проще, тем лучше.

Учитывая, что все службы, которые вы хотите запускать, являются HTTP / HTTPS, вам понадобится служба DNS и обратный прокси.

Авторитетная служба DNS

Вам понадобятся как минимум два DNS-сервера, на которых размещена ваша зона. Один из них может работать за вашим NAT, другой - нет. Лучшей настройкой в ​​этом случае, вероятно, является основная зона за вашим NAT, доступная через перенаправление портов извне, и подчиненная зона где-то в Интернете.

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

Альтернатива: Просто настройте dns-зону в веб-интерфейсе вашего провайдера или что-то еще.

Обратный прокси

Установите обратный прокси (Apache, nginx, varnish и т. Д.), Который будет обрабатывать HTTP / HTTPS-трафик для всех ваших сервисов. Настройте переадресацию портов NAT для 80 / tcp и 443 / tcp, которая указывает на этот прокси.

Теория Операции

Когда клиент хочет подключиться к yourservice.example.com он разрешит DNS для этого имени и получит ваш IP-адрес NAT. Затем клиент подключится к адресу NAT на 80 / tcp или 443 / tcp и будет перенаправлен на ваш прокси-сервер.

Теперь клиент либо отправляет HTTP-запрос с заголовком хоста, либо инициирует квитирование SSL с помощью SNI. В обоих случаях обратный прокси-сервер сможет увидеть, что запрос был для yourservice.example.com и затем может перенаправить запрос на правильный сервер приложений.