VPN Setup for Ubuntu : IKEv2 Protocol

StrongSwan, an IKEv1 and IKEv2 daemon for Linux, is the backend for GUI tools like network-manager-strongswan or such. Usually, GUI tools have issues with improper configuration of StrongSwan and the end result is: it does not work.

1. Install strongswan

sudo apt-get install strongswan libcharon-extra-plugins

2. Edit /etc/ipsec.secrets file and add your credentials.

YOUR_USERNAME : EAP "YOUR_PASSWORD"

3. Open the /etc/ipsec.conf file with your favorite text editor. Erase everything from it and paste the following lines. Replace USERNAME with your username and SERVER with one of our VPN server.

conn vpn
 keyexchange=ikev2
 dpdaction=clear
 dpddelay=300s
 eap_identity="USERNAME"
 leftauth=eap-mschapv2
 left=%defaultroute
 leftsourceip=%config
 right=SERVER
 rightauth=pubkey
 rightsubnet=0.0.0.0/0
 rightid=%any
 type=tunnel
 auto=add

4. Edit the file /etc/strongswan.d/charon/constraints.conf and change "load = yes" to "load = no".

5. Our VPN servers identify themselves using certificates. StrongSwan needs to verify server certificate and in order to do so it searches its certificates store. Fortunately, StrongSwan's certificate store can easily be linked to the system ( OpenSSL ) certificate store. To link the StrongSwan's certificate store to the system ( OpenSSL ) certificate store execute the following two commands:

sudo rmdir /etc/ipsec.d/cacerts
sudo ln -s /etc/ssl/certs /etc/ipsec.d/cacerts

6. Restart the strongswan daemon to adopt the new configuration.

sudo ipsec up vpn

7. To disconnect use:
sudo ipsec down vpn

8. To check status of connection:
sudo ipsec status vpn

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.