Назад | Перейти на главную страницу

Несовместимые записи клея

Мы обнаружили ряд проблем с mxtoolbox и различными другими онлайн-инструментами DNS, из-за которых у нас есть несогласованные связующие записи. В частности, похоже, что в настройках связующих записей на TLD (в данном случае .host) есть привязанные записи для наших 4 серверов имен, но 2 из их серверов NIC не имеют назначенного IP-адреса.

В частности, .host имеет 4 NIC-сервера (a.nic.host - d.nic.host), и похоже, что только a.nic.host и b.nic.host имеют IP-адреса, назначенные нашим 4 серверам имен, где c. nic.host и d.nic.host их нет.

Когда мы делаем запрос для нашего домена в инструменте проверки DNS pingdom, мы получаем ряд ошибок:

 Nameserver ns1.intelli.host is listed for zone intelli.host without address information.
 Nameserver ns3.intelli.host is listed for zone intelli.host without address information.
 Nameserver ns4.intelli.host is listed for zone intelli.host without address information.

Эти ошибки появляются случайно (я предсказываю, основываясь на том, какой сервер NIC вернул результаты).

Ultradns является более точным в нижней части трассировки, указывая, что онлайн-хостам a.nic.host и b.nic.host назначены IP-адреса.

Однако когда я делаю:

 dig +norec @c.nic.host intelli.host NS

Мне даны IP-адреса для 4 серверов имен - это наводит меня на мысль, что либо я не выполняю правильную команду dig для того, что различные онлайн-инструменты, такие как pingdom и ultratools, сообщают неправильно (в чем я сомневаюсь)

Может ли кто-нибудь подтвердить правильность моего понимания проблем, с которыми мы сталкиваемся?

ОБНОВЛЕНИЕ (ДЕНЬ 2)

Спасибо всем за вашу помощь! Из ответов на данный момент кажется, что это может пингдом вести нас в темноте, но я нашел 2 других сайта инструментов DNS, также дающих случайные результаты.

Что ясно во всех этих случаях, так это то, что случайным образом мы получим какую-то проблему с DNS, и из того, что я снова могу понять, это когда c.nic.host или d.nic.host сообщает о связующих записях:

VIEWDNS: http://viewdns.info/dnsreport/?domain=intelli.host

Обратите внимание, что это дает разные результаты с некоторыми запросами. В основном он меняется в зависимости от того, какой сервер дает результат (в данном случае d.nic.host):

Nameserver records returned by the parent servers are:
ns2.intelli.host. [NO GLUE] [TTL=3600]
ns3.intelli.host. [NO GLUE] [TTL=3600]
ns1.intelli.host. [NO GLUE] [TTL=3600]
ns4.intelli.host. [NO GLUE] [TTL=3600]

This information was kindly provided by d.nic.host.

Ошибка также от VIEWDNS: Ой! IP-адреса (GLUE), возвращаемые для вашего сервера имен, не совпадают! Вам следует внимательно изучить приведенные выше сведения о сервере имен и определить, в чем заключаются различия.

ULTRADNS https://www.ultratools.com/tools/dnsLookupResult (возможно, придется искать здесь intelli.host, так как прямой ссылки нет)

При трассировке внизу отображаются возвращенные записи HOST следующим образом:

host.
b.nic.host.66 ms
intelli.host.   ns2.intelli.host.   129.232.201.205
intelli.host.   ns1.intelli.host.   129.232.201.203
intelli.host.   ns3.intelli.host.   13.80.126.179
intelli.host.   ns4.intelli.host.   40.121.91.245

d.nic.host.3 ms
intelli.HOST.   ns2.intelli.host.   
intelli.HOST.   ns1.intelli.host.   
intelli.HOST.   ns3.intelli.host.   
intelli.HOST.   ns4.intelli.host.   

c.nic.host.38 ms
intelli.HOST.   ns1.intelli.host.   
intelli.HOST.   ns4.intelli.host.   
intelli.HOST.   ns3.intelli.host.   
intelli.HOST.   ns2.intelli.host.   

a.nic.host.65 ms
intelli.host.   ns4.intelli.host.   40.121.91.245
intelli.host.   ns1.intelli.host.   129.232.201.203
intelli.host.   ns2.intelli.host.   129.232.201.205  
intelli.host.   ns3.intelli.host.   13.80.126.179

