Как проверить DNS записи домена
Проверить DNS записи домена можно при помощи консольных утилит host, dig и nslookup. Последняя есть также в Windows системах, в Linux шире всего используется host. dig при этом обладает большим функционалом.
Как проверить DNS записи домена
В Linux системах проверять DNS записи домена удобнее всего при помощи утилиты host
host
Без указания дополнительных параметров вызов host запрашивает A-запись DNS домена
example.com has address 123.123.123.123
Требуемый тип записи можно указать непосредственно — например, запросить А-запись (ее значение выводится по-умолчанию, но можно запросить и ее наряду с MX-записями, CNAME и т.д.)
example.com has address 123.123.123.123
С флагом -a утилита отработает так же как без флагов, так как это значение по умолчанию.
nslookup
Утилита nslookup работает по сути таким же образом и удобна пользователям, ранее работавшим с Windows. nslookup дает более подробный вывод.
Пример вывода на скриншоте:

Здесь видно, что ответил локальный сервер 127.0.0.53, в ответе для имени три ip адреса и ipv4 и один ip адрес ipv6.
Когда для домена задано несколько А записей DNS выбирается случайная из них (это один из механизмов балансировки).
После проверки А записей до домена запущен ping, по результату видно, что отвечает один из серверов указанных в А записи.
dig
Самым обширным функционалом обладает утилита dig
; > DiG 9.10.3-P4-Ubuntu > example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADERВ выводе dig можно заметить строку ;; SERVER: 8.8.8.8#53(8.8.8.8). В ней указан DNS сервер от которого получен ответ, это тот сервер, который определен в /etc/resolv.conf на компьютере.
Часто требуется узнать значение какой-либо записи не дожидаясь обновления зон DNS, оно может занимать до 72 часов.
Сделать это можно обратившись к NS серверу непосредственно, нужный сервер указывается через знак @, после него без пробела имя NS сервера, потом через пробел интересующий нас домен.
Ответ даст не сервер заданный в /etc/resolv.conf, а указанный в запросе ns.somecompany.com
С ключом +short утилита не будет выдавать расширенного вывода и выдаст только ответ. Отработает также как host
123.123.123.123
Утилите dig можно передавать тип DNS записи без дополнительных ключей.
Например, dig mx +short yandex.ru или dig soa +short yandex.ru
Пример проверки приведен на скриншоте:
Таким образом передавая нужное значение можно проверять почтовые DNS записи для домена.
Ключи можно сочетать любым способом, можно запрашивать у определенного NS сервера записи определенного типа для домена.
Также dig можно запускать с ключом +trace, в результате утилита покажет весь процесс разрешения DNS запроса начиная от корневых DNS серверов и заканчивая сервером, который отвечает за доменное имя.
Как узнать IP DNS сервера в Linux
DNS (Domain Name System — система доменных имён) является важным элементом сети. Без DNS не работали бы Интернет-браузер, почтовые сервера, стриминговые сервисы и другие.
Задача DNS сообщать IP адрес запрошенного имени хоста (обычно домена веб-сайта).
Эта служба работает на специальных компьютерах, называемых DNS сервер — они хранят базу данных записей, включающей в себя имена хостов и соответствующие им IP адреса. DNS серверы представляют собой иерархическую структуру, но нам важно только то, что на наш запрос с именем хоста DNS сервер отвечает, какой у этого хоста IP адрес.
То есть DNS решает проблему, что нам не нужно помнить/знать IP адреса всех сайтов, которые мы посещаем.
DNS это обширная и интересная тема, но в этой заметке мы только поговорим, как узнать, к какому именно DNS серверу делаются запросы с данного компьютера на Linux? То есть мы научимся определять IP адрес используемого DNS сервера.
Имеется несколько способов сделать это, мы рассмотрим самые универсальные, подходящие для Linux, BSD, и других Unix-подобных систем.
Как узнать какой DNS сервер используется
1. Настройки DNS в системе хранятся в файле /etc/resolv.conf, то есть IP адрес DNS сервера можно узнать просто посмотрев этот файл.
С помощью команды cat:
cat /etc/resolv.confС помощью команды less:
less /etc/resolv.confИли с помощью команды grep:
grep "nameserver" /etc/resolv.confВсе эти команды выведут одинаковые результаты, например в моём случае это:
nameserver 8.8.8.8 nameserver 8.8.4.4Запись может быть только одна или их может быть несколько. В первую очередь используется первый указанный DNS сервер, если к нему не удаётся получить доступ, то используются запасные DNS (если они указаны).
2. Если вам нужен альтернативный метод (например, вы предполагаете, что настройки DNS изменены сетевым подключением), то вы можете использовать программу dig:
dig zalinux.ru
![]()
Используемый сервер имён показан в строке начинающейся с ;; SERVER:
;; SERVER: 8.8.8.8#53(8.8.8.8)А в этом разделе, кстати, вы можете узнать IP адрес любого сайта:
;; ANSWER SECTION: zalinux.ru. 3799 IN A 185.26.122.383. Ещё один способ узнать IP адрес сайта, а заодно и IP DNS сервера к которому делаются запросы — с помощью команды nslookup:
nslookup zalinux.ru
![]()
В этих строках показан IP используемого DNS сервера:
Server: 8.8.8.8 Address: 8.8.8.8#53А в этой строке IP адрес интересующего сайта:
Address: 185.26.122.38Просмотр и изменение DNS в Linux
Служба DNS (англ. Domain Name System — система доменных имён) используется для получения информации о доменах. Основное её предназначение — увязывать IP-адрес и доменное имя хоста. Посмотреть, к какому DNS-серверу подключен компьютер с Linux на борту, не просто, а очень просто. Как просто и поменять DNS в Linux.
Если Linux снабжён графическим интерфейсом, достаточно открыть сведения о сетевом соединении и посмотреть в строчку DNS.
По понятным причинам нас этот способ не очень интересует. Да и элементы интерфейса могут у разных сред рабочего стола различаться. Рассмотрим просмотр и настройку DNS в терминале Linux.
Традиционно DNS в Linux настраивалась через файл /etc/resolv.conf. Сейчас, однако, он может оказаться бесполезным. Откроем его любым консольным текстовым редактором, например nano:
sudo nano /etc/resolv.confМы можем увидеть следующее:
Это значит, что в системе есть systemd, который содержит свой локальный сервер DNS. Его адрес и прописан в этом файле. Однако, в конечном итоге, используются другие DNS-серверы! Посмотреть их можно по-разному. Можно использовать команду
systemd-resolve --statusВы увидите нечто подобное тому, что на скриншоте ниже. Если в системе несколько сетевых интерфейсов, информация будет предоставлена по каждому.
Другой способ — использовать утилиту nmcli. Введите команду
nmcli device show | grep DNS
Как изменить DNS? Если в системе нет systemd, то это можно сделать редактированием файла /etc/resolv.conf. Откройте его любым текстовым редактором, найдите строку nameserver и впишите адреса DNS-серверов. Если их несколько, введите их адреса последовательно. Например:
nameserver 8.8.8.8 nameserver 8.8.4.4Если в ОС есть systemd, вышеописанных способ бесполезен, поскольку настройки будут перезаписываться при перезагрузке системы. В данном случае нам нужно редактировать файл /etc/systemd/resolved.conf.
В разделе Resolve отредактируйте строку DNS. При необходимости уберите символ # для раскомментирования. Адреса DNS-серверов прописываются через запятую.
Как видим на этом примере, systemd несколько усложнил операционную систему Linux. Однако настроить DNS в ней до сих пор не составляет труда. Кроме того, в Linux можно пользоваться и файлом hosts.
Утилиты диагностики DNS
При возникновении проблем с преобразованием доменных имен (например, хостов, указанных в транках sip-провайдеров) необходимо использовать утилиты для анализа полученных ответов от DNS-серверов. В статье рассматриваются утилиты Linux, используемые для диагностики DNS. Dig – утилита, отправляющая запросы к DNS серверам. Dig является частью DNS-сервера BIND. Типы DNS записей A — содержит IPv4-адрес, сопоставляет имя домена с […]
При возникновении проблем с преобразованием доменных имен (например, хостов, указанных в транках sip-провайдеров) необходимо использовать утилиты для анализа полученных ответов от DNS-серверов. В статье рассматриваются утилиты Linux, используемые для диагностики DNS.
Dig – утилита, отправляющая запросы к DNS серверам. Dig является частью DNS-сервера BIND.
Типы DNS записей
A — содержит IPv4-адрес, сопоставляет имя домена с IPv4 адресом.
AAAA — эквивалент А-записи для IPv6.
MX — содержит информацию о почтовых серверах, используется для маршрутизации электронной почты.
NS — содержит DNS-серверы домена.
CNAME — используется для перенаправлений на другое доменное имя.
SRV — указывает серверы, обслуживающие определенные службы на домене.
TXT — содержит произвольную информацию, присвоенную домену.
SSHFP — используется для хранения слепка SSH ключей в DNS.
SPF — позволяет указать сервера, с которых отправленная на данный домен почта считается доверенной
CAA — центры сертификации, которым разрешен выпуск SSL/TLS-сертификатов для доменного имени.
SOA – содержит контактный адрес лица, администрирующего данную зону; данные о взаимодействии DNS, время кэширования.dig google.comЗапрашивает A-запись для домена google.com . Dig открывает файл /etc/resolv.conf, отправляет запросы к указанным DNS-серверам, и выводит ответ DNS сервера.
Строки, начинающиеся с «;» – комментарии. Отключаются опцией +nocomments.
Вначале указывается версия dig, далее заголовок ответа, от DNS сервера.
Далее — раздел вопросов, показывающий, что запрашивается А-запись. Раздел отключается опцией +noquestion.
В разделе ответов перечислены ip адреса.
В конце указаны статистические данные, отключаемые опцией +nostats.Чтобы не вводить вручную, опции можно сохранить в файл $HOME/.digrc. Тогда при запуске dig автоматически будут использоваться опции из файла.
Укороченный вариант получения информации А-записи можно получить командой
dig google.com +shortdig a google short.jpg
Укороченный вариант запроса А-записи
Получить доменное имя по IP-адресу (т.е. запрос PTR-записи) — указать параметр -x:
С помощью dig также можно сделать запрос к другим DNS серверам. Для этого необходимо указать @ip_dns_сервера.
Публичные DNS сервера:
OpenDNS 208.67.222.222 и 208.67.220.220
Google DNS 8.8.8.8 и 8.8.4.4
Cloudflare 1.1.1.1
Level3DNS 4.2.2.1 и 4.2.2.2
Получить А-запись для домена google.com, используя сервер OpenDNS 208.67.222.222:
dig google.com @208.67.222.222
Запрос MX-записи для домена google.com. MX-запись указывает на имя почтового домена (не ip адрес).
dig google mx +short
Для того, чтобы узнать DNS сервер 192.168.1.1. Вверу трейса расположены корневые DNS сервера (“.” – означает корень иерархии), которые определены с помощью NS-записи. Dig запросил А-запись google.com, выбрав случайный корневой сервер. Получив список NS-серверов, запросил у одного из них А-запись для google.com и получил ответ.
dig google.com +trace
Получить все DNS записи для домена можно командой:
dig any google.com
Запрос дополнительной информации (TXT-записи)
dig google.com txt | grep txt
Whois – утилита, выводящая информацию о домене: ns сервера, регистратора, дату регистрации, дату истечения срока регистрации, информацию о владельце и т.д. Часто используется для проверки занятости доменных имен. При изменении информации, whois данные домена обычно обновляются в течение суток.
whois google.com
В ответе есть ссылка на другой whois сервер whois.markmonitor.com, который содержит более подробную информацию. Получить информацию о google.com с whois.markmonitor.com:
Книга 101 функция Asterisk
Познакомьтесь с возможностями Asterisk. Найдите инструменты, которые помогут вашей компании развиваться.















