DNS: Должны ли имена NS, заданные для зоны, соответствовать именам NS, сообщаемым вышестоящими серверами TLD?
Я заметил, что некоторые поставщики услуг используют службы DNS для доменов своих клиентов с именами NS, заданными для зоны и возвращенными авторитетным сервером имен (в разделе полномочий / записях NS & SOA), которые не соответствуют возвращенным именам NS вышестоящим сервером (например, серверами TLD) и которые были использованы для поиска.
Пример:
$ dig the-domain-name-here.com NS
; <<>> DiG 9.4.2-P1 <<>> the-domain-name-here.com NS
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7844
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;the-domain-name-here.com. IN NS
;; ANSWER SECTION:
the-domain-name-here.com. 172370 IN NS ns1.service-provider-here.net.
the-domain-name-here.com. 172370 IN NS ns2.service-provider-here.net.
;; ADDITIONAL SECTION:
ns1.service-provider-here.net. 7200 IN A 192.168.100.1
ns2.service-provider-here.net. 7200 IN A 192.168.100.2
;; Query time: 65 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Wed Mar 11 19:44:00 2009
;; MSG SIZE rcvd: 118
$ dig @ ns1.service-provider-here.net. the-domain-name-here.com
; <<>> DiG 9.4.2-P1 <<>> @ns1.service-provider-here.net the-domain-name-here.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48010
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;the-domain-name-here.com. IN A
;; ANSWER SECTION:
the-domain-name-here.com. 86400 IN A 192.168.100.3
;; AUTHORITY SECTION:
the-domain-name-here.com. 86400 IN NS ns1.different-trade-name.net.
the-domain-name-here.com. 86400 IN NS ns2.different-trade-name.net.
;; Query time: 68 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Wed Mar 11 19:46:00 2009
;; MSG SIZE rcvd: 100
Серверы рДВУ говорят, что сервером имен является ns1.service-provider-here.net, и когда мы ищем имя на этом сервере, он дает достоверный ответ, но в разделе прав доступа выдает другое имя NS (ns1.different-trade-name)..сеть).
Есть тысячи доменов, настроенных таким образом. Кажется, это не вызывает каких-либо проблем, но кажется, что это неправильно.
Это на самом деле имеет значение? Будет ли когда-нибудь ситуация, когда распознаватели / клиенты будут выполнять дополнительный поиск или даже не смогут разрешить имя из-за этого?
2 ответа
Ну, ответ зависит от точки зрения.
Технически, нет никаких сомнений в том, что любое несоответствие между родителем и зоной является неправильным. Это никогда не должно происходить (некоторые реестры используют автоматические инструменты для проверки, например, Zonecheck в .fr
).
Практически это случается довольно часто. Наиболее распространенной причиной является то, что люди изменяют записи NS в своей зоне и забывают сообщить реестру (или регистратору, если реестр вынуждает вас пройти через посредника) об изменении.
Это действительно имеет значение? Ну, как вы сказали, до тех пор, пока между двумя наборами есть непустое пересечение, оно должно работать. Но на это опасно полагаться, так как еще одно изменение и два набора могут быть полностью разделены. Так что не стоит соглашаться с расхождением.
С юридической точки зрения дочерняя зона всегда права, записи NS в родительской зоне не являются авторитетными. Решатели должны заменить делегирование списком, найденным в дочерней зоне.
Если родитель имеет действительные записи, относящиеся к DNS-серверам, которые являются полномочными для зоны, то разрешение должно в основном работать.
Я могу вспомнить, по крайней мере, один случай, когда они могут быть проблемой, если у вас были другие записи и пара других неправильных конфигураций.
Проблема будет связана с тем, как сервер имен отправляет уведомления об обновлении зоны. Например, когда вы используете связывание на основном DNS-сервере, вы обновляете зону, а затем перезагружаете, связывание отправляет уведомления об обновлении всем серверам, перечисленным в зоне. Если бы это был другой авторитетный сервер, не имеющий записи NS в основной зоне, он не получил бы уведомление и имел бы более старые данные. Если родители указывают на этот сервер, который не получает обновлений, у вас могут возникнуть проблемы, потому что этот сервер будет предоставлять результаты из данных.
Кроме того, имейте в виду, что существует такая вещь, как DNS с разделенным горизонтом. Иногда вам нужно предоставить другой вид вашей зоны вашим внутренним хостам, которые находятся внутри вашей сети, в отличие от того, что вы отображаете для публики. Когда вы сравниваете записи сервера имен, убедитесь, что вы просматриваете зону с той же точки зрения.