大约 2 个小时以来,我一直在绞尽脑汁尝试让 /etc/resolv.conf 使用 127.0.0.1 而不是 127.0.0.53
我刚刚在整个分区上执行完 grep -r,但找不到这个该死的文件来自哪里。每当我重新启动服务时,它都会默认回到 127.0.0.53
这实际上只是为了让 dnsmasq(在 docker 中运行)成为直通 DNS。
答案1
Ubuntu 17.10 版(可能)现在使用网络计划默认提供其 DNS来源。
我的默认 Ubuntu(bionic)如下所示
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
这就是为什么我后来发现NetworkManager
它的 X/GTK 前端是设置 DNS 的合适地方(尽管我也不知道 nmcli)。显然,目前支持的渲染器是NetworkManager
和networkd
,尽管有说明1仅NetworkManager
支持WiFi。
我还没有找到一个地方进行设置,以便它可以适用于所有界面,例如旧的编辑方法/etc/resolv.conf
,它在 vanilla 18.04 中不起作用(也许可以,但这需要大量工作,我以最终目标为导向)。
答案2
前註:绝不手动编辑 /etc/resolv.conf
/etc/resolv.conf 中的 127.0.0.1 来自 dnsmasq。
/etc/resolv.conf 中的 127.0.0.53 来自 systemd-resolved。
dnsmasq 和 systemd-resolved 通常不应同时运行……因为它们往往会互相干扰。
如果您希望 dnsmasq 运行,您必须告诉 systemd-resolved 退出,就像这样...
sudo pico /etc/systemd/resolved.conf
改变:
#DNSStubListener=yes
到:
DNSStubListener=no
然后重新启动。