Как я могу отключить systemd-resolved в Ubuntu 17.04?
Отключение с помощью systemctl disable
не работает, служба, кажется, перезапущена (Networkmanager?)
Как я могу отключить systemd-resolved в Ubuntu 17.04?
Отключение с помощью systemctl disable
не работает, служба, кажется, перезапущена (Networkmanager?)
Ответы:
Этот метод работает в выпусках Ubuntu 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Cosmic) и 19.04 (Disco):
Отключите и остановите службу с разрешением systemd:
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Затем поместите следующую строку в [main]
разделе вашего /etc/NetworkManager/NetworkManager.conf
:
dns=default
Удалить символическую ссылку /etc/resolv.conf
rm /etc/resolv.conf
Перезапустите NetworkManager
sudo systemctl restart NetworkManager
Также учтите, что отключение systemd-resolvd может нарушить разрешение имен в VPN для некоторых пользователей. Смотрите эту ошибку на панели запуска (спасибо, Винсент).
Я недавно обновился до (k) Ubuntu 17.04 и также наткнулся на переход на systemd.
Я считаю, что мои настройки довольно типичны, поскольку в моем широкополосном концентраторе есть провайдер DNS, и это мой основной источник информации для всех устройств в моей сети (из которых у меня есть несколько).
В systemd есть какая-то красота, но не все так плохо, но что действительно плохо, так это документация, отсутствие связи со стороны команды Ubuntu и фанатичное «давайте просто изменим это, несмотря на то, что это ломает все».
Решением для меня после того, как вырвать волосы, было отредактировать /etc/systemd/resolved.conf:
[Resolve]
DNS=192.168.1.254 # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan # <-- change to your localdomain name (maybe .local)
#LLMNR=yes <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
После того, как я не понял, почему это не сработало, я понял, что нужно также переключить /etc/resolv.conf на тот, что предоставлен systemd. Это не относится к установке из коробки (по неизвестным мне причинам).
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Локальный DNS-сервер не используется, и все DNS-запросы отправляются на мой HUB.
Я думаю, что это гораздо лучшее решение, чем вырезать и вставить какое-то другое решение, поскольку systemd-resolv теперь используется по умолчанию.
Связанная проблема, между прочим, заключается в том, что /etc/nsswitch.conf кастрирован.
Следует читать:
hosts: файлы mdns4_minimal dns [NOTFOUND = возвращение], разрешение [! UNAVAIL = возврат] днс
Это запутанная конфигурация, поскольку [NOTFOUND = return] означает, что обработка на этом заканчивается. Записи после него никогда не будут использованы.
Если у вас есть проблемы с утечками в вашей VPN и вы не можете понять, как настроить systemd (как я), вы можете удалить ее, как описано в первом ответе, но не добавляйте dns=default
строку, потому что она активирует сервер имен 127.0. .0.1. Чтобы установить роутер как днс, создайте файл "tail" в вашей /etc/resolvconf/resolv.conf.d/
папке, добавив строкуnameserser 192.168.1.1
делать, ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
если вы испортили этот файл.