Я подозреваю, что вы наткнулись на ошибку в коде Pingdom в отношении смешанного регистра. Это все, что я могу здесь понять. Следующим шагом должно стать обращение в службу технической поддержки Pingdom.

Шаг 1. Подтвердите наличие клеевых записей.

Все клеевые записи присутствуют в пункте делегирования:

$ dig +norec @c.nic.host intelli.host NS

; <<>> DiG 9.9.5-9+deb8u10-Debian <<>> +norec @c.nic.host intelli.host NS
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51608
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;intelli.host.                  IN      NS

;; AUTHORITY SECTION:
intelli.HOST.           3600    IN      NS      ns1.intelli.host.
intelli.HOST.           3600    IN      NS      ns3.intelli.host.
intelli.HOST.           3600    IN      NS      ns4.intelli.host.
intelli.HOST.           3600    IN      NS      ns2.intelli.host.

;; ADDITIONAL SECTION:
ns1.intelli.HOST.       3600    IN      A       129.232.201.203
ns2.intelli.HOST.       3600    IN      A       129.232.201.205
ns3.intelli.HOST.       3600    IN      A       13.80.126.179
ns4.intelli.HOST.       3600    IN      A       40.121.91.245

;; Query time: 32 msec
;; SERVER: 2a02:e180:3::2#53(2a02:e180:3::2)
;; WHEN: Tue Jun 20 23:32:59 UTC 2017
;; MSG SIZE  rcvd: 205

Шаг 2: Убедитесь, что связующие записи совпадают с данными на дочерних серверах имен:

$ for ip in 129.232.201.203 129.232.201.205 13.80.126.179 40.121.91.245; do echo ==@$ip==; dig @$ip +noall +question +answer ns{1..4}.intelli.host; done
==@129.232.201.203==
;ns1.intelli.host.              IN      A
ns1.intelli.host.       14400   IN      A       129.232.201.203
;ns2.intelli.host.              IN      A
ns2.intelli.host.       14400   IN      A       129.232.201.205
;ns3.intelli.host.              IN      A
ns3.intelli.host.       14400   IN      A       13.80.126.179
;ns4.intelli.host.              IN      A
ns4.intelli.host.       14400   IN      A       40.121.91.245
==@129.232.201.205==
;ns1.intelli.host.              IN      A
ns1.intelli.host.       14400   IN      A       129.232.201.203
;ns2.intelli.host.              IN      A
ns2.intelli.host.       14400   IN      A       129.232.201.205
;ns3.intelli.host.              IN      A
ns3.intelli.host.       14400   IN      A       13.80.126.179
;ns4.intelli.host.              IN      A
ns4.intelli.host.       14400   IN      A       40.121.91.245
==@13.80.126.179==
;ns1.intelli.host.              IN      A
ns1.intelli.host.       14400   IN      A       129.232.201.203
;ns2.intelli.host.              IN      A
ns2.intelli.host.       14400   IN      A       129.232.201.205
;ns3.intelli.host.              IN      A
ns3.intelli.host.       14400   IN      A       13.80.126.179
;ns4.intelli.host.              IN      A
ns4.intelli.host.       14400   IN      A       40.121.91.245
==@40.121.91.245==
;ns1.intelli.host.              IN      A
ns1.intelli.host.       14400   IN      A       129.232.201.203
;ns2.intelli.host.              IN      A
ns2.intelli.host.       14400   IN      A       129.232.201.205
;ns3.intelli.host.              IN      A
ns3.intelli.host.       14400   IN      A       13.80.126.179
;ns4.intelli.host.              IN      A
ns4.intelli.host.       14400   IN      A       40.121.91.245

Шаг 3. Убедитесь, что нет несоответствия записей NS

$ for ip in 129.232.201.203 129.232.201.205 13.80.126.179 40.121.91.245; do echo ==@$ip==; dig @$ip +short intelli.host NS ; done
==@129.232.201.203==
ns1.intelli.host.
ns2.intelli.host.
ns3.intelli.host.
ns4.intelli.host.
==@129.232.201.205==
ns2.intelli.host.
ns3.intelli.host.
ns4.intelli.host.
ns1.intelli.host.
==@13.80.126.179==
ns2.intelli.host.
ns4.intelli.host.
ns1.intelli.host.
ns3.intelli.host.
==@40.121.91.245==
ns1.intelli.host.
ns2.intelli.host.
ns4.intelli.host.
ns3.intelli.host.

