Как отключить systemd-resolve в Линукс

В данной статье мы рассмотрим вопрос отключения 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

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

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *