я нашел это Может ли запись NS указывать на несколько записей A?, но интересно, в чем разница, если она есть.
Например:
mydomain.com. IN NS ns1.myhost.com.
mydomain.com. IN NS ns2.myhost.com.
ns1.myhost.com. IN A 111.222.333.1
ns2.myhost.com. IN A 111.222.333.2
против
mydomain.com. IN NS ns.myhost.com.
ns.myhost.com. IN A 111.222.333.1
ns.myhost.com. IN A 111.222.333.2
EDIT: на самом деле, если подумать, то же самое можно сказать и о записях MX. Какие-нибудь существенные различия?
РЕДАКТИРОВАТЬ 2: опять же, MX разрешает использование значений приоритета, поэтому это другой случай, когда один IP-адрес на домен иногда более полезен.
Есть смысловая разница.
Если NS
запись (или MX
запись) указывает на имя хоста, которое впоследствии разрешается в несколько A
(или AAAA
) записи, которые должны представлять альтернативные адреса для тот же хозяин (он же «множественная адресация»).
См. Абзацы 8 и 9 в s5.1 из RFC 5321.
Следовательно, не всегда требуется, чтобы клиент пробовал каждый известный адрес для определенного хозяин, но это должен пытаться каждый названный хозяин.
Таким образом, в (обычном) односетевом случае с несколькими серверами имен или почтовыми серверами вы должны использовать другое имя для каждого сервера с одним IP-адресом, а не одно имя с несколькими IP-адресами.
Я полагаю, это может быть специфичной для реализации - возможно, некоторые странные серверы всегда будут использовать только один из адресов или что-то в этом роде. Но обычно, наверное, не должно быть разницы.
Кстати, я нашел один RFC, в котором упоминается аналогичная ситуация - посмотрите на RFC 2181 раздел 4.3, 3 абзац. В нем написано одно А для одного NS, но без объяснения причин.
Изменить: Основное различие, очевидно, заключается в том, что (1) - это то, что все используют и как таковые на 100% протестированы, а (2) - это то, что никто не использует, и поэтому более высокая вероятность его поломки - это некоторые реализации.
Читать книги!
В случае нескольких записей A на преобразователь имен всегда будет возвращать один IP на запрос для NS (циклический из пула), в случае нескольких записей NS все записи будут возвращены и в случае отказа одного из NS все остальные продолжат работать и обслуживать запросы