I'm attempting to configure an openvpn client on a raspberry pi 3 b+. The raspberry pi is running CentOS 7 armhfp.

I installed openvpn from the EPEL repository for armhfp platforms. I've placed my config and associated keys and auth file in /etc/openvpn

[root@raspberrypi openvpn]# ll
total 24
drwxr-x---. 2 root openvpn 4096 Jan  1  1970 client
-rwxrwxrwx. 1 root root    2186 Jan 25 22:17 mullvad_ca.crt
-rwxrwxrwx. 1 root root     985 Jan  1  1970 mullvad_us.conf
-rwxrwxrwx. 1 root root      19 Jan 25 22:17 mullvad_userpass.txt
drwxr-x---. 2 root openvpn 4096 Nov 18 14:06 server
-rwxrwxrwx. 1 root root    1301 Jan 25 22:17 update-resolv-conf
[root@raspberrypi openvpn]#

I'm attempting to start the service with the command: systemctl start openvpn-client@mullvad_us

When I do it fails with the following status:

[root@raspberrypi openvpn]# systemctl status openvpn-client@mullvad_us -l
● openvpn-client@mullvad_us.service - OpenVPN tunnel for mullvad_us
   Loaded: loaded (/usr/lib/systemd/system/openvpn-client@.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2020-01-26 01:17:19 UTC; 3h 10min ago
     Docs: man:openvpn(8)
  Process: 994 ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf (code=exited, status=1/FAILURE)
 Main PID: 994 (code=exited, status=1/FAILURE)

Jan 26 01:17:19 raspberrypi systemd[1]: Starting OpenVPN tunnel for mullvad_us...
Jan 26 01:17:19 raspberrypi openvpn[994]: Options error: In [CMD-LINE]:1: Error opening configuration file: mullvad_us.conf
Jan 26 01:17:19 raspberrypi openvpn[994]: Use --help for more information.
Jan 26 01:17:19 raspberrypi systemd[1]: openvpn-client@mullvad_us.service: main process exited, code=exited, status=1/FAILURE
Jan 26 01:17:19 raspberrypi systemd[1]: Failed to start OpenVPN tunnel for mullvad_us.
Jan 26 01:17:19 raspberrypi systemd[1]: Unit openvpn-client@mullvad_us.service entered failed state.
Jan 26 01:17:19 raspberrypi systemd[1]: openvpn-client@mullvad_us.service failed.

It appears to be failing to read my mullvad_us.conf file. I've given it full 777 permissions as well as tried to change its ownership to openvpn:openvpn. I've also disabled selinux just in case that's the problem. I've also moved the files into /etc/openvpn/client with no success as well.

If I start openvpn from the command line it works fine. I'll run the command: "nohup openvpn --config /etc/openvpn/mullvad_us.conf &" and the tunnel builds and forms correctly.

I just can't get it to come up automatically at bootup. I'm planning to run this in a headless manner and don't want to have to ssh into the device each time I power it on just to get the vpn tunnel up.

I've seen articles online saying to edit the file at /etc/default/openvpn but that file doesn't exist for some reason and I can't help but think it's due to the flavor of CentOS that I'm running. At this point I'm pretty stumped. Any help would be hugely appreciated.


I was able to get this working by moving my mullvad_us.conf, mullvad_ca.crt, and mullvad_userpass.txt files into /etc/openvpn/client.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.