OpenVPN和systemd-resolved


9

如何将通过openvpn服务器推送的dns与systemd-resolved一起使用?

在我决定“升级”到systemd-networked之前。我可以使用一些openvpn-resolv-conf脚本变体来调用resolvconf,以在成功建立vpn隧道时管理/etc/resolv.conf中的条目。

这将使我能够解析VPN隧道远程端的名称。

现在,由systemd-resolved管理/run/systemd/resolved/resolv.conf,是否可以将通过openvpn连接推送的DNS自动添加到用于解析的名称服务器列表中?

Answers:



2

编辑:截至今天,此解决方案已过时。较新的systemd版本的用户应参考Piotr Dobrogost提供的解决方案。

诀窍是使用DNS设置创建一个临时网络配置文件,然后重新启动systemd-network以便应用全局DNS设置。

我已经写了一个修改后的脚本来完成这个任务。您可以在此处查看:update-systemd-network.sh


我发现在重新启动时通过openvpn配置推送的路由创建存在竞争条件systemd-networkd。但是,systemd-network除了创建新的网络配置并重新启动外,还可以在其中创建一个非常相似的文件/run/systemd/resolved-conf.d/,然后重新启动systemd-resolved,这似乎可行
sw1nn

看起来在我最初提出问题后的229中添加了systemd-resolved中的上述功能。
sw1nn

据#systemd @grawity - 正确的方法,使其工作是调用org.freedesktop.resolve1.Manager.SetLinkDNS()通过的DBus
彼得·Dobrogost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.