我正在尝试使用 openVPN 设置网络
当我的文件结构如下所示时,它运行良好:
/etc/openvpn
/client
client-01.conf
client-01.key
client-01.crt
ca.crt
systemctl start openvpn-client@client-01
但我想使用单独的 ca.cert 文件访问 2 个不同的网络,因此我将结构更改为以下内容:
/etc/openvpn
/client
/intranet.example.com
client-01.conf
client-01.key
client-01.crt
ca.crt
/intranet.foo.com
...
systemctl start [email protected]/client-01
尝试启动 openvpn 时,它会冻结,无法执行任何操作。
尝试使用以下方法启用它时, 我收到错误:
systemctl enable [email protected]/client-01
Failed to enable unit: File [email protected]/client-01: Invalid argument
是否可以使用 systemd 在子文件夹中使用 openvpn?
答案1
在 systemd 服务的定义中,有找到它的路径。理论上,你可以在服务的描述/定义中更改它。
无论如何,我认为这不是真正需要的。您请求以下结构:
/etc/openvpn
/client
/intranet.example.com
client-01.conf
client-01.key
client-01.crt
ca.crt
/intranet.foo.com
...
什么限制你使用这些结构(这是 openvpn-client 的设计方式):
/etc/openvpn
/client
intranet.example.com.conf
intranet.example.com.key
intranet.example.com.crt
intranet.example.com-ca.crt
intranet.foo.com.conf
intranet.foo.com.key
intranet.foo.com.crt
intranet.foo.com-ca.crt
...
及相关服务:
[email protected]
[email protected]
重点是@后面的部分,这部分指向/etc/openvpn/client/<id>.conf
(以 为例openvpn-client@id
)。其他相关文件名仅取决于配置文件的内容(您提及/链接的文件)。
举个例子。
openvpn-client@id => /etc/openvpn/client/id.conf
/etc/openvpn/client/id.conf:
...
ca shared-ca.pem
key private.key
cert public.crt
...
结构如下:
/etc/openvpn/client
id.conf
shared-ca.pem
private.key
public.crt