OpenVPN连接日志和配置文件在哪里?

我无法连接到OpenVPN服务器。OpenVPN日志文件在哪里?如何找到连接详细信息?

通常情况下,你可以在/etc/openvpn/目录下找到配置文件。其中包含了日志文件和你的OpenVPN配置。 - Muhammad Sholihin
这是您需要的文档页面 - Henadzi Rabkin
6个回答

如果您正在使用网络管理插件(network-manager-openvpn),请查看/var/log/syslog。
这将为您提供openvpn的最后日志。
$ grep VPN /var/log/syslog

连接详细信息可以在/etc/openvpn/中找到。

1/var/log/目录下,也可以称为openvpnas.log - Victor S
8这在2014年是好的,搜索可能会导致这里。到了2021年,许多发行版都转向了systemd,并且日志可以通过journalctl访问,参见https://askubuntu.com/questions/885383/where-are-network-manager-logs-16-04。 - Hermann
7使用grep vpn -i /var/log/syslog会更好。默认情况下,grep区分大小写,在我这种情况下,它错过了一个重要的警告:Jan 11 22:12:06 blablabla-nix nm-openvpn[3890]: WARNING: Your certificate has expired! - kinORnirvana

默认情况下,在大多数发行版中,OpenVPN的日志输出会发送到syslog,通常位于/var/log/syslog。
然而,您的配置文件可以明确设置日志文件的位置,例如:
log-append /var/log/openvpn.log

这适用于OpenVPN的客户端和服务器。OpenVPN配置文件通常位于/etc/openvpn目录下,且通常以.conf为后缀命名。server.conf是规范的配置文件名称;客户端配置文件通常以.conf的形式命名。

日志文件位置

在服务器上,OpenVPN通常作为系统服务运行,即使用--daemon选项启动。根据OpenVPN手册,使用--daemon [progname]选项会产生以下效果:

在所有初始化函数完成后成为守护进程。此选项将导致所有消息和错误输出都发送到syslog文件(例如/var/log/messages),但脚本和ifconfig命令的输出将转到/dev/null,除非另有重定向。尽管守护进程化点稍后发生,但在命令行解析--daemon时立即发生syslog重定向。如果存在--log选项之一,则它将取代syslog重定向。

如果您希望将OpenVPN的消息记录到不同的文件中,请使用--log file--log-append file选项之一。 --log选项会在每次OpenVPN守护程序启动时覆盖指定的日志文件,而--log-append选项会向日志文件添加新条目。这些选项也可以在OpenVPN配置文件中设置,例如:
log /var/log/openvpn.log

冗余性

可以使用--verb选项将日志文件的冗余性从0(仅输出致命错误)设置为11(提供最大的调试信息)。 手册页面指定级别1到4为正常使用的适当范围。可以在OpenVPN配置文件中设置这种行为,例如:

verb 3

我将默认的3更改为动词2,但没有明显的差异。然后我尝试删除openvpn.log以重新开始一个新的日志。但是openvpn.log并没有被创建,现在我找不到日志了。现在日志去哪里了?我创建了一个新的openvpn.log,但它的大小仍然是0。 - Old Geezer
@OldGeezer 最好将此问题作为一个新问题提出,您可以在其中提供有关您的OpenVPN和操作系统日志记录(systemd/syslog)配置的具体细节。 - Anthony Geoghegan

使用-l--syslog参数调用openconnect。现在你可以用tail -f /var/log/syslog来检查。

它应该位于您的主目录中(执行它的用户的主目录),例如~。运行ls -l命令可能会显示它。另外,您可以使用--debug选项启动openvpn以捕获终端上实时发生的情况。


对于2023年的用户,如果你在谷歌上搜索了这个问题,下面是如何在现代的Ubuntu系统中通过journalctl查看OpenVPN日志的方法:
sudo journalctl -u openvpn-server@server.service

然后通过按下Shift + G,您可以向下滚动到最新的行。
您还可以通过指定-f来激活跟随模式,以便在新条目出现时自动向下滚动。
sudo journalctl -u openvpn-server@server.service -f