Flo*_*nle 5 network-manager dns dnsmasq
我正在尝试进行一些故障排除并在我的笔记本电脑上安装 dnscrypt(-proxy)。我想找出我的标准 Ubuntu 安装(当然还有 NetworkManager 和 dnsmasq)有效地使用了哪些 DNS 服务器。但是我发现 dnsmasq 的配置是一个迷宫。我无法找出它设置要查询的 DNS 服务器。
首先,我检查了/etc/resolv.conf,当然,它设置为查询127.0.1.1dnsmasq-base 正在侦听的位置。好的,是时候检查 dnsmasq 配置,它设置为查询哪些服务器。/etc/dnsmasq.d/但是,它是空的,除了network-manager一个条目:bind-interfaces。那里帮助不大。所以我检查了 NetworkManager 如何调用 dnsmasq:
$ pgrep -a dnsmasq
1786 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d
Run Code Online (Sandbox Code Playgroud)
好了,所以它不使用/etc/resolv.conf,它忽略了/etc/hosts/,它的配置文件设置为/dev/null和/etc/NetworkManager/dnsmasq.d是空的,太。所以那里也没有任何线索。必须回退到某些默认值还是什么?
我发现的其他文件:
/run/NetworkManager/resolv.conf 说 nameserver 127.0.1.1/run/resolvconf/resolv.conf 说 nameserver 127.0.1.1/etc/resolv.conf 说 nameserver 127.0.1.1/etc/resolvconf/base为空,./head只有评论/var/并且/run/没有其他文件命名resolv.conf运行wireshark,我可以看到它正在向我的家庭路由器询问 DNS 答案(如预期)。但是它从哪里获得该 IP 以及我在哪里更改它,而不使用 dnsmasq 和 NetworkManager 的所有其他功能(例如,为 VPN 拆分 DNS)?
找到通过 DHCP 接收到该信息后的保存位置:
/var/lib/NetworkManager/*lease
Run Code Online (Sandbox Code Playgroud)
要更改这些设置,请参阅 NetworkManager 的文档:
nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
nmcli con mod test-lab ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod test-lab ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2262 次 |
| 最近记录: |