This is slightly off topic still covering VPN Unlimited, but on Ubuntu 17.04 and on a headless server. It is offered as a working solution that might help others. Or at least offer some tips.
It's a simple setup of a VPN using VPN Unlimited on a headless Ubuntu Linux Server. Headless meaning no graphics capability, no keyboard or mouse. Ubuntu because of its popularity and extensive documentation. Maximum simplicity for a server tucked away in a cabinet only controlled through SSH from a MacOS Terminal. Although just about any SSH connection would do the job.
After several days of trial and error plus education in linux commands, this noob did get a simple system functioning. And, I thought my experience and this example might save others some time. There is a lot of OpenVPN info out there, but it is hard to cut through it to what pertains.
The Support Team at VPN Unlimited will respond to a request for configuration help with a policy answer: "We can provide manual PPTP/L2TP (username, password, and domain servers names) settings and .ovpn files, but you will need to configure your device using our settings by yourself at your own risk." And if okay with you, they will quickly provide those items very quickly.
Locate the VPN Unlimited Server you want to use and its .com filename in their response email. The key component is the 2 to 5 letter abbreviation that appears before .vpnunlimitedapp.com in the filename. Unzip the DECB1.zip file attachment. In there you will need a single .ovpn file that includes the same 2 to 5 letter abbreviation in its filename from the list of Servers.
VPN Unlimited uses OpenVPN Clients. Two sources of extensive information on OpenVPN with example commands and files may be helpful:
https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
https://openvpn.net/index.php/open-source/documentation/howto.html#examples
Remember to check for Client instructions. Not Server.
My approach is use the command line for almost immediate feedback to select and checkout functions, then put those commands into a script later to automate the process.
First, check to identify your current IP, which will respond with 4-digits.
dig +short myip.opendns.com @resolver1.opendns.com
responds for example like this-> 100.15.55.42
Start a SSH session to install, configure and checkout the OpenVPN setup.
sudo apt install openvpn
Copy the appropriate server .ovpn file you found from the unzipped DECB1.zip. I used a Samba share to move the .ovpn file from email attachment to the Ubuntu Linux Server, but I leave it to you to use any technique to get it on there. The final step is get it into the OpenVPN directory.
cp <-your VPN Unlimited username with selected server abbreviation here->_DECB1.ovpn /etc/openvpn/
Enter and execute this command to configure and start OpenVPN.
sudo openvpn --client --config /etc/openvpn/<-your VPN Unlimited username with selected server abbreviation here->_DECB1.ovpn
You should see responses like this, ending with Initialization Sequence Completed on the last line.
sudoOpenVPN 2.4.0 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jun 22 2017
library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
TCP/UDP: Preserving recently used remote address: [AF_INET]94.242.246.46:1194
UDP link local: (not bound)
UDP link remote: [AF_INET]94.242.246.46:1194
[openvpn2.vpnunlimitedapp.com] Peer Connection Initiated with [AF_INET]94.242.246.46:1194
Options error: option 'reneg-sec' cannot be used in this context ([PUSH-OPTIONS])
TUN/TAP device tun0 opened
do_ifconfig, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 local 10.200.34.94 peer 10.200.34.93
Initialization Sequence Completed
Success (hopefully). No prompt appears in the terminal window. To disconnect press Control+C or close the window. Login again in a new terminal window using SSH. Check your new IP provided by the VPN Unlimited Server.
dig +short myip.opendns.com @resolver1.opendns.com
responds for example like this-> 98.253.246.34
If your responses while trying to initialize look like this, it did not work.
OpenVPN 2.4.0 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jun 22 2017
library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Could not determine IPv4/IPv6 protocol. Using AF_INET
UDPv4 link local (bound): [AF_INET][undef]:1194
UDPv4 link remote: [AF_UNSPEC]
Check your syntax and files, then try again after entering these commands.
sudo service openvpn stop
service openvpn start
I also tried configurations using the username and password that were also provided in the VPN Unlimited email. They were put in a two-line file per the OpenVPN documentation and also tried using entry from a script. A typical command looked like this.
sudo openvpn --client --auth-user-pass /etc/openvpn/user-pass --config /etc/openvpn/<-your VPN Unlimited username with selected server abbreviation here->_DECB1.ovpn
The only thing that seemed to occur was the addition of two lines interspersed in a successful series of commands also ending in Initialization Sequence Completed.
WARNING: file '/etc/openvpn/user-pass' is group or others accessible
WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
It didn't seem anything useful occurred or more security implemented with these extra steps. But of course it could be simply my lack of understanding. And for some reason, I could not get the --log option to work with these commands. Could be a noob shortcoming again.
So the simplest version did the job of VPN setup with the least complexity.
Along the same lines in keeping it simple, this is a way to stop OpenVPN and return to your original IP (no VPN). The sudo service openvpn stop command will not do it.
sudo killall openvpn
Next, I created 3 scripts like these in /usr/local/bin for access, to pretty-up what's displayed and generally be able to control things without having to deal with lengthy commands each time. Individual scripts are simple and easy to use instead of combining commands and then having to deal with process control to get them working. You will be able to initiate the script from anywhere since /usr/local/bin should already be in your $PATH.
Note the importance of adding an "&" at the end of the --config command after the filename. It's needed to put the openvpn process in the background and let you continue using the terminal in the same window. No Control+C or new window required.
openvpnstart.sh
#!/bin/bash
# add & at the end of the command to make new process
# run in background and release the terminal
echo
echo "Press Return after conclusion of VPN setup"
echo "ending with \"Initialization Sequence Completed\""
echo "to then return control for a new command"
echo
read -p "Continuing in 4 Seconds...." -t 4
echo
sudo openvpn --client --config /etc/openvpn/<-your VPN Unlimited username with selected server abbreviation here->_DECB1.ovpn &
openvpnstop.sh
#!/bin/bash
echo
echo "Press Return after VPN process stops"
echo "ending with \"SIGTERM[hard,] received, process exiting\""
echo "to then return control for a new command"
echo
read -p "Continuing in 4 Seconds...." -t 4
echo
sudo killall openvpn
publicip.sh
#!/bin/bash
echo
echo
echo -n "Public IP address: "
dig +short myip.opendns.com @resolver1.opendns.com
echo
echo
For multiple VPN servers, different start scripts could be used each with a different file for <-your VPN Unlimited username with selected server abbreviation here->_DECB1.ovpn.
gnome-software
from the commandline?