Шаг 4. Проконсультируйтесь с всемогущим dnsviz по поводу несоответствий DNSSEC

Выглядит хорошо.

Шаг 5. Еще раз оцените проблему

Ваш первоначальный вопрос показал, что Pingdom сообщил о проблемах с ns1, ns3 и ns4. Когда я запустил ту же проверку через Pingdom, я получил ошибки для другого набора серверов имен:

Делегация

Сервер имен ns2.intelli.host указан для зоны intelli.host без адресной информации.

Сервер имен ns4.intelli.host указан для зоны intelli.host без адресной информации.

  • Ошибка для ns4 все еще присутствует.
  • Ошибки для ns1 и ns3 исчезли.
  • Ошибка для ns2 новая.

На этом этапе я оценил возможность того, что несоответствие было на родительских серверах имен:

$ for ns in {a..d}; do echo ==@$ns.nic.host==; dig @$ns.nic.host +noall +question +authority +additional intelli.host; done
==@a.nic.host==
;intelli.host.                  IN      A
intelli.host.           3600    IN      NS      ns1.intelli.host.
intelli.host.           3600    IN      NS      ns2.intelli.host.
intelli.host.           3600    IN      NS      ns3.intelli.host.
intelli.host.           3600    IN      NS      ns4.intelli.host.
ns1.intelli.host.       3600    IN      A       129.232.201.203
ns2.intelli.host.       3600    IN      A       129.232.201.205
ns3.intelli.host.       3600    IN      A       13.80.126.179
ns4.intelli.host.       3600    IN      A       40.121.91.245
==@b.nic.host==
;intelli.host.                  IN      A
intelli.host.           3600    IN      NS      ns1.intelli.host.
intelli.host.           3600    IN      NS      ns3.intelli.host.
intelli.host.           3600    IN      NS      ns2.intelli.host.
intelli.host.           3600    IN      NS      ns4.intelli.host.
ns1.intelli.host.       3600    IN      A       129.232.201.203
ns2.intelli.host.       3600    IN      A       129.232.201.205
ns3.intelli.host.       3600    IN      A       13.80.126.179
ns4.intelli.host.       3600    IN      A       40.121.91.245
==@c.nic.host==
;intelli.host.                  IN      A
intelli.HOST.           3600    IN      NS      ns3.intelli.host.
intelli.HOST.           3600    IN      NS      ns2.intelli.host.
intelli.HOST.           3600    IN      NS      ns1.intelli.host.
intelli.HOST.           3600    IN      NS      ns4.intelli.host.
ns1.intelli.HOST.       3600    IN      A       129.232.201.203
ns2.intelli.HOST.       3600    IN      A       129.232.201.205
ns3.intelli.HOST.       3600    IN      A       13.80.126.179
ns4.intelli.HOST.       3600    IN      A       40.121.91.245
==@d.nic.host==
;intelli.host.                  IN      A
intelli.HOST.           3600    IN      NS      ns2.intelli.host.
intelli.HOST.           3600    IN      NS      ns4.intelli.host.
intelli.HOST.           3600    IN      NS      ns1.intelli.host.
intelli.HOST.           3600    IN      NS      ns3.intelli.host.
ns1.intelli.HOST.       3600    IN      A       129.232.201.203
ns2.intelli.HOST.       3600    IN      A       129.232.201.205
ns3.intelli.HOST.       3600    IN      A       13.80.126.179
ns4.intelli.HOST.       3600    IN      A       40.121.91.245

Обратите внимание, что случай .HOST изменяется в ответах от C и D. На данный момент я подозреваю, что наиболее вероятным случаем является то, что Pingdom пытается выполнить сравнение между объектами DNS со смешанным регистром, что было бы ошибкой в ​​соответствии с Стандарты DNS.

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

См. IANA Технические требования к авторитетным серверам имен:

Согласованность между клейкими и авторитетными данными

Для серверов имен, IP-адреса которых указаны в качестве связующего, IP-адреса должны соответствовать официальным записям A и AAAA для этого хоста.

Согласованность между делегированием и зоной

Набор NS-записей, обслуживаемых официальными серверами имен, должен совпадать с предложенным для делегирования в родительской зоне.