Как отключить systemd-resolve в Linux

В данной статье мы рассмотрим вопрос отключения systemd-resolve в ОС семейства Linux, таких как Ubuntu или Mint.


Отключаем systemd-resolve

Для этого необходимо выполнить следующие команды:

sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved

Первая команда отключает автостарт сервиса systemd-resolved, а вторая - прерывает его работу.

Вносим правки в resolv.conf

Т.к. мы выключили сервис, который позволял разрешать доменные имена, то нам необходимо отредактировать конфиг /etc/resolv.conf, чтобы у нас все работало как надо без него, используя внешние DNS сервера.

Если этого не сделать, то возможны проблемы в работе и получение различных ошибок, например:

Temporary failure in name resolution

Чтобы исправить это безобразие, сначала удаляем симлинк для конфига:

sudo rm /etc/resolv.conf
Если вы захотите вернуть обратно данный симлинк, то оригинальный файл можно найти по следующему пути: /run/systemd/resolve/stub-resolv.conf

После этого, необходимо создать новый конфиг /etc/resolv.conf и вписать в него настройки, которые актуальны для вашего случая, например так:

nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com domain.local

nameserver 8.8.8.8 и nameserver 8.8.4.4 - адреса DNS серверов, к которым будут делаться обращения для разрешения доменных имен.
search example.com domain.local - возможные суффиксы для адресов, в том случае, если не удалось обнаружить адрес в том виде, как он был изначально задан. Т.е. при попытке разрешить доменное имя sysadmin, будут последовательно к нему дописаны указанные выше суффиксы и предпринята попытка разрешить их в виде sysadmin.example.com, а в случае неудачи, то sysadmin.domain.local. Если для вас это не актуально, то данную строчку можно не прописывать вообще.

Вносим правки в NetworkManager.conf (Опционально)

Если вы пользуетесь каким-либо окружением рабочего стола, а не голой консолью, то необходимо еще внести правки в конфиг /etc/NetworkManager/NetworkManager.conf, чтобы и в графической среде у вас все работало как следует. Для этого открываем для редактирования указанный конфиг и вносим в секцию [main] следующую строку:


dns=default

Целиком, это может выглядеть примерно так:

[main]
plugins=ifupdown,keyfile
dns=default

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

После того, как вы внесли правки в конфиг и сохранили его, необходимо перезапустить network-manager следующей командой:

sudo service network-manager restart

После чего, все должно нормально работать.



Добавить комментарий

Ваш e-mail не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.