Как проверить DNS записи домена


Проверить DNS записи домена можно при помощи консольных утилит host, dig и nslookup. Последняя есть также в Windows системах, в Linux шире всего используется host. dig при этом обладает большим функционалом.



Как проверить DNS записи домена


В Linux системах проверять DNS записи домена удобнее всего при помощи утилиты host



host


Без указания дополнительных параметров вызов host запрашивает A-запись DNS домена

host example.com

example.com has address 123.123.123.123



Требуемый тип записи можно указать непосредственно — например, запросить А-запись (ее значение выводится по-умолчанию, но можно запросить и ее наряду с MX-записями, CNAME и т.д.)

host -t a example.com

example.com has address 123.123.123.123


С флагом -a утилита отработает так же как без флагов, так как это значение по умолчанию.



nslookup


Утилита nslookup работает по сути таким же образом и удобна пользователям, ранее работавшим с Windows. nslookup дает более подробный вывод.



Пример вывода на скриншоте:

проверить dns записи домена nslookup


Здесь видно, что ответил локальный сервер 127.0.0.53, в ответе для имени три ip адреса и ipv4 и один ip адрес ipv6.

Когда для домена задано несколько А записей DNS выбирается случайная из них (это один из механизмов балансировки).


После проверки А записей до домена запущен ping, по результату видно, что отвечает один из серверов указанных в А записи.



dig


Самым обширным функционалом обладает утилита dig



dig example.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> example.com
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0

;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags:; udp: 512
 ;; QUESTION SECTION:
 ;example.com. IN A

;; ANSWER SECTION:
 example.com. 5638 IN A 123.123.123.123

;; Query time: 49 msec
 ;; SERVER: 8.8.8.8#53(8.8.8.8)
 ;; WHEN: Sun Oct 29 19:02:47 +05 2017
 ;; MSG SIZE rcvd: 67


В выводе dig можно заметить строку ;; SERVER: 8.8.8.8#53(8.8.8.8). В ней указан DNS сервер от которого получен ответ, это тот сервер, который определен в /etc/resolv.conf на компьютере.

Часто требуется узнать значение какой-либо записи не дожидаясь обновления зон DNS, оно может занимать до 72 часов.



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

dig @ns.somecompany.com example.com



Ответ даст не сервер заданный в /etc/resolv.conf, а указанный в запросе ns.somecompany.com



С ключом +short утилита не будет выдавать расширенного вывода и выдаст только ответ. Отработает также как host

dig +short example.com

123.123.123.123



Утилите dig можно передавать тип DNS записи без дополнительных ключей.

Например, dig mx +short yandex.ru или dig soa +short yandex.ru



Пример проверки приведен на скриншоте:

проверить dns записи домена


Таким образом передавая нужное значение можно проверять почтовые DNS записи для домена.

Ключи можно сочетать любым способом, можно запрашивать у определенного NS сервера записи определенного типа для домена.



Также dig можно запускать с ключом +trace, в результате утилита покажет весь процесс разрешения DNS запроса начиная от корневых DNS серверов и заканчивая сервером, который отвечает за доменное имя.

Сказать спасибо
Categories: