Installation OpenVPN sur Centos


Mis à jour le 15 septembre, 2020

Installation OpenVPN sur Centos

L’une des manières les plus sûres d’envoyer des données sur internet est via un VPN, aussi connu sous le nom de « Virtual Private Network ». Lorsque l’on utilise un VPN, les données sont encryptées et envoyées à travers un réseau virtuel privé qui utilise un réseau public (internet par exemple). 

Cela assure l’intégrité et la confidentialité des données échangées entre le client VPN et le serveur VPN, car même si les données venaient à être interceptées, elles seraient toujours encodées.

VPN est communément utilisé pour :

  • Etablir une connexion à distance à un réseau de travail privé
  • Sécuriser vos communications lorsque vous êtes connecté à un réseau wifi public
  • Etablir un réseau privé pour les jeux en lignes

Si vous voulez accéder à internet anonymement depuis différents endroits de la planète, il y a plusieurs fournisseurs de VPN comme HideMyAss, ExpressVPN et PureVPN qui offrent de tels services.

Cependant, si vous avez besoin de votre propre serveur VPN, voici comment faire en utilisant OpenVPN sur Linux CentOS 6 et le plus récent Centos 7.

Comment installer un serveur OpenVPN sur CentOS 6.5 et Centos 7

Pour ce tutoriel, j’utiliserai un VPS Cloud de Infomaniak. Au fait, si vous n’avez jamais entendu parler de Infomaniak, je vous recommande fortement d’y jeter un œil.

Vous pouvez facilement déployer un VPS totalement fonctionnel en moins de 3 minutes et ils sont incroyablement rapides.

1- Installer OpenVPN et Easy RSA

En partant du principe que vous êtes connecté en tant que root,  commencez par installer et activer le référentiel EPEL (EPEL repository) :

# mkdir /root/temp
# cd /root/temp
# wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release-6-8.noarch.rpm

Sur Centos 7

yum install epel-release

Maintenant que vous avez installé la zone de stockage EPEL, vous pouvez installer OpenVPN et Easy RSA :

# yum install openvpn easy-rsa -y

2- Configurer Easy RSA

Créez un directoire pour stocker vos clefs et certificats :

# mkdir -p /etc/openvpn/easy-rsa/keys

Copiez le script Easy RSA dans le sous-répertoire de OpenVPN :

# cp -R /usr/share/easy-rsa/2.0/ /etc/openvpn/easy-rsa/

Editez le fichier d’installation de Easy RSA :

# vi /etc/openvpn/easy-rsa/2.0/vars

Cherchez et modifiez ces valeurs :

# Ce sont les valeurs par défaut
# qui seront place dans le certificat.
# Remplissez toutes les cases
export KEY_COUNTRY="FR"
export KEY_PROVINCE="Paris"
export KEY_CITY="Paris"
export KEY_ORG="Paris-ville"
export KEY_EMAIL=votrenom@domaine.fr
export KEY_OU="Votre Compagnie"

Maintenant, cherchez cette ligne :

export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`

Et changez là en :

export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf

Une fois que c’est fait, sauvegardez le fichier et quittez l’éditeur.

3- Générer le certificat CA et les clefs

Entrez ces commandes pour initialiser Easy RSA :

cd /etc/openvpn/easy-rsa/2.0
chmod 0755 *
./vars
./clean-all

Vous pouvez ensuite créer le certificat et les fichiers clefs :

./build-ca

Vérifiez que les fichiers ont été créés avec succès :

# ls -al keys
total 20
drwx------ 2 root root 4096 Jul 30 20:14 .
drwxr-xr-x 3 root root 4096 Jul 30 20:09 ..
-rw-r--r-- 1 root root 1887 Jul 30 20:14 ca.crt
-rw------- 1 root root 1704 Jul 30 20:14 ca.key
-rw-r--r-- 1 root root 0 Jul 30 20:09 index.txt
-rw-r--r-- 1 root root 3 Jul 30 20:09 serial

4- Générer le certificat Client VPN et la clé

Vous pouvez maintenant créer les certificats du serveur et de la clé.

./build-key-server server

Lorsqu’il vous sera demandé de fournir un mot de passe pour la clé, laissez la case vide. Autrement, le service openvpn ne pourra pas démarrer automatiquement car il vous demandera de rentrer le mot de passe à chaque fois :

A challenge password []: <= laisser la case vide

Une fois de plus, vous pouvez lister le contenu des directoires « clés » pour être certain que server.crt, server.csr et server.key ont bien été créés :

# ls -al keys
total 56
drwx------ 2 root root 4096 Jul 30 20:18 .
drwxr-xr-x 3 root root 4096 Jul 30 20:09 ..
-rw-r--r-- 1 root root 5732 Jul 30 20:18 01.pem
-rw-r--r-- 1 root root 1887 Jul 30 20:14 ca.crt
-rw------- 1 root root 1704 Jul 30 20:14 ca.key
-rw-r--r-- 1 root root 160 Jul 30 20:18 index.txt
-rw-r--r-- 1 root root 21 Jul 30 20:18 index.txt.attr
-rw-r--r-- 1 root root 0 Jul 30 20:09 index.txt.old
-rw-r--r-- 1 root root 3 Jul 30 20:18 serial
-rw-r--r-- 1 root root 3 Jul 30 20:09 serial.old
-rw-r--r-- 1 root root 5732 Jul 30 20:18 server.crt
-rw-r--r-- 1 root root 1115 Jul 30 20:18 server.csr
-rw------- 1 root root 1704 Jul 30 20:18 server.key

Maintenant vous devez créer un certificat et une clé pour vos clients. Je vous recommande de créer un lot certificat/clé différent  pour chaque utilisateur du VPN :

./build-key simon

Cette fois-ci, entrez un mot de passe :

A challenge password []: ChoisirUnmotdePasseSecuritaire123

5- Créer les paramètres Diffie Hellman

Tapez la commande suivante pour créer le fichier .pem :

./build-dh

6- Créer le fichier de configuration OpenVPN

Pour commencer, copiez l’échantillon du fichier de configuration :

# cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf
/etc/openvpn/

Editez le fichier de configuration :

# vi /etc/openvpn/server.conf

Cherchez la ligne suivante :          

dh dh1024.pem

Et remplacez la par :

dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem

Maintenant cherchez ces lignes :

ca ca.crt
cert server.crt
key server.key # This file should be kept secret

Et remplacez les par :

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key

Décommentez la ligne suivante (faire en sorte qu’elle n’apparaisse plus comme commentaire mais comme code) pour acheminer tout le trafic via le serveur VPN :

push "redirect-gateway def1 bypass-dhcp"

Décommentez les  lignes suivantes :

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

Et ajoutez vos valeurs DNS à la place :

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

Si vous voulez utiliser le service DNS public de Google, vous pouvez utiliser 8.8.8.8 et 8.8.4.4.
Enfin, décommentez ces lignes, sauvegardez le fichier et quittez l’éditeur :

user nobody
group nobody

7- Activation du routage et du transfert d’IP

Editez /etc/sysctl.conf et mettez les paramètres suivant à la valeur 1 :

net.ipv4.ip_forward = 1

Sauvegardez et fermez le fichier de configuration. Activez les nouveaux paramètres en utilisant la commande suivante :

# sysctl -p

Maintenant ajoutons des règles iptables. Entrez ces commandes, une à la fois :

# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
# iptables -A FORWARD -j REJECT

Si vous utilisez un serveur dédié ou un VPS XEN ou KVM, entrez cette commande:

# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Si vous utilisez un VPS OpenVZ, entrez cette commande (n’oubliez pas d’utiliser l’adresse IP de votre serveur principal) :

# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source main.ip.address

Sauvegardez les nouvelles règles iptables et redémarrez le service :

# service iptables save
# service iptables restart

Pour installer iptables-services et ajouter une règle iptables sur CentOS 7

Exécutez ces commandes:

yum install -y iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush

Ajoutez cette règle pour autoriser le trafic VPN. Remplacez «venet0» par le nom de votre adaptateur réseau principal. Dans la plupart des cas, il s'agit de venet0 ou eth0.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

Enregistrer la nouvelle règle de pare-feu: 

iptables-save > /etc/sysconfig/iptables

Ensuite, nous devons activer le transfert IP dans sysctl. Ouvrez sysctl.conf:

vi /etc/sysctl.conf

Localisez la ligne avec net.ipv4.ip_forward = 0 et remplacez-la par:

net.ipv4.ip_forward = 1

8- Lancer le serveur VPN

Pour que le OpenVPN se lance automatiquement lorsque vous démarrez le serveur, tapez ces commandes :

# chkconfig --add openvpn
# chkconfig openvpn on

Maintenant démarrez le service OpenVPN :

# service openvpn start

Le serveur VPN attend maintenant que des clients se connectent.

Comment installer le client OpenVPN pour windows

Téléchargez et installez la dernière version de OpenVPN pour Windows ici : https://openvpn.net/index.php/open-source/downloads.html

Ne lancez pas OpenVPN GUI à la fin de l’installation. Vous devez le configurer pour le lancer en tant qu’administrateur d’abord :

 windows openvpn administration

Maintenant téléchargez le fichier suivant de votre serveur vers votre ordinateur Windows :

  • /etc/openvpn/easy-rsa/2.0/keys/ca.crt
  • /etc/openvpn/easy-rsa/2.0/keys/johndoe.crt
  • /etc/openvpn/easy-rsa/2.0/keys/johndoe.csr
  • /etc/openvpn/easy-rsa/2.0/keys/johndoe.key
  • usr/share/doc/openvpn-2.3.2/sample/sample-config-files/client.conf

 

Copiez ces 5 fichiers dans « C:\Program Files\OpenVPN\config\ » sur votre ordinateur Windows.

Créer le fichier de configuration OpenVPN

Avant d’établir une connexion à un serveur VPN, vous devez créer une configuration client avec l’extension « .ovpn ». Pour faire cela, renommez C:\Program Files\OpenVPN\config\client.conf en client.ovpn. Editez le fichier OVPN et cherchez les lignes suivantes :

remote my-server-1 1194

Remplacez « my-server-1 » par l’adresse IP de votre serveur VPN :

remote 123.123.123.123 1194

Cherchez les paramètres SSL/TLS :

ca ca.crt
cert client.crt
key client.key

Changez-les pour qu’il reflète le nom de fichier de votre certificat et de votre clé :

ca ca.crt
cert johndoe.crt
key johndoe.key

Sauvegardez et fermez le fichier OVPN.

Lancer le service OpenVPN

Si vous utilisez Windows 7 ou 8, vous devez lancer OpenVPN en tant que service sinon vous n’aurez pas les privilèges nécessaires pour modifier la configuration du réseau de votre ordinateur.  Pour se faire, allez dans Panneau de Configuration > Système et Sécurité > Outils Administrateur > Services et double-clique sur OpenVPN Service :

 windows openvpn fichiers

Configurez le service pour qu’il démarre automatiquement et cliquez sur le bouton Démarrer (Start) :

 windows openvpn démarrage

Etablir une connexion à un serveur VPN

Vous pouvez maintenant exécuter OpenVPN GUI sur votre bureau Windows. Souvenez-vous de le lancer en tant qu’administrateur pour qu’il marche correctement. Une fois que OpenVPN est lancé sur votre machine, vous devriez voir une icône comme celle la apparaitre dans votre barre des taches:

 windows openvpn icone

Si vous faites clic droit sur l’icône OpenVPN de la barre des tâches, une liste des configurations VPN disponibles  s’affichera (les fichiers OVPN). Sélectionnez le serveur VPN auquel vous souhaitez vous connecter et cliquez sur « Connect ».

 windows openvpn barre des taches

Si vous avez tout fait correctement, OpenVPN GUI devrait afficher l’adresse IP qu’il reçoit du serveur VPN (10.8.0.X).

Diagnostiquer des anomalies de OpenVPN

Si vous avez des soucis pour vous connecter au serveur OpenVPN, vous pouvez essayer de le lancer sur un port commun TCP au lieu d’un port UDP 1194. Certains ISP n’autorisent pas les trafics sur un port 1194. Pour se faire, éditez /etc/openvpn/server.conf et faites les changements suivants :

port 80
proto tcp
; proto udp

Si le port 80 est déjà utilisé sur votre serveur, essayez de trouver un port disponible que votre ISP ne bloquera pas. Lorsque c’est fait, redémarrez OpenVPN :

service openvpn restart

N’oubliez pas de faire aussi les changements dans votre fichier OVPN

Si vous rencontrez encore des problèmes, vous pouvez activer l’enregistrement du débogage dans /etc/openvpn/server.conf :

log     openvpn.log
verb 4

Redémarrer le service et regardez le contenu de /etc/openvpn/openvpn.log en même temps que vous essayez de vous connecter au serveur VPN :

tail -f /etc/openvpn/openvpn.log

Une fois le problème résolu, n’oubliez pas de désactiver l’enregistrement du débogage.

Consulter notre comparatif des serveurs dédiés Centos




Rubriques des articles




Les avis des clients

Avis des utilisateurs


Faites entendre votre voix. Passez en revue votre fournisseur d'hébergement Web - bon ou mauvais.


Prestation et support vraiment excellent!! Rien à dire!

Stan à propos Ex2hosting

Montrer une autre revue
Lire les avis Ex2hosting



Plans d'hébergement




Les plans d'hébergement de 43 sociétés d'hébergement partout dans le monde


Meilleur hébergeurs web

# hébergeur web prix action

1

Infomaniak France

6.75 EURO

Ajouter un Avis
Visiter

2

Hostpapa France

2.95 EURO

Ajouter un Avis
Visiter

3

Greengeeks

4.95 USD

Ajouter un Avis
Visiter

4

Siteground

6.95 USD

Ajouter un Avis
Visiter

5

Planethoster France

5.99 EURO

Ajouter un Avis
Visiter

6

Bluehost

6.95 USD

Ajouter un Avis
Visiter




Hébergeurs par avis de clients

Planethoster France
192 avis des clients
Hostpapa France
74 avis des clients
Infomaniak France
56 avis des clients
Rapidenet
50 avis des clients
Hostinger
47 avis des clients
Ajouter un avis Tous les profils


Hébergeurs par fidélité de clients

Planethoster France
187 / 192 recommandé
Infomaniak France
56 / 56 recommandé
Rapidenet
49 / 50 recommandé
Hostinger
44 / 47 recommandé
Hostpapa France
39 / 74 recommandé
Évaluer hébergeur Tous les profils


Question de la Semaine


Votre avis sur notre site



Contacter l'éditeur

Posez votre question