Шпаргалка: отделить системное разрешение имени от DNS
Сравните getent, hosts и конфигурацию NSS, затем при необходимости DNS-инструмент. Один успешный DNS-запрос не гарантирует такой же результат приложения.
Когда открыть эту шпаргалку
Приложение может получать адреса через системный resolver, который учитывает больше источников, чем прямой DNS-запрос. Локальный hosts, порядок NSS, кэши и отдельные механизмы приложения способны изменить результат. Начните с того пути, которым пользуется нужная программа.
Выбор команды
localhost подходит для проверки локальной цепочки без обращения к вымышленному внешнему сайту. Для рабочего имени используйте только нужный вам узел и учитывайте сетевые запросы.
| Что выяснить | Команда или выражение | Как читать результат |
|---|---|---|
| Системная адресная выборка | getent ahosts localhost | Результат NSS и адресного разрешения; строки могут повторяться для разных socket type. |
| Записи hosts-базы | getent hosts localhost | Поведение запроса не обязано совпадать с ahosts во всех условиях. |
| Порядок sources | grep '^hosts:' /etc/nsswitch.conf | Строка задаёт источники и условия перехода между ними. |
| Локальный файл | cat /etc/hosts | Это один источник, а не вся система разрешения. |
| Состояние systemd-resolved | resolvectl status | Применимо только при наличии соответствующей службы и инструмента. |
Короткая последовательность
Сопоставьте результат системного запроса и настроенный порядок hosts. Отсутствие файла NSS или утилиты означает другую конфигурацию окружения, а не автоматически сломанный DNS.
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 или проверьте знакомые команды в учебном терминале.