在 systemd 下使用 openvpn 与多个服务器

在 systemd 下使用 openvpn 与多个服务器

初步问题:命令使用的默认服务器存储在哪里systemctl start openvpn(当然假设是 sudo)?它应该在 中/etc/default/openvpn,就像以前的 SysV 一样,但如果我更改它systemctl仍然将 openvpn 连接到旧服务器。

现在主要问题。

根据将 OpenVpn 与 systemd 结合使用并且Openvpn 的 systemd 正确方法 (和其他来源)如果我的 VPN 有两个不同的服务器(例如伦敦和巴黎),那么我需要两个配置文件/etc/openvpn/London.conf/etc/openvpn/Paris.conf以便我可以使用systemctl start openvpn@London或启动我选择的服务器systemctl start openvpn@Paris

好的,这有效。

现在假设我有两个不同的 VPN 提供商(P1 和 P2),服务器分别位于伦敦和巴黎。设置配置文件的一种方法是

/etc/openvpn/P1_London.conf

/etc/openvpn/P1_Paris.conf

/etc/openvpn/P2_London.conf

/etc/openvpn/P2_Paris.conf

然后我应该相应地启动 openvpn 。

相反,我想做的是将conf文件放在单独的目录中,每个提供者一个目录:

/etc/openvpn/P1/London.conf

/etc/openvpn/P1/Paris.conf

/etc/openvpn/P2/London.conf

/etc/openvpn/P2/Paris.conf

如果我确实这样做,然后尝试启动systemctl start openvpn@P1/London其他服务器或任何其他变体,我会收到错误。

问题是:我怎样才能得到我想要的东西?

答案1

我通过为我想要在 下创建的每台服务器创建文件夹来实现这一点/etc/openvpn/server/

在这些目录中,我保存ccd目录、ipp.txt文件和秘密。

只有每个服务的配置才会访问/etc/openvpn/server/foo.conf并引用子目录中的配置项。例如

ifconfig-pool-persist foo/ipp.txt

然后该服务将启动systemctl start [email protected]

相关内容