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

Не сплит-DNS, но близко

Я прочитал эту статью о раздельном DNS: http://www.isaserver.org/tutorials/You_Need_to_Create_a_Split_DNS.html. Думаю, я понимаю эту концепцию, но для настройки оптимального решения, предложенного в статье, мне нужно управлять DNS-серверами «снаружи» (чего я не могу в моем случае).

Мой сценарий таков: один внутренний домен называется corp.local. Одно общественное достояние под названием corp.com. У меня есть сайт по адресу www.corp.com, который фактически указывает на опубликованный сервер в домене corp.local. Я также хотел бы опубликовать этот веб-сервер для внутренних клиентов (клиенты в домене corp.local), без перехода на внешний IP и обратно. Поэтому я просто настраиваю новую зону на DNS-сервере для внутренних клиентов (corp.local) используют под названием corp.comи добавьте запись для www.corp.com, на этот раз указывающий на внутренний IP-адрес.

К моей проблеме: У меня есть много других записей на внешнем веб-сервере, которые следует оставить как есть. Я знаю, что могу просто скопировать и поддерживать два DNS-сервера, но в идеале мне бы хотелось этого:

Случай 1

  1. Внутренний клиент запрашивает www.corp.com.
  2. Внутренний DNS-сервер проверяет, есть ли у него запись для www.corp.com.
  3. Так оно и есть, поэтому отвечает внутренним IP-адресом www.corp.com.

Случай 2

  1. Внутренний клиент запрашивает someother.corp.com.
  2. Внутренний DNS-сервер проверяет, есть ли в нем запись для someother.corp.com, и не находит.
  3. Тогда это перенаправляет запрос на внешний DNS-сервер, чтобы узнать, определена ли для этого запись для someother.corp.com.
  4. Внешний DNS-сервер отвечает внутреннему DNS-серверу внешним IP-адресом someother.corp.com.
  5. Внутренний DNS-сервер отвечает внутреннему клиенту.

На самом деле в случае 2 происходит то, что внутренний DNS-сервер считает себя авторитетным для зоны corp.com (что в некотором роде и есть), и если он не находит запись для someother.corp.com, он отвечает клиенту. с отрицательным ответом.

Надеюсь, я ясно дал понять, с нетерпением жду вашего вклада! Заранее спасибо! Кроме того, я использую домен Windows с DNS-серверами Windows (Windows Server 2008).

Это небольшая хитрость - я сделал это только с помощью bind, но он работает.

Создать новый зона называется www.corp.com затем создайте и @ record для зоны, которая будет внутренним IP-адресом вашего сайта.

Это заставит DNS-сервер думать, что он является авторитетным для «зоны». www.corp.com и возвращать @ запись, когда люди запрашивают www.corp.com. Он передаст остальную часть * .corp.com вашим обычным общедоступным DNS-серверам для рекурсивного поиска и вернет внешний IP-адрес.

Если вы используете Несвязанный в качестве рекурсивного сервера вы можете заставить его отвечать на конкретные локальные данные, используя local-zone и local-data директивы и перенаправить любые неизвестные записи на внешний сервер.

local-zone: corp.com. transparent
local-data: "www.corp.com. IN A www.xxx.yyy.zzz"

Страница руководства находится по адресу http://www.unbound.net/documentation/unbound.conf.html