Шпаргалки / Объяснение

Шпаргалка: отделить системное разрешение имени от DNS

Сравните getent, hosts и конфигурацию NSS, затем при необходимости DNS-инструмент. Один успешный DNS-запрос не гарантирует такой же результат приложения.

Начальный6 минОбщие принципы LinuxLinux · понятия и интерфейсы

Когда открыть эту шпаргалку

Приложение может получать адреса через системный resolver, который учитывает больше источников, чем прямой DNS-запрос. Локальный hosts, порядок NSS, кэши и отдельные механизмы приложения способны изменить результат. Начните с того пути, которым пользуется нужная программа.

Выбор команды

localhost подходит для проверки локальной цепочки без обращения к вымышленному внешнему сайту. Для рабочего имени используйте только нужный вам узел и учитывайте сетевые запросы.

Что выяснитьКоманда или выражениеКак читать результат
Системная адресная выборкаgetent ahosts localhostРезультат NSS и адресного разрешения; строки могут повторяться для разных socket type.
Записи hosts-базыgetent hosts localhostПоведение запроса не обязано совпадать с ahosts во всех условиях.
Порядок sourcesgrep '^hosts:' /etc/nsswitch.confСтрока задаёт источники и условия перехода между ними.
Локальный файлcat /etc/hostsЭто один источник, а не вся система разрешения.
Состояние systemd-resolvedresolvectl statusПрименимо только при наличии соответствующей службы и инструмента.

Короткая последовательность

Сопоставьте результат системного запроса и настроенный порядок hosts. Отсутствие файла NSS или утилиты означает другую конфигурацию окружения, а не автоматически сломанный DNS.

Локальная Linux-система
getent ahosts localhost
grep '^hosts:' /etc/nsswitch.conf

Проверка вывода

Успешный dig проверяет конкретный DNS-запрос, но не весь путь NSS, которым пользуется приложение. SERVFAIL, NXDOMAIN, timeout и пустая выборка имеют разный смысл. Отдельно проверяйте, какое семейство адреса пытается использовать клиент.

Границы применения

Не перезаписывайте /etc/resolv.conf без проверки того, кто им управляет. NetworkManager, systemd-resolved, контейнерная среда или другая служба могут пересоздавать конфигурацию. Изменение публичного DNS-сервера не исправляет все ошибки локальной цепочки.

Технические источники

Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.

  • Руководство getent(1)
  • Руководство nsswitch.conf(5)
  • Руководство resolvectl(1)

Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.

Примеры для собственной Linux-системы с Bash и указанными утилитами. Наличие пакетов и набор опций проверьте в установленной версии; браузерный терминал поддерживает только своё подмножество.

От материала к практике

Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.

Поиск по Linux

Поиск локальный. ↑ ↓ — перейти к результату, Enter — открыть.

Навигация