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

Как проверить клеящую запись DNS?

Здравствуйте, я только что настроил DNS-сервер для своего домена example.org с двумя серверами имен ns1.example.org и ns2.example.org. Я попытался установить связующую запись для ns1 и ns2 в моем регистраторе.

Кажется, сейчас это работает, когда я копаю example.org, но когда я делаю whois example.org, он перечисляет ns1.example.org и ns2.example.org, но не их IP-адрес, который должен быть настроен как связующая запись .

Итак, мне интересно, как мне проверить наличие клейкой записи? Я делаю это с помощью whois? Я видел записи whois .com и .net, в которых есть как доменное имя, так и IP-адрес для серверов имен. .Org отличается? Как правильно это проверить?

Спасибо.

Связующие записи существуют только в родительской зоне доменного имени.

Следовательно, в случае вашего example.org доменное имя, сначала найдите .org серверы имен:

% dig +short org. NS
a0.org.afilias-nst.info.
a2.org.afilias-nst.info.
b0.org.afilias-nst.org.
b2.org.afilias-nst.org.
c0.org.afilias-nst.info.
d0.org.afilias-nst.org.

Затем, если вы захотите протестировать столько из них, явно запросите у этих серверов имен NS записи для вашего домена:

% dig +norec @a0.org.afilias-nst.info. example.org. NS

Вы должны вернуть правильный список NS записи в «РАЗДЕЛ ОТВЕТОВ». Для любых серверов имен, которые правильно настроили клей, вы должны увидеть этот клей A (и / или AAAA) записи появятся в «ДОПОЛНИТЕЛЬНОМ РАЗДЕЛЕ».

Чтобы проверить, настроена ли запись GLUE:

dig +trace @a.root-servers.net ns0.nameserverhere.com

Если GLUE настроен, вы должны увидеть запись, заканчивающуюся на:

“Recevied XXX bytes from x.GTLD-SERVERS.NET.”

Есть также сайты, которые сделают это за вас, например http://www.intodns.com/

Вот небольшой сценарий оболочки, который реализует ответ Альнитака:

#!/bin/sh
S=${IFS}
IFS=.
for P in $1; do
  TLD=${P}
done
IFS=${S}

echo "TLD: ${TLD}"
DNSLIST=$(dig +short ${TLD}. NS)
for DNS in ${DNSLIST}; do
  echo "Checking ${DNS}"
  dig +norec +nocomments +noquestion +nostats +nocmd @${DNS} $1 NS
done

В качестве параметра передайте имя домена:

./checkgluerecords.sh example.org

dig +trace Как правило, это самый простой способ проверить цепочку делегирования. Однако связующие записи находятся в дополнительном разделе, и по умолчанию выходные данные трассировки не включают дополнительный раздел. Вам нужно будет явно указать, что вы хотите, чтобы это было включено в вывод.

dig +trace +additional example.com


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

dig +trace +additional example.com NS

Вы также можете использовать whois, если реестр поддерживает это, для непосредственной проверки наличия клея для данного сервера имен. Например, чтобы проверить один из серверов имен serverfault.com:

whois ns-860.awsdns-43.net.

Для более краткого ответа:

whois ns-860.awsdns-43.net. | grep "No match\|IP" | xargs

Примечание: это, безусловно, будет работать для серверов имен в пространстве имен .net и .com, но, вероятно, не будет работать для большинства других реестров.