DNS в Linux Linux

Linux: порядок разрешения имён — /etc/hosts и nsswitch.conf

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Имена сначала проверяются в /etc/hosts, затем в DNS (порядок задаёт nsswitch.conf). Проверьте файл при странном поведении.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
Имена резолвятся неверно

Имена сначала проверяются в /etc/hosts, затем в DNS (порядок задаёт nsswitch.conf). Проверьте файл при странном поведении.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Старая записьНе тот IP. Сопоставьте этот признак с точной стадией возникновения неисправности.Установите совместимую версию только из доверенного источника, предварительно проверив модель или пакет.
Порядок nsswitchНеожиданно. Сопоставьте этот признак с точной стадией возникновения неисправности.Исправьте. Конкретное действие зависит от проверки причины «Порядок nsswitch», описанной в пошаговой инструкции.
Кэш nscdСравните состояние после штатного закрытия и повторного открытия «DNS Linux»; не очищайте локальные данные до проверки резервной копии.Исправьте конкретный параметр после сохранения его исходного значения; не удаляйте весь профиль ради проверки.
ОпечаткаНе находит. Сопоставьте этот признак с точной стадией возникновения неисправности.Исправьте. Конкретное действие зависит от проверки причины «Опечатка», описанной в пошаговой инструкции.

#Пошаговое решение

  1. Определите точную причинуВ терминале выполните getent hosts example.com и dig example.com A; замените имя на проверяемое. Если ответы различаются, причина может быть в /etc/hosts, системе NSS или источнике DNS: dig обычно обращается к DNS напрямую и не следует всей цепочке NSS.
  2. Выполните основное действиеОткройте просмотр локальных правил без изменения: grep -n "example.com" /etc/hosts, заменив домен; затем grep "^hosts:" /etc/nsswitch.conf. Запись в /etc/hosts имеет приоритет, если порядок содержит files до dns. Проверьте, не создаётся ли запись конфигурационным инструментом организации.
  3. Исключите другую причинуЕсли найдена точно лишняя строка, предварительно создайте копию /etc/hosts с правами администратора и измените только эту строку в редакторе, например sudo nano /etc/hosts. Для nsswitch.conf менять порядок источников следует лишь по документации системы: ошибка может нарушить вход в сеть и имя хоста.
  4. Проверьте результат и остановитесь при рискеВыполните getent hosts example.com повторно; результат должен соответствовать нужному источнику. Если этого не произошло, укажите администратору оба результата и строки hosts: из nsswitch, не меняя другие службы.

#Если проблема осталась

Если «Linux: порядок разрешения имён — /etc/hosts и nsswitch.conf» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.