Check if OpenVPN is running

How can I check if OpenVPN is running on my server? I have tried with "sudo systemctl status openvpn", but I'm not sure if everything is ok, because I get: "Active: active (exited) since ..."

● openvpn.service - OpenVPN service
   Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2017-10-23 08:01:05 CEST; 1h 3min ago
  Process: 2356 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 2356 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/openvpn.service

Why "exited"? The similar occurs two lines bellow (Process and Main PID).


Solution 1:

The service you should check is openvpn@NAME where NAME is the name of your configuration file (without the .conf).

So if your openvpn configuration file is /etc/openvpn/client-home.conf you should use systemctl status openvpn@client-home.

Here is an example output:

[email protected] - OpenVPN connection to client-home
   Loaded: loaded (/lib/systemd/system/[email protected]; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-10-23 07:57:37 CEST; 2h 15min ago
     Docs: man:openvpn(8)

Where you can see the service is active and running.

IMHO, the best way to test a service is to test it's functionality, in this case accessing another machine connected through the VPN.

Solution 2:

Check openvpn@* instead of just openvpn to show the status of whichever configuration you have loaded.