我正在尝试更好地了解网络服务是如何组织和协同工作的。最近我从 Ubuntu 转到了 Manjaro。在 Ubuntu 上,systemd-resolved
它用于 DNS 解析管理。在 Manjaro 20 中,它默认是禁用的。
我找到了这个主题https://forum.manjaro.org/t/etc-resolv-conf-doesnt-update-dns-after-openvpn/116056建议完全禁用 NetworkManager。这是个好主意吗?
如果我停止 NetworkManager gui,网络就会停止显示,但网络实际上可用且工作正常。在 Ubuntu 中,例如停止 NM 会导致连接断开。
我读了几天的手册,例如这些,但仍然不清楚事物是如何制作的。 https://wiki.archlinux.org/index.php/NetworkManager https://wiki.gnome.org/Projects/NetworkManager/DNS
有 systemd-resolved、systemd-networkd、dnsmasq、NetworkManager、resolvconf、netplan(Ubuntu 的新功能,使用起来很简单)。我想知道它们是如何相互关联的?有人能帮我吗,链接或任何你认为适用的东西?
出现此问题的原因之一是因为我设置了 VPN,并遇到了 DNS 泄漏,这是由于 NetworkManager 覆盖/etc/resolv.conf
从 VPN 服务器选项推送并通过进行设置造成的/etc/openvpn/update-resolv-conf
。我添加了/etc/NetworkManager/conf.d/my.conf
以下内容。
[main]
dns=none
之后一切看起来都很好。所以我理解man resolv.conf
这是 DNS 服务器列表,而我上面提到的服务(如 NM)只是通过定义不同的规则来管理它,例如用符号链接替换自己的文件等。?
另外令人困惑的是,它man resolvconf
现在告诉我们它实际上是符号链接到的resolvectl
,但却file /usr/bin/resolvconf
给出了这个。
/usr/bin/resolvconf: POSIX shell script, ASCII text executable
那么什么是“正确的”、最简单和最现代的配置?我们也需要对此做出解释。
我并不是在寻找高层次的概述。相反,我想知道这些组件是如何相互作用、发生冲突或避免冲突的。
提前致谢。