Ubuntu/Debian OpenVPN 软件包包含 2 个神秘目录:
dpkg -L openvpn
...
/etc/openvpn/client
/etc/openvpn/server
...
我想知道这些目录的用途是什么?所有教程都建议将文件直接放入其中,/etc/openvpn/
并且 init/systemd 脚本也从那里选择配置文件。
Chroot?但是,为什么是 2?
答案1
在 v2.4 中,他们引入了针对客户端和服务器应用程序定制的新的 systemd 服务配置文件。
从 OpenVPN v2.4 开始,上游正在运送 systemd 单元文件,以提供对每个 OpenVPN 配置的细粒度控制,并尝试限制 OpenVPN 进程在系统上拥有的功能。
这些新的单元文件将客户端和服务器配置文件分开。配置文件保存在单独的目录中,以明确它们在哪个配置文件下运行。
通常,客户端配置文件不能绑定到端口 1024 以下的任何端口,并且客户端配置始终以 --nobind 启动。
它仍然向后兼容,即您仍然可以将.conf
文件存储在其中/etc/openvpn
。
如果您的配置是
/etc/openvpn/MyVpn.conf
,
请使用systemctl start openvpn@MyVpn
启动服务如果您的配置是
/etc/openvpn/client/MyVpn.conf
,
请使用systemctl start openvpn-client@MyVpn
启动服务如果您的配置是
/etc/openvpn/server/MyVpn.conf
,
请使用systemctl start openvpn-server@MyVpn
启动服务
答案2
由于我在东南地区的声誉太低,我无法在上面发表评论来回应 3dGrabber 的回答。我想为那些通过搜索找到答案的人指出上述答案中的一个错误,这样当他们以某种神秘的方式失败时,他们就不会感到困惑。
systemctl start [email protected]
应该:
systemctl start openvpn-client@MyVpn
和
systemctl start [email protected]
应该:
systemctl start openvpn-server@MyVpn
后缀.service
很可能与创建的文件错误systemctl enable ...