Как узнать dns сервер linux
Перейти к содержимому

Как узнать dns сервер linux

  • автор:

Как проверить 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 дает более подробный вывод.

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

проверить dns записи домена 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 записи домена

Таким образом передавая нужное значение можно проверять почтовые 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.38

3. Ещё один способ узнать 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.

Традиционно DNS в Linux настраивалась через файл /etc/resolv.conf. Сейчас, однако, он может оказаться бесполезным. Откроем его любым консольным текстовым редактором, например nano:

sudo nano /etc/resolv.conf

Мы можем увидеть следующее:

Просмотр и изменение DNS в Linux

Это значит, что в системе есть systemd, который содержит свой локальный сервер DNS. Его адрес и прописан в этом файле. Однако, в конечном итоге, используются другие DNS-серверы! Посмотреть их можно по-разному. Можно использовать команду

systemd-resolve --status

Вы увидите нечто подобное тому, что на скриншоте ниже. Если в системе несколько сетевых интерфейсов, информация будет предоставлена по каждому.

Просмотр и изменение DNS в Linux

Другой способ — использовать утилиту nmcli. Введите команду

nmcli device show | grep DNS

Просмотр и изменение DNS в Linux

Как изменить 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-серверов прописываются через запятую.

Просмотр и изменение DNS в Linux

Как видим на этом примере, 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 сервера.

Получение A-записи для домена google.com

Строки, начинающиеся с «;» – комментарии. Отключаются опцией +nocomments.
Вначале указывается версия dig, далее заголовок ответа, от DNS сервера.
Далее — раздел вопросов, показывающий, что запрашивается А-запись. Раздел отключается опцией +noquestion.
В разделе ответов перечислены ip адреса.
В конце указаны статистические данные, отключаемые опцией +nostats.

Чтобы не вводить вручную, опции можно сохранить в файл $HOME/.digrc. Тогда при запуске dig автоматически будут использоваться опции из файла.

Укороченный вариант получения информации А-записи можно получить командой

dig google.com +short 

dig a google short.jpg

Укороченный вариант запроса А-записи

Получить доменное имя по IP-адресу (т.е. запрос PTR-записи) — указать параметр -x:

Запрос домена по ip адресу

С помощью 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

Запрос записи у сервера по умолчанию и у другого DNS сервера

Запрос MX-записи для домена google.com. MX-запись указывает на имя почтового домена (не ip адрес).

dig google mx +short

Запрос MX-записи для домена google.com +short

Для того, чтобы узнать DNS сервер 192.168.1.1. Вверу трейса расположены корневые DNS сервера (“.” – означает корень иерархии), которые определены с помощью NS-записи. Dig запросил А-запись google.com, выбрав случайный корневой сервер. Получив список NS-серверов, запросил у одного из них А-запись для google.com и получил ответ.

dig google.com +trace

Трассировка DNS запроса информации о домене google.com

Получить все DNS записи для домена можно командой:

dig any google.com

Запрос всех DNS записей для домена

Запрос дополнительной информации (TXT-записи)

dig google.com txt | grep txt

Запрос дополнительной информации (TXT-записи)

Whois – утилита, выводящая информацию о домене: ns сервера, регистратора, дату регистрации, дату истечения срока регистрации, информацию о владельце и т.д. Часто используется для проверки занятости доменных имен. При изменении информации, whois данные домена обычно обновляются в течение суток.

whois google.com

Запрос whois информации для домена google.com

В ответе есть ссылка на другой whois сервер whois.markmonitor.com, который содержит более подробную информацию. Получить информацию о google.com с whois.markmonitor.com:

 Запрос whois о google.com с whois.markmonitor.com

Книга 101 функция Asterisk

Познакомьтесь с возможностями Asterisk. Найдите инструменты, которые помогут вашей компании развиваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *