Я пытаюсь немного лучше понять DNS, но до сих пор не могу полностью получить записи A и NS.
Насколько я понял, запись A говорит о том, какой IP-адрес принадлежит (под) домену, до сих пор мне это было ясно. Но, как я понял, запись NS сообщает, какие точки сервера имен принадлежат (под) домену, и этот сервер имен должен указывать, какой IP-адрес принадлежит (под) домену. Но это уже было указано в записи A того же файла DNS. Так может кто-нибудь объяснить мне, что именно делают записи NS и серверы имен, потому что, вероятно, я что-то не так понял.
edit: Как я вас правильно понимаю, запись NS сообщает, что вы должны найти DNS-сервер с записью A для определенного домена, а запись A сообщает вам, какой IP-адрес принадлежит домену. Но какой смысл помещать записи A и NS в один файл DNS? Если для определенного домена уже существует A-запись, то зачем вам указывать на другой DNS-сервер, который, вероятно, предоставит вам ту же информацию?
Некоторые примеры из вымышленных foo.com
файл зоны
....... SOA record & lots more stuff .......
foo.com. IN NS ns1.bar.com.
foo.com. IN A 192.168.100.1
....... More A/CNAME/AAAA/etc. records .......
Запись = "Хост позвонил foo.com
живет по адресу 192.168.100.1 "
NS Record = "Если вы хотите знать о хостах в foo.com
зоне, спросите имя сервера ns1.bar.com "
Это старый вопрос, но я думаю, что другие ответы на самом деле не касаются источника путаницы. NS
записи на вершине следуют другому набору правил, чем NS
записи под апексом.
NS
записи на вершине не определяют направление. Вместо этого они дают авторитетное определение тем NS
записи.NS
записи под апексом делать определить реферал. это NS
запись не считается авторитетной, и A
запись с тем же именем.Из этих правил мы можем вывести два разных поведения того, что происходит, когда A
запись существует на DNS-сервере с тем же именем:
NS
запись не определяет переход, другие данные могут существовать рядом с ней в той же зоне. Поскольку сервер считает себя авторитетным как для NS
запись и A
запись, конфликта нет. Вот почему другие данные обычно находятся рядом с NS
записи на вершине зоны.NS
запись делает определить реферал, затем A
запись эффективно «маскируется» резка зоны. это A
запись не является авторитетной и не должна отображаться в разделе ответов авторитетного ответа. Потенциально может использоваться как склеить данные который отображается в дополнительном разделе реферала, но это все.Сбивает с толку? Да, так и есть. Напишите в комментариях, если у вас возникнут проблемы с этим, и я посмотрю, что я могу сделать.
Запись A сопоставляет имя с IP-адресом. например
binary.example.com. IN A 192.168.1.42
заявляет, что binary.example.com. разрешается в 192.168.1.42
запись NS сопоставляет имя другому серверу имен, то есть другому DNS-серверу, который обслуживает этот домен. то есть «Я понятия не имею об IP-адресе этого имени, но если вы спросите этот сервер имен там, он может знать»
binary.example.com. IN NS otherbox.example.com otherbox.example.com. IN A 192.168.1.2
Если вы спросите DNS-сервер, у которого есть две вышеуказанные записи для binary.example.com. (или www.binary.example.com. или foo.bar.binary.example.com). он сообщит вам, что вам нужно будет попросить 192.168.1.2 перевести эти имена (ну, или сервер DNS может сделать это за вас, или он может кэшировать разрешенные имена и вернуть их вам).
Записи NS определяют серверы, которые предоставляют службы DNS для этого доменного имени.
A записывает имена хостов (например, www, ftp, mail) на один или несколько IP-адресов.
Если вам нужно делегировать подзону другому DNS-серверу, важно иметь в зоне как NS, так и A-запись.
Например. у нас есть DNS-сервер ns1.bar.com, уполномоченный для зоны bar.com. И нам нужно делегировать foo.bar.com на ns1.foo.bar.com. Итак, нам нужно создать зону foo.bar.com и поместить туда следующие записи:
foo.bar.com. IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A 10.10.10.10
Если у нас не будет записи A, делегирование не сработает. Такие пары записей называются связующими записями.
Склеивающие записи - единственный способ для DNS-системы найти точный IP-адрес полномочного DNS-сервера для некорневой зоны. Если вы проверяете любой домен на наличие NS-записи, используя dig
или посмотрите дамп трафика с wirehark, вы увидите, что в ответе есть «дополнительный» раздел.
;; ANSWER SECTION:
foo.bar.com. 10800 IN NS ns1.foo.bar.com.
;; ADDITIONAL SECTION:
ns1.foo.bar.com. 7972 IN A 10.10.10.10
при выполнении рекурсивного запроса, например www.foo.bar.com ваш DNS-клиент запросит авторитетный DNS для зоны foo.bar.com и получит ответ ns1.foo.bar.com.
Чтобы продолжить, ему необходимо отправить запрос на ns1.foo.bar.com, который обслуживается ... ns1.foo.bar.com. Чтобы разорвать цикл, делегирующий DNS-сервер должен добавить этот дополнительный раздел с записью A.
Сервер ns1.foo.bar.com должен иметь такие же записи в своей зоне, поэтому он может быть авторитетным для зоны foo.bar.com.
Записи NS существуют ИСКЛЮЧИТЕЛЬНО для того, чтобы определить, КАКИЕ ИМЯСЕРВЕРЫ отвечают за конкретный домен.
Запись A существует для «АДРЕСА» определенной машины или службы.
Примеры для вас:
В панели управления DNS вы увидите несколько записей NS, это ваши NAMESERVERS или основная машина, отвечающая за передачу информации в Интернет о том, где находятся данные в вашем домене.
NS1.CP.COM NS2.CP.COM
Также внутри вашей панели DNS у вас будет собственный домен (например, -mikesfunhouse.com), на котором вам нужны некоторые службы, например веб-сайт.
Итак, что вам нужно сделать, это иметь первичную запись A, указывающую с mikesfunhouse.com на 76.19.87.956 (очевидно, поддельный IP).
Затем вы создадите другую запись, запись www, которая перенаправит субдомен «www». часть вашего основного сайта.
Короче говоря, вы используете записи A для преобразования пространства имен в IP-адрес.
Запись сервера имен сообщает Интернету, какой DNS-сервер содержит записи A, поэтому поиск записи A для поддомена выполняется примерно так:
Найдите серверы имен для домена -> Запросите сервер имен для записи A субдомена