Table des matières

Configurer une connexion OpenVPN

Configurer un serveur OpenVPN

Configuration easy-rsa

Pour commencer il faut installer les programmes openvpn et easy-rsa:

apt install openvpn easy-rsa

Si vous voulez gardez une sauvegarde de votre dossier:

rsync -av /usr/share/easy-rsa ~/keymaster

Ensuite modifions le fichier /usr/share/easy-rsa/vars

export KEY_COUNTRY="FR"
export KEY_PROVINCE="PACA"
export KEY_CITY="Marseille"
export KEY_ORG="tieduino"
export KEY_EMAIL="af@tieduino.fr"
export KEY_OU="tieduino"

Pensez à remplacer les informations par les votres !

Ensuite, nous allons créez un lien symbolique pour le fichier openssl.cnf

ln -s openssl-1.0.0.cnf openssl.cnf

Ensuite il faut initialisez le PKI

./vars
./clean-all
./build-ca

Créons ensuite le certificat du serveur

./build-key-server <nom_du_serveur>

Ensuite un certificat du client

./build-key <nom_du_client>

(Utilisez-le autant de fois que vous avez de client)

Créons ensuite une clé de sécurité dh:

./build-dh

Dans le dossier /etc/openvpn, créons la clé partagé entre le serveur et les clients

openvpn --genkey --secret ta.key

(il faudra ensuite copiezcette clé dans les OpenVPN clients)

Configuration OpenVPN

Dans le dossier /etc/openvpn créez un dossier keys et mettez y toutes les clés du dossier /usr/share/easy-rsa/keys

cp /usr/share/easy-rsa/keys/* /etc/openvpn/keys

Ensuite copiez l'exemple l'exemple de configuration OpenVPN dans /etc/openvpn

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/<nom_du_serveur>.conf.gz

Décompressez-le:

gzip -d <nom_du_serveur>.conf.gz

Ensuite modifiez le fichier nouvellement décompressé: /etc/openvpn/<nom_du_serveur>.conf

...
ca keys/ca.crt
cert keys/<nom_du_serveur>.crt
key keys/<nom_du_serveur>.key 
# This file should be kept secret
...
# Diffie hellman parameters.
# Generate your own with:
# openssl dhparam -out dh2048.pem 2048
dh keys/dh2048.pem
...

Vérifiez aussi dans le fichier /etc/openvpn/<nom_du_serveur>.conf, cette ligne:

tls-auth ta.key 0

La valeur doit être à 0 pour le serveur, et à 1 pour le client

Ensuite, dans le dossier /etc/openvpn, validez la configuration:

openvpn <nom_du_serveur>.conf

Si il n'y a pas d'erreur, relancez le serveur:

reboot

Configurer un client OpenVPN sur Linux

Sur le serveur, créons une certification pour le client

Dans le dossier /usr/share/easy-rsa:

./build-key <nom_du_client>

Sur le client, installer aussi OpenVPN:

apt install openvpn

Ensuite mettez-vous dans le dossier /etc/openvpn et décompressez le fichier de conf client:

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/<nom_du_client>.conf.gz

Décompressez ensuite le fichier:

gzip -d <nom_du_client>.conf.gz

Ensuite mettez les clé suivantes du serveur dans le dossier /etc/openvpn/keys du client

<nom_du_client>.crt, <nom_du_client>.key, dh2048.pem, ca.crt

Ensuite mettez la clé suivante du serveur dans le dossier /etc/openvpn du client:

ta.key

Modifiez ensuite le fichier /etc/openvpn/<nom_du_client>.conf:

...
ca keys/ca.crt
cert keys/<nom_du_client>.crt
key keys/<nom_du_client>.key  # This file should be kept secret
...
# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh2048.pem 2048
dh keys/dh2048.pem
...

Modifiez ensuite dans ce fichier, la valeur remote par ceci:

remote <adresse_ip_du_serveur> 1194

Puis vérifiez la ligne:

tls-auth ta.key 1

La valeur doit être à 1 pour le client

Ensuite toujours dans le dossier, /etc/openvpn:

openvpn <nom_du_client>.conf

Il ne doit pas y avoir d'erreur.

Tentez un ping vers le tun0 du serveur

ping <adresse_ip_de_l'interface_tun0_du_serveur>

Si vous obtenez une réponse, félicitation !

Activez ensuite openvpn de manière difinitive:

systemctl enable openvpn

Puis lancer le service:

systemctl start openvpn

Configurer un Client OpenVPN sur Windows

Sur le serveur, créons une certification pour le client

Dans le dossier /usr/share/easy-rsa:

./build-key <nom_du_client>

Sur le client Windows,pour commencer télécharger un client OpenVPN pour Windows:

Client OpenVPn pour Windows

Ensuite faîtes passez les fichiers suivants du serveur vers le dossier C:\Program Files\OpenVPN\config du client:

<nom_du_client>.crt, <nom_du_client>.key, ca.crt, ta.key

Dans ce même dossier C:\Program Files\OpenVPN\config, créer un fichier <nom_du_client>.ovpn

Insérez ensuite la configuration suivante:

client
dev tun
proto udp
remote <adresse_ip_de_l'interface_tun0_du_serveur> 1194
resolv-retry infinite
nobind
ca ca.crt
cert <nom_du_client>.crt
key <nom_du_client>.key
tls-auth ta.key 1
persist-key
persist-tun
cipher AES-256-CBC
verb 3

Ensuite, cliquez sur la flêche vers le haut, dans la barre des tâche windows, et trouvez l'icone d'OpenVPN.

Cliquez ensuite sur connecter, félicitation !