背景
我通过以下方式管理我的 WLAN 接口systemd-networkd并使用systemd 解析对于整个系统。我有多个由 OpenVPN 或 Openconnect 管理的 VPN 连接。我已将它们正确配置为通过systemd 解析API(例如由 完成/etc/openvpn/update-systemd-resolved
)并且它可以工作。
问题
不幸的是,默认情况下,VPN 链接已DNSDefaultRoute=yes
报告为resolvectl
.这意味着当 VPN 连接中断时,系统上的 DNS 解析有时可能会挂起。
目标
我想设置DNSDefaultRoute=no
这些 VPN 接口,但保留它们联合国管理者systemd-networkd,即让VPN工具配置接口。
更一般地说,我的问题是是否可以有一个每个链接systemd 解析配置没有链接由以下人员管理systemd-networkd。
到目前为止我尝试过的
我尝试创建一个/etc/systemd/network/30-tun-no-default-route.network
包含以下内容的文件
[Match]
Name=tun_*
[Link]
Unmanaged=true
[Network]
DNSDefaultRoute=false
我测试了Unmanaged=false
链接是否获得了正确的DNSDefaultRoute=false
设置,但当然到那时systemd-networkd断开 VPN 连接。不幸的是,使用Unmanaged=true
,resolved 似乎忽略了这个设置。
对我来说这似乎是systemd 解析不解释*.network
文件本身。然而,这使得很难为每个链接设置此类与解析相关的设置。也许我应该为此提交一个功能请求?
另一种可能的解决方法是运行 VPN 后脚本resolvectl default-route $IFACE
,但对我来说这似乎不系统,并且违背了大多数情况下进行声明式配置的目的。系统东西。