Почему правка resolv.conf не работает
Самая частая ошибка новичка — открыть файл /etc/resolv.conf, вписать туда адреса и удивиться, что через некоторое время всё вернулось. В современных дистрибутивах этим файлом управляют другие службы: NetworkManager, systemd-resolved или resolvconf. Они перезаписывают его при каждом изменении сети.
Поэтому сначала выясните, кто отвечает за DNS в вашей системе. Посмотрите, куда указывает resolv.conf: если это ссылка на файл в каталоге systemd, работает systemd-resolved. Правильный способ настройки зависит от этого ответа, и правку файла напрямую лучше оставить как крайнюю меру.
Настройка через NetworkManager
Если сеть управляется NetworkManager, DNS можно задать для конкретного соединения. В графическом окружении откройте параметры сетевого соединения, вкладку IPv4, переключите метод на автоматический (только адреса) и в поле DNS-серверов перечислите адреса через запятую. Так адрес и шлюз остаются от DHCP, а серверы имён ваши.
То же самое делается из терминала утилитой nmcli: команда изменения свойства соединения ipv4.dns с адресами и параметр ipv4.ignore-auto-dns yes, если нужно игнорировать выданные роутером адреса. После этого соединение нужно перезапустить, отключив и включив его. Имя соединения посмотрите командой nmcli connection show.
Работа с systemd-resolved
Если работает systemd-resolved, посмотреть текущее состояние можно командой resolvectl status. Она показывает серверы для каждого сетевого интерфейса и глобальные. Задать адреса для интерфейса можно командой resolvectl dns с именем интерфейса и адресами, но такая настройка сбрасывается при перезагрузке, если не сохранить её на уровне сетевого менеджера.
Для постоянного эффекта настройте DNS в NetworkManager или в конфигурации сетевой службы, а resolved будет просто исполнителем. Отдельно в его конфигурационном файле можно указать серверы по умолчанию и включить режим DNS поверх TLS, если версия его поддерживает.
Особенности разных дистрибутивов
В настольных дистрибутивах общего назначения чаще всего стоит NetworkManager вместе с systemd-resolved. В серверных установках встречаются netplan, systemd-networkd или файловая конфигурация в каталоге сетевых настроек. Способ смены DNS на сервере отличается: обычно нужно править файл конфигурации сети и применить его специальной командой.
Прежде чем делать что-то по инструкции из интернета, проверьте, какая утилита управляет вашей сетью. Копирование чужой команды без понимания среды — частая причина того, что настройка «сбрасывается» после перезагрузки.
Проверка и диагностика
Проверьте результат командой resolvectl status или nmcli device show с фильтром по DNS, затем выполните запрос утилитой dig и посмотрите строку SERVER в конце. Если сервер не совпадает, возможно, на интерфейсе одновременно действуют глобальные и локальные записи, и система выбирает не те.
Ещё один нюанс: некоторые VPN-клиенты и контейнерные окружения добавляют свои записи и меняют порядок. Проверьте выводом статуса, какие интерфейсы активны. Если имена не разрешаются вообще, временно вернитесь к автоматическим настройкам и по одному вводите значения, чтобы найти причину.
Постоянная настройка и откат
Хорошая настройка должна переживать перезагрузку и смену сетей. Проверьте её, перезапустив соединение и выполнив статус-команду. Если адреса пропали, значит, изменения были временными: сохраните их в свойствах соединения или в конфигурации сетевой службы.
Для отката удалите свои адреса из свойств соединения и верните автоматический режим. Если всё же меняли resolv.conf вручную и потеряли исходное содержимое, перезапуск сетевой службы обычно воссоздаёт файл автоматически.
Быстрый тест выглядит так: отобразите статус резолвера, выполните запрос dig к любому домену и посмотрите строку SERVER, затем перезапустите соединение и повторите. Если результат совпадает до и после перезапуска, настройка постоянная. Если после перезапуска возвращаются прежние адреса, изменения были внесены не в то место, и нужно открыть параметры самого соединения.
Если вы управляете несколькими машинами, зафиксируйте выбранный способ в заметках и придерживайтесь его везде. Смесь ручных правок и настроек менеджера сети приводит к тому, что на одной машине всё работает, а на другой адреса неожиданно меняются после обновления.