从 NetworkManager 迁移到 systemd-resolved

从 NetworkManager 迁移到 systemd-resolved

有人能解释一下 systemd-resolved 是如何工作的吗?从 fedora 30 重新安装到 fedora 33 后,我无法使用过时的 SNX VPN。根本原因是 DNS 记录未更新。以前当我启动 snx vpn 时,/etc/resolv.conf 中出现了新的 dns 记录,其内容如下:

cat resolv.conf
# Generated by NetworkManager
nameserver A.B.C.D
nameserver 8.8.8.8
search <some urls>

现在这个文件包含以下内容:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# etc.

并且其内容对vpn启动没有反应。

似乎是 NetworkManager 和 systemd-resolved 之间的某些桥接不起作用。Arch wiki 提到需要systemd-resolvconf为旧版程序安装,但这不适用于 Fedora。

问题:

  1. 如何让它自动工作?当我启动snxvpn 时,之前与 NetworkManager 进行过一些通信(可能不知道实际上发生了什么),导致重新生成 resolv.conf。如何修复 fedora 33,以便 snx 仍然更新名称服务器列表和搜索模式。

  2. 如果由于某种原因而无法实现,那么现在如何手动添加 DNS 记录,最好使用某些脚本而不必在某些 GUI 上单击它。

答案1

好的,在搜索了很多有关如何使用 systemd-routed 的信息后,我发现几乎没有,关于VPN,我发现了一些500 LOC 复杂的 bash 脚本我认为,要想让它工作,最好的解决方案与 SELinux 一样。除非你使用神圣的学习材料进行过适当的培训,并花了很多时间,否则普通人只有一个解决方案:关闭它。

https://askubuntu.com/questions/907246/how-to-disable-systemd-resolved-in-ubuntu

与 Fedora 一样有效。如图所示禁用后,VPN 可以像以前一样工作。

如果有人有一些神圣的材料,或者任何东西,让我可以从中学到如何正确使用它而不必关闭任何东西并利用它的好处,请分享。

相关内容