Open VPN 3 on Void Linux

OpenVPN 3 on Void Linux

Recently at work we migrated from a simple OpenVPN profile with AWS credentials to a profile that authenticates based on SAML via your browser. This means that we need OpenVPN 3 now running. At the time of writing there was no package in the Void Linux repos for v3 so I decided to build from source, since otherwise this would mean I cannot do my work, from Void Linux.

In this post I explain how you should go about installing OpenVPN 3 from source on Void Linux.

First remove your existing OpenVPN installation. Bear in mind that this means also removing the NetworkManager extension.

sudo xbps-remove openvpn NetworkManager-openvpn

You should then ensure that your system is up to date and install at least the following packages (maybe more are required that I missed).

sudo xbps-install -Syu
sudo xbps-install -Sy automake autoconf autoconf-archive pkg-config liblz4-devel lz4 jsoncpp jsoncpp-devel libcap-ng-devel tinyxml2 tinyxml2-devel

Before installing it’s useful to configure the groups and users required for this:

sudo groupadd -r openvpn
sudo useradd -r -s /sbin/nologin -g openvpn openvpn

Then navigate to a directory of your choice (for me ~/Ontwikkeling/Build) and clone the source code of the OpenVPN 3 client there.

cd ~/Ontwikkeling/Build
git clone https://github.com/OpenVPN/openvpn3-linux.git
cd openvpn3-linux

After having navigated to that folder you can proceed to the building and installation.

./bootstrap.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install
sudo openvpn3-admin init-config --write-configs

Then make sure to reboot your system, and you can now enjoy using OpenVPN 3. See below how I use it:

sudo openvpn3 session-start --config my-file.ovpn && sudo openvpn3 session-auth

That’s all folks!