====== OpenVPN ======
This topic is destined to users with some basic knowledge about VPN, who know how to create and setup a VPN client/server.
===== Creating the PKI =====
[[.:pki|PKI management]]
===== VPN Server Setup/Configuration =====
Here an example of creating and configuring an OpenVPN server
- [[.:server|OpenVPN server configuration]]
===== VPN Client Setup/Configuration =====
==== Modify the configuration file ====
The configuration of the VPN requires:
* A client configuration file, named ''client-openvpn.conf''. This is the main configuration file.\\ Make sure that non-interactive authentication is enabled (the connection is established by a daemon, the password cannot be entered manually)
* A “Certification Authority Certificate” file, authenticating the remote server, ''ca.crt''
* A “User key and certificate archive” file, authenticating the Wanesy SPN gateway (the client), ''client.p12''
All those files have to be uploaded via the web UI.
Here is an example of a client configuration file:
#################################################
# #
# Client-side OpenVPN 2.X config file for #
# connecting to multi-client server. #
# #
# Comments are preceded with '#' or ';' #
# #
#################################################
# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client
tls-client
#remote-cert-tls server
# Protocol
proto udp
#Tunnel
dev tun
#Server
remote 192.168.1.14
#Certification Authority Certificate - Server Authentication
ca ca.crt
#User Key and Certificate - Client Authentication
pkcs12 client.p12
cipher AES-256-CBC
#auth SHA256
tls-version-min "1.0"
tls-version-max "1.0"
mssfix 1200
comp-lzo
Note: if you set a passphrase to access your private key, just add the following line in your configuration file :
askpass pass.txt
Fill the ''pass.txt'' file with your password and protect it from reading to others that are not root:
# chmod 600 pass.txt
The two other files (.crt and .p12) have to be generated using the [[.:pki|PKI]].
==== Enable OpenVPN over the kerlink gateway Web interface ====
Select the "Enable" button from the Administration > OpenVPN menu option and drag and drop the following files :
* ''ca.crt''
* ''client.p12''
* ''client-openvpn.conf''
{{:images:enable_openvpn.png|}}
Automatically the openvpn process will be launch at boot time and be monitored by the ''monit'' tool.
===== Connection =====
Once the files are uploaded and the VPN feature is activated in the administration page, the VPN tunnel will automatically be created.