Инструменты DNS
100%

DNS · Урок 6

Инструменты DNS

Узнайте, как сравнивать системное разрешение имён и прямые DNS-запросы с помощью getent, resolvectl и dig.

Диагностика DNS начинается с определения проверяемого уровня. Инструменты системного резолвера учитывают локальные файлы и политику, а dig и nslookup отправляют DNS-запросы и могут напрямую обращаться к конкретному серверу.

Проверка системного резолвера

Используйте обычный системный путь службы имён хостов:

$ getent ahosts www.example.com

На хосте с systemd-resolved проверьте серверы отдельных соединений, поисковые домены и состояние протоколов:

$ resolvectl status
$ resolvectl query www.example.com

Приложение всё равно может использовать собственную библиотеку резолвера или прокси, поэтому при расхождении результатов воспроизведите запрос через само приложение.

Какая команда задействует настроенный системный путь службы имён?

Запросы с помощью dig

Укажите имя и тип записи:

$ dig www.example.com A
$ dig www.example.com AAAA
$ dig example.com MX

Вывод показывает ответивший сервер, статус, флаги, вопрос, ответ, авторитетные и дополнительные данные, время запроса и сведения о транспорте. Параметр +short удобен для сценариев, но скрывает доказательства, необходимые для диагностики.

Какой запрос запрашивает записи IPv6-адресов?

Выбор сервера

Явно укажите резолвер или авторитетный сервер:

$ dig @192.0.2.53 www.example.com A

Чтобы отличить кеш от авторитетного источника, сравнивайте настроенный рекурсивный резолвер, второй одобренный резолвер и каждый авторитетный сервер. Статус NOERROR может не содержать запрошенного ответа; NXDOMAIN означает, что запрошенное имя не существует, а SERVFAIL — что сервер не смог завершить запрос.

Может ли при NOERROR раздел ответа быть пустым?

Проверка рекурсии и авторитетности

Флаг rd в запросе требует рекурсии; ra в ответе сообщает, что сервер её предоставляет. aa означает авторитетность ответа. Запрашивайте авторитетный сервер с +norecurse, чтобы не спутать рекурсивный кеш с данными обслуживаемой зоны.

Команда dig +trace NAME выполняет собственный итеративный обход, начиная с корневых подсказок. Её результат может отличаться от производственного резолвера, потому что она обходит его кеш, пересылку, политику, проверку DNSSEC и сетевое расположение.

Что означает флаг ответа aa?

Проверка обратных запросов и TCP

Используйте -x, чтобы создать обратный PTR-запрос:

$ dig -x 192.0.2.25

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

$ dig +tcp @192.0.2.53 example.com SOA

Современный DNS может использовать UDP или TCP на порту 53; там, где они необходимы, нужно разрешить оба транспорта. Флаг усечения в UDP-ответе побуждает соответствующие стандарту клиенты повторить запрос через подходящий транспорт.

Что изменяет dig +tcp?

Урок завершён

Вы завершили Инструменты DNS

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

  • Использовать getent для настроенного пути системного резолвера.

  • Вызывать dig с явно указанными типами записей и серверами.

  • Совместно интерпретировать статус, флаги, разделы и ответивший сервер.

  • Отделять рекурсивный кеш от авторитетных данных.

  • Проверять обратные запросы и оба необходимых транспорта DNS.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Назад к DNS