如何禁用systemd-resolved并使用dnsmasq解析DNS?
Ubuntu 16.10+使用systemd-resolved
作为DNS解析器。
我更喜欢设置16.04使用, dnsmasq
作为解析器。
我怎么能在16.10 +上做到这一点,特别是在17.04?
dnsmasq
软件包仍然可以在16.10和17.04中使用。
-
在禁用
systemd-resolved
之前 安装dnsmasq
和依赖项 (或至少下载它们的软件包):sudo apt-get install dnsmasq
-
禁用
systemd-resolved
并validationdnsmasq
是否正在运行:sudo systemctl stop systemd-resolved sudo systemctl disable systemd-resolved systemctl status dnsmasq
-
季节
dnsmasq
味道。 应用设置后,重新启动dnsmasq
:sudo systemctl stop dnsmasq sudo systemctl start dnsmasq
在步骤2之后,您可能没有工作系统解析程序,直到第3步完成。 您可能需要重新启动网络子系统(或简单地重新启动)才能使用默认配置来运行dnsmasq
。 在我的测试中,将已知的DNS服务器添加到/etc/dnsmasq.conf
并重新启动dnsmasq
就足以让它在liveCD环境中运行。
除了@quixotic的答案:
确保你在/etc/NetworkManager/NetworkManager.conf中:
[main] dns=dnsmasq
如果您需要添加它,请重启NetworkManager,如下所示:
sudo systemctl restart NetworkManager
/etc/resolv.conf
需要是/var/run/NetworkManager/resolv.conf
的符号链接。 可以这样做
sudo rm /etc/resolv.conf; sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf