Публичные и частные авторитетные DNS-серверы

Публичные и частные авторитетные DNS-серверы

По поводу этой настройки:

Мой публичный авторитетный DNS-сервер по адресу <public dns ip>:

example.com.            A    <public webserver IP>
foo.bar.example.com.   TXT   "Hello World"

Мой частный авторитетный DNS-сервер по адресу 192.168.0.2:

foo.bar.example.com.    A    "192.168.0.1"
bar.bar.example.com.  CNAME  "foo.bar.example.com"

Итак, у меня есть два авторитетных DNS-сервера, один в публичном домене, один в частном домене. Мне нужно, чтобы публичный обслуживал некоторые записи TXT, но не записи A, для определенного подмножества доменов. Частный должен обслуживать записи A и CNAME, только для внутреннего использования, но не будет обслуживать записи TXT.

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

Пример:

Клиент resolv.confустановил:

<public dns ip>
192.168.0.2

Если они запустят его nslookup foo.bar.example.comсо своей консоли, разрешится ли он 192.168.0.1или публичный DNS-сервер сообщит им, что имя не существует, и что нужно прекратить поиск?

решение1

Разрешение не работает так, как вы думаете. Когда у вас есть несколько строк в вашем, resolv.confони используются как запасной вариант: система всегда использует первый сервер имен, и только если он вообще не отвечает (что отличается от ответа о том, что имя не существует), она затем запрашивает второй и так далее. Это применяется в основном к каждому запросу.

Вам следует настроить все по-другому: иметь только один авторитетный сервер имен, и если вы используете bindего viewsмеханизм, чтобы отвечать разным клиентам на разные вещи. Позвольте нормальному обходу дерева DNS клиентами найти его.

Но в остальном в теории вы правы: если "публичный" сервер ответит и скажет NXDOMAIN, поиск на этом остановится. За исключением того, что вы смешиваете авторитетное и рекурсивное (те, что в resolv.conf), что является очень плохой привычкой. И у вас все еще есть настройка, которая сложнее, чем нужно, и это создаст вам проблемы в дальнейшем.

решение2

Это распространенная настройка в сетях Windows, где (благодаря интеграции Active-Directory DNS) рекурсивный распознаватель также является уполномоченным сервером для этой зоны DNS.

Если зона с таким же именем (но с другими записями) также существует в публичном DNS, попытки запросить публичные записи завершатся на внутреннем рекурсивном резолвере (поскольку он является авторитетным для этой зоны, он может авторитетно заявить, что запись не существует); таким образом, публичная зона маскируется частной зоной для любого клиента, использующего частный резолвер.

решение3

По моему мнению, если у вас <public dns ip>нет записи A для домена, то вам определенно нужно обратиться к вторичному DNS-серверу.192.168.0.2

Связанный контент