OpenVPN 守护进程不使用配置文件

OpenVPN 守护进程不使用配置文件

当使用启动 OpenVPN 作为服务时,它不使用我的/etc/openvpn/server.conf.当查看 时/var/log/syslog,我只看到Started OpenVPN service.没有任何额外的 OpenVPN 日志记录。

当我手动启动 OpenVPN 时openvpn --config /etc/openvpn/server.conf,我会收到一堆 OpenVPN 日志记录,客户端可以与之连接。

如何确保将其作为服务启动时使用配置文件?

Debian GNU/Linux 9 OpenVPN 2.4.0 x86_64-pc-linux-gnu

答案1

如果您使用的是systemdUbuntu 16.04 或 Debian 9 等基础操作系统,则需要使用以下systemctl命令而不是service

要在启动时启用:

systemctl enable [email protected]

手动启动和停止:

systemctl start [email protected]

systemctl stop [email protected]

您可以通过这种方式启用、禁用、启动和停止任何 OpenVPN 配置,只需server替换..conf/etc/openvpn

答案2

如果您正在运行 systemd,更改诸如/etc/default/openvpn和 之类的文件/etc/init.d/openvpn还不够,将需要在启动时运行 systemctl on/off:

systemctl enable openvpn.service

systemctl disable openvpn.service

在任何情况下,您都可以手动启动/停止客户端:

systemctl start openvpn.service

systemctl stop openvpn.service

查看状态:

systemctl status openvpn.service

答案3

我在 Debian 11 上也遇到了同样的问题,并在系统日志中发现了很多失败的信息。我知道该服务正在按预期工作,而且事实证明该服务已为 systemd 和 serviceV 启用。最令人困惑的部分是,即使使用 systemv,这些错误也会记录为 systemd。

在 Debian 中,SysV 服务寻找/etc/openvpn/server.conf,而 systemd 将使用其文件所在的服务 openvpn-server@/etc/openvpn/服务器。由于 @kirill-z 已经展示了如何启用 SysV,我将展示如何禁用 SysV 设置并使用 Debian 通常首选的 systemd 设置

使用 SystemV 禁用 OpenVPN

我想使用 Debian 默认值 (/etc/openvpn/server/server.conf),因此看到尝试访问 /etc/openvpn/server.conf 的日志是第一个迹象。通过检查活动服务后service,我发现 openvpn 被意外启用。

# service --status-all

...
[ + ]  openvpn
...

然后你可以停止:

# service openvpn stop

openvpn 也可能已设置为随 systemV 启动,在这种情况下您需要禁用它:

# update-rc.d openvpn disable

然后在默认设置中确保自动启动被禁用。

# /etc/default/openvpn

...
#AUTOSTART="all"
AUTOSTART="none" // Uncomment this line
...

现在,systemV 设置已完全禁用,并且在启动时不会随 SystemV 一起启动。

SystemD 中的 OpenVPN

启动 systemd 设置以验证配置。以下命令将加载配置/etc/openvpn/server/myserver.conf(将@name更改为您的服务器配置文件名)。

# systemctl start openvpn-server@myserver

如果一切顺利,我们可以将其设置为开机自动启动:

# systemctl enable openvpn-server@myserver

我希望这对其他人有帮助,因为 Debian 继续提供这两种服务系统。

相关内容