systemd-resolved、resolvconf.service、resolvconf 和 openresolv。为什么,哪个以及如何?

Chr*_*ian 14 vpn networking dns resolv.conf systemd-resolved

我正在使用一个 VPN 客户端,它将两个名称服务器添加到/etc/resolv.conf. 我所有的连接都由网络管理器管理。

我必须将此 VPN 客户端用于我的工作 VPN,但是在 Ubuntu systemd-resolved16.10进入后,我的连接和 DNS 出现问题。看起来由于某种原因systemd-resolved更改/etc/resolv.conf回默认名称服务器,这使得内部页面无法解析。我进一步研究了这个并最终替换resolvconfopenresolv. 这有很大帮助,但在 VPN 启动一段时间后仍会systemd-resolved重置/etc/resolv.conf

这可能是因为连接已建立或几分钟后,有时甚至根本没有。然后我禁用systemd-resolvedsystemd resolvconf.service只有运行openresolv。看起来一切都很好。

然而,这一切都非常令人困惑。是否有理由systemd-resolved与其中之一一起使用?它在 Ubuntu 16.10 中启用,所以我认为一定有原因,但它似乎引起了/etc/resolv.conf.

如果我可以跑步operesolv并得到解释,那就太好了。我已经对它进行了大量阅读,但我仍然不明白为什么/etc/resolv.conf要这样管理,只是当我使用systemd它时,我无法使用我的 VPN 客户端。

Jay*_*Eye 0

您使用的是哪个 VPN 客户端?我在使用直接 OpenVPN 时遇到了问题,但安装 NM 版本的客户端解决了问题。好吧,对于大多数人来说,我无法阻止一条路线被推送,但这是一个完全不同的问题。

要点是:您的 VPN 客户端必须了解如何与 systemd 管理 DNS 服务的想法进行交互。我不建议这样做,但您可以尝试禁用 resolvd 服务 ( systemctl disable systemd-resolved.service) 以查看它是否有所改善,但最终您将必须获得一个了解如何提交到 systemd 的反复无常的客户:)

(systemd 的船很久以前就已经启航了,我们先不讨论为什么要做一些事情。)


Chr*_*ian 0

我使用的 VPN 客户端的更新解决了(双关语)这个问题。它是 Fortinet VPN 的 OpenFortiGui 客户端。