129

I have problem connecting to OpenVPN server. Where are OpenVPN log files and how do I find the connection details?

Kevin Bowen
  • 19,395
  • 55
  • 76
  • 81
Hojat Taheri
  • 5,309
  • 6
  • 21
  • 26

5 Answers5

114

If you are using the network manager plugin (network-manager-openvpn), look into /var/log/syslog

This should give you the last logs of openvpn:

$ grep VPN /var/log/syslog

Connection details are to be found in /etc/openvpn/

shakaran
  • 107
  • 5
Lilley
  • 1,332
  • 1
  • 9
  • 7
  • 1
    Could also be called `openvpnas.log` in `/var/log/` – Victor S Jul 12 '18 at 19:57
  • 7
    This was good in 2014 and searches might lead to here. In 2021, many distros switched to systemd and the logs are accessible via journalctl, see https://askubuntu.com/questions/885383/where-are-network-manager-logs-16-04. – Hermann Feb 08 '21 at 09:55
  • 7
    `grep vpn -i /var/log/syslog` is better to use. grep is case-sensitive by default and in my case it was missing an important warning : `Jan 11 22:12:06 blablabla-nix nm-openvpn[3890]: WARNING: Your certificate has expired!` – kinORnirvana Jan 12 '22 at 09:57
53

By default, in most distros, OpenVPN log output goes to the syslog, which is usually at /var/log/syslog

However, your config files can set the logfile location explicitly, e.g.:

log-append /var/log/openvpn.log

This works for both OpenVPN clients and servers. OpenVPN config files are usually located in /etc/openvpn and usually named *.conf. server.conf is canonical; client config filenames are usually like <client name/>.conf.

Kaz Wolfe
  • 33,802
  • 20
  • 111
  • 168
Ri4a
  • 641
  • 6
  • 5
31

Log file location

On servers, OpenVPN is usually run as a system service, i.e., started with the --daemon option. According to the OpenVPN man page, using the --daemon [progname] option has the following effect:

Become a daemon after all initialization functions are completed. This option will cause all message and error output to be sent to the syslog file (such as /var/log/messages), except for the output of scripts and ifconfig commands, which will go to /dev/null unless otherwise redirected. The syslog redirection occurs immediately at the point that --daemon is parsed on the command line even though the daemonization point occurs later. If one of the --log options is present, it will supercede (sic) syslog redirection.

Use either of the --log file or --log-append file options if you want OpenVPN messages to be logged to a different file. The --log option causes the specified log file to be over-written each time the OpenVPN daemon starts while the --log-append option adds new entries to the log file. These options can also be set in the OpenVPN configuration file, e.g.,

log /var/log/openvpn.log

Verbosity

The --verb option can be used to set the log file verbosity from 0 (no output except for fatal errors) to 11 (for maximum debugging information). The man page specifies levels of 1 to 4 as the appropriate range for normal usage. This behaviour can be set in the OpenVPN configuration file, e.g.,

verb 3
Anthony Geoghegan
  • 1,386
  • 14
  • 20
  • I changed to `verb 2` from the default 3, but there was no noticeable difference. I then `rm openvpn.log` thinking of restarting a fresh log. But openvpn.log didn't get created and I now can't find the logs. Where has the log gone to now? I created a new openvpn.log but it remained at size 0. – Old Geezer Aug 20 '19 at 04:03
  • @OldGeezer That would best be asked as a new question where you can provide specific details about the configuration of your OpenVPN and OS logging (systemd/syslog) configuration. – Anthony Geoghegan Aug 20 '19 at 11:25
3

Use the -l or --syslog argument calling openconnect. Now you can check with tail -f /var/log/syslog

1

It is supposed to be in your home directory (home directory of the user whom executing it), eg ~. Running an ls -l command will perhaps reveal it. On the other hand, you may start openvpn with --debug option to capture what's happening realtime on the terminal.

Lashae
  • 111
  • 2