使 systemd 的网络自动挂载有条件地要求或绑定到 openvpn 单元

使 systemd 的网络自动挂载有条件地要求或绑定到 openvpn 单元

我有一台服务器,比如说,在我家,我们称它为nas.local,所以当我不在家时,我可以建立到家庭网络的 OpenVPN 连接,然后从我的 nas 服务器挂载一些目录:

我的“客户端”笔记本电脑装有 linux <-> openvpn <-> sshfs 从 挂载nas.local

使用 Windows 客户端时,我只需手动连接 openvpn-gui。使用 Linux 客户端时,我使用依赖于 openvpn 的 systemd automount。问题是,当我将笔记本电脑带回家时,实际上不需要 openvpn,但 automount 仍然需要它。

mnt-nas.generic.automount

[Unit]
Description=nas.local 'generic' share (automount)
[email protected]
Requires=network-online.target
[Automount]
Where=/mnt/nas.generic
TimeoutIdleSec=301
[Install]
WantedBy=graphical.target

可能对的依赖network-online.target是多余的,我应该使用 BindsTo 而不是 Requires 作为 openvpn 依赖,但这不是重点。

如何使自动挂载有条件地依赖于 openvpn - 比如,如果子网中存在具有 IP 地址的网络接口,则不依赖它192.168.99.0/24? 我认为这应该很难,因为只有在网络启动时才能评估这种情况。

相关内容