Dans un premier temps, vous devez installer l'application du serveur.
sudo aptitude install openvpn
La c'est installé. Il faut maintenant configurer le serveur VPN
Pour fonctionner le serveur Open VPN a besoin de clefs de chiffrage.
Ces clef sont généré pas OpenSSL grâce a des scripts fournis avec OpenVPN sous le nom de Easy-RSA.
Ces scrpts son disponible dans le répertoire : /usr/share/doc/openvpn/examples/easy-rsa/2.0/
Il faut copier ces fichiers dans un dossier pour éviter qu'une prochaine mise a jours du paquet n'écrasent des fichiers modifiés.
mkdir ~/easy-rsa cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* ~/easy-rsa/ cd ~/easy-rsa
Il faut ensuite éditer le fichier “vars”
vi vars
ce qui donne
# easy-rsa parameter settings # This variable should point to # the top level of the easy-rsa # tree. export EASY_RSA="`pwd`" # # This variable should point to # the requested executables # export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" # This variable should point to # the openssl.cnf file included # with easy-rsa. export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` # Edit this variable to point to # your soon-to-be-created key # directory. # # WARNING: clean-all will do # a rm -rf on this directory # so make sure you define # it correctly! export KEY_DIR="$EASY_RSA/keys" # Issue rm -rf warning echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR # PKCS11 fixes export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" # Increase this to 2048 if you # are paranoid. This will slow # down TLS negotiation performance # as well as the one-time DH parms # generation process. export KEY_SIZE=1024 # In how many days should the root CA key expire? export CA_EXPIRE=3650 # In how many days should certificates expire? export KEY_EXPIRE=3650 # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"
Le but n'était pas de refaire la documentation officiel de OpenVPN, voici le stricte minimum a modifier sont les lignes : (exemple inclus)
export EASY_RSA="/home/pasroot/easy-rsa" export KEY_COUNTRY="FR" export KEY_PROVINCE="FR" export KEY_CITY="Paris" export KEY_ORG="Ma societe" export KEY_EMAIL="monmail@masociete.fr"
Il faut générer un certificat racine qui servira a signer les autres certificats. Ce certificat “racine” sera présent sur chaque machine
Il faut ensuite un certificat pour le serveur ainsi que le fichier de DH.
Et bien entendu un certificat par client qui peut se connecter au serveur.