Конфигурация DNS-сервера Windows для конкретного субдомена и перенаправление остальных на авторитетный сервер.

Вопрос или проблема

Стек приложения имеет несколько компонентов, например, API, публичное приложение и внутреннее приложение. Я хочу сделать внутреннее приложение доступным только из внутренних диапазонов IP-адресов. Я настроил свой nginx (обратный прокси), чтобы разрешить только определенные диапазоны IP (например, 192.168.1.0/24). Я использую доменное имя: mydomain.com

Допустим, внутреннее приложение использует поддомен app.mydomain.com. Также есть веб-сайт (работающий извне) по адресу (www.)mydomain.com. Внешний DNS (организация) настроен на указание на публичный статический IP моего сервера, который необходим для публичного API (например, api.mydomain.com).

Но в локальной сети (включая VPN) я хочу направить трафик внутрь. Например, вместо публичного IP ПК должны использовать локальный IP, чтобы только те, кто имеет локальный IP, могли быть допущены обратным прокси nginx. Для этого я настраиваю сервер Windows AD, который также выполняет функции DNS-сервера. Я пытаюсь настроить этот DNS, чтобы направлять компьютеры в сети на сервер во внутренней сети.

Когда я пытаюсь определить первичную зону для mydomain.com с записью для app.mydomain.com, указывающей на адрес внутреннего сервера, nslookup app.mydomain.com возвращает локальный IP, но mydomain.com или www.mydomain.com больше не работают.

Есть ли способ указать для всех остальных поддоменов использовать внешний DNS (организация)?

Когда я пытался настроить вторичную зону, передача не удалась. Я думаю, что авторитет (внешний DNS) не позволяет мне это сделать.

Интересно, как я могу это реализовать?

Вы можете достичь этого, создав первичную зону с именем app.mydomain.com и создав пустую запись A в ней, указывающую на внутренний IP-адрес вашего сервера; это работает, потому что пустая запись соответствует имени самой зоны, а не фактическому имени хоста внутри нее.

Таким образом, DNS-сервер будет считать себя авторитетным только для зоны app.mydomain.com, но не для вышестоящей зоны mydomain.com; таким образом, запросы ко всем остальным содержимым в зоне будут разрешаться стандартным образом (либо рекурсивно от корневых серверов, либо через пересылку, если вы ее настроите).

Ответ или решение

Конфигурация DNS-сервера Windows для поддомена и редирект всех остальных запросов к внешнему авторитетному DNS

Введение

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

Задача

Ваше внутреннее приложение находится на поддомене app.mydomain.com, а внешний веб-сайт — на www.mydomain.com. Вы столкнулись с проблемой: после создания первичной зоны для mydomain.com запросы к mydomain.com и www.mydomain.com перестали работать, и вам требуется направить их к внешнему авторитетному DNS-серверу.

Решение

Для достижения вашей цели, следуйте данным шагам:

  1. Создание первичной зоны для поддомена:

    • Запустите DNS Manager на вашем Windows сервере.
    • Щелкните правой кнопкой на Forward Lookup Zones и выберите New Zone.
    • Выберите Primary Zone, укажите имя зоны app.mydomain.com и завершите создание.
  2. Создание записи A для внутреннего сервера:

    • После успешного создания зоны app.mydomain.com, добавьте запись типа A.
    • Укажите внутренний IP адрес вашего сервера, например 192.168.1.10.
    • Запись будет выглядеть как: app IN A 192.168.1.10.
  3. Решение проблемы с верхнеуровневыми доменами:

    • Не создавайте первичные зоны для mydomain.com или www.mydomain.com.
    • Чтобы DNS-сервер оставался авторитетным только для app.mydomain.com, рекомендуется настроить отдельную зону для поддомена и оставить запросы для корневого домена на разрешение через внешние DNS-серверы.
    • Например, вы можете настроить переадресацию (forwarding) для всех неразрешенных DNS-запросов. Для этого:
      • В вашем DNS Manager, щелкните правой кнопкой на имя вашего сервера и выберите Properties.
      • Перейдите на вкладку Forwarders и добавьте IP-адреса внешних DNS-серверов. Это позволит вашему DNS-серверу разрешать все запросы, которые он не может обработать сам.
  4. Тестирование конфигурации:

    • Проверьте работу вашей конфигурации с помощью команды:
      nslookup app.mydomain.com
      nslookup www.mydomain.com
    • Запрос nslookup app.mydomain.com должен возвращать внутренний IP-адрес, в то время как запрос nslookup www.mydomain.com должен обращаться к внешнему DNS-серверу и возвращать публичный IP вашего веб-сайта.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...