1

Два случая:

Пример 1 - файл зоны example.com:

@      IN    SOA    dns.example.com.    info.example.com.    (1 8H 8H 8H 8H)
       IN    NS     dns
dns    IN    A      123.123.123.123

Чем полезна вторая и третья строки? Я понимаю, что они могут быть необходимы для определения dns.example.com. Есть ли другое применение?

Дело 2 - файл зоны на foo.com:

@      IN    SOA    dns.example.com.    info.foo.com.    (1 8H 8H 8H 8H)
       IN    NS     dns.example.com.

В этом случае нужна вторая строка? Почему было бы полезно иметь эту запись NS для зоны foo.com, если мы уже находимся в этой зоне?

Кроме того, необходимо ли, чтобы первая и вторая строки указывали на один и тот же сервер? Если нет, то в какой ситуации они будут другими?

2 ответа2

0

Причина, по которой вам нужно иметь записи NS в самой зоне, связана с более фундаментальными понятиями зон / делегирования / полномочий в DNS.

Я покажу, как это применимо к записи NS но те же рассуждения могут быть применены к записи ( записям) A/AAAA , на которые указывает NS если она находится в той же зоне:

example.com/IN/NS является частью зоны example.com для которой ваши серверы имен являются полномочными.

Серверы имен для родительской зоны (com в этом примере), очевидно, будут обслуживать делегирующие записи example.com/IN/NS (и, в случае необходимости, склеивать), но они не являются полномочными, а только направляют клиента к фактическим полномочиям.

Если кто-то заглянет на example.com/IN/NS он последует за цепочкой делегаций и в конце попросит ваши серверы получить реальные достоверные данные. Если бы у вас почему-то не было этих записей, это означало бы, что ваши серверы имен, являющиеся полномочными для этой зоны, заявили бы, что они точно знают, что нет записей example.com/IN/NS .

И тогда, конечно, их отрицательный ответ для example.com/IN/NS , скорее всего, закончится кэшированием, что означает, что в следующий раз уже известно, что в зоне example.com нет серверов имен.

0

Имя после "SOA" является основным сервером имен. "SOA" - это сокращение от "Начало власти". Он указывает полномочия для зоны, но не определяет запись сервера имен (NS), даже если он предоставляет имя хоста основного сервера. SOA также определяет, как долго данные DNS должны кэшироваться и обновляться (и другие вещи).

Серверы имен должны быть определены явно, поэтому вы также создаете запись NS для основного сервера имен (или нет). Сервер в записи NS не обязательно должен быть таким же, как сервер в строке SOA. Это часто тот случай, когда вы не хотите, чтобы другие опрашивали ваш основной сервер.

Вам нужна по крайней мере одна запись NS в вашей зоне, чтобы информация NS могла кэшироваться, когда кто-то запрашивает несколько имен хостов в вашей зоне (не позволяет другим повторно запрашивать root, где находится сервер имен). Однако вы можете иметь несколько записей NS. Это ценно в условиях интенсивного движения.

Запись A сообщает вам IP-адрес сервера имен. Это необходимо, когда вы используете имя хоста в записи NS. В противном случае компьютеры посетителей не будут знать, как найти ваш сервер имен. (Имена хостов в основном предназначены для людей, а IP-адреса в основном для компьютеров.)

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

Ясно, как грязь, верно?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .