OpenVPN sur VPS – Centos 5

Installation OpenVPN sur VPS

On continue notre découverte des VPN et des multiples disponibilités d’ installation sur des supports innovants comme les VPS

On a repéré plusieurs VPS et un seul a retenu notre attention pour ce tuto: Il s’ agit de DotVPS.Co. Pas trop cher avec IP NL ou USA

OpenVPN sur VPS - Centos 5 1

L’ inscription ne pose aucun problème. Le paiement peut se faire par Paypal. Cela nous en a coûté $6.95 pour ses caractéristiques techniques – DotVPS:

  • 25 GB d’ espace disque
  • 1 CPU
  • CentOS 5 – 32bit Standard comme OS
  • 250 GB de bande passante
  • 256 MB de mémoire dédiée
  • SolusVM comme interface web
  • IP NL

Par Mail vous recevrez les infos de votre compte: Infos générales – Adresse IP – Infos SSH – Infos SolusVM – et un disclaimer: DOS, Booter Scripts or scripts that waste bandwidth for example torrent flux, are not allowed on our server, your VPS may be suspended if these scripts are discovered!

Une fois votre VPS activé vous pourrez vous connecter et  installer vos scripts.

OpenVPN sur VPS - Centos 5 2

Dans l’ onglet Settings de la partie Controls vous installez TUN/TAP

OpenVPN sur VPS - Centos 5 3

OpenVPN sur VPS - Centos 5 4

Sur votre console vous pourrez vérifiez si TUN/TAP est correctement installé en tapant cette ligne de commande:

cat /dev/net/tun

La ligne de retour vous indiquera la réussite

File Descriptor is in bad state

OpenVPN sur VPS - Centos 5 5

 

 

 

Installation de la console. Vous pouvez y accéder via Putty (Client SSH) ou l’ interface web de la console OpenVPN sur VPS - Centos 5 6

OpenVPN sur VPS - Centos 5 7

 

Installation des paquets additionnels EPEL: Comme vous pourrez le lire sur le site du projet (http://fedoraproject.org/wiki/EPEL), “Extra Packages for Enterprise Linux” (EPEL) est un projet Fedora destiné à fournir et maintenir des paquets additionnels ( programmes pré-compilés prêts à l’emploi) de haute qualité pour les systèmes CentOS, Scientific Linux (SL), Red Hat Enterprise Linux (RHEL). Cette installation est obligatoire pour profiter du logiciel OpenVPN.

On vous conseille grandement de lire cette documentation de Fedora concernant la configuration du gestionnaire de paquets

Sous Centos 5.x il faut taper cette ligne de commande

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Sous Centos 6.x il faut taper cette ligne de commande

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm

OpenVPN sur VPS - Centos 5 8

Puis mettez à jour tout votre système via le gestionnaire de paquets Yum (un outil permettant de gérer les installations) en utilisant la commande:

yum update

OpenVPN sur VPS - Centos 5 9

Installer le paquet OpenVPN:

yum install openvpn

OpenVPN sur VPS - Centos 5 10

OpenVPN sur VPS - Centos 5 11

Puis créez un dossier easy-rsa dans le répertoire d’OpenVPN avec cette ligne de commande:

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

OpenVPN sur VPS - Centos 5 12

Éditons le fichier vars afin d’initialiser différentes variables servant à la génération des certificats :

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

Il Faut absolument éditer la dernière ligne.

OpenVPN sur VPS - Centos 5 13

Pour cela utiliser l’ éditeur de texte VIM. Changer le mail par le vôtre.

OpenVPN sur VPS - Centos 5 14

Après l’ édition, sauvegardez grâce à cette ligne de commande:

:wq

OpenVPN sur VPS - Centos 5 15

Mise en place des certificats et des clés. Pour cela il va falloir utiliser ces quatre lignes de commande. A rentrer une par une. Entrée à la suite.

cd /etc/openvpn/easy-rsa/2.0/
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
. /etc/openvpn/easy-rsa/2.0/build-ca

OpenVPN sur VPS - Centos 5 16

Lors de la validation de la dernière ligne de commande ne vous préoccupez pas des indications demandées (déjà données précédemment). Validez seulement grâce à Entrée

OpenVPN sur VPS - Centos 5 17

Génération du certificat et de la clé pour le serveur. Exécution du script build-key-server grâce à ligne de commande:

. /etc/openvpn/easy-rsa/2.0/build-key-server server

Tapez Entrée autant de fois que demandé en mettant y (2 fois) pour Oui

OpenVPN sur VPS - Centos 5 18

Génération des certificats et clés pour les clients. Comme précédemment il vous faut tapez une ligne de commande et validez par Entrée et acceptant deux Y

. /etc/openvpn/easy-rsa/2.0/build-key client1

OpenVPN sur VPS - Centos 5 19

Génération des paramètres de Diffie-Hellman. Le protocole Diffie-Hellman est un protocole de cryptographie utilisé dans les échanges de clés. Nécessaire pour l’ authentification et les échanges du serveur VPN sur notre VPS. Ligne de commande:

. /etc/openvpn/easy-rsa/2.0/build-dh

OpenVPN sur VPS - Centos 5 20

Transfert des clés clients sur le PC local. Pour cela il vous faut WinSCP: Client SFTP graphique pour Windows. Il utilise SSH et est open source. Le protocole SCP est également supporté. Le but de ce programme est de permettre la copie sécurisée de fichiers entre un ordinateur local et un ordinateur distant. Il faut vous munir de l’ IP de votre VPS, du Login Root et du mot de passe.

OpenVPN sur VPS - Centos 5 21

Sur votre PC Local choisissez votre répertoire où vont se trouver les clés clients (ca.crtclient1.crtclient1.key). Pour le VPS choisissez ce chemin: /etc/openvpn/easy-rsa/2.0/keys

OpenVPN sur VPS - Centos 5 22

Mettez de côté WinSCP. Fermez-le. On repasse du côté de notre console.

Copie de 5 fichiers (ca.crt – ca.key – dh1024.pem – server.crt – server.key) vers le répertoire OpenVPN. Grâce à ses deux lignes de commande (à valider une par une):

cd /etc/openvpn/easy-rsa/2.0/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn

OpenVPN sur VPS - Centos 5 23

Configuration du fichier client.conf .  Tapez ces 3 lignes de commande en les validant les unes après les autres:

cp /usr/share/doc/openvpn-2.1.4/sample-config-files/server.conf /etc/openvpn/
cp /usr/share/doc/openvpn-2.1.4/sample-config-files/client.conf ~/
cd ~/

Puis:

vi ~/client.conf

Il suffit ensuite d’ éditer: L’ adresse IP en mettant celle de votre VPS

OpenVPN sur VPS - Centos 5 24

OpenVPN sur VPS - Centos 5 25

Puis changer client.crt et client.key par client1.crt et client1.key

OpenVPN sur VPS - Centos 5 26

OpenVPN sur VPS - Centos 5 27

validez ces changement par la ligne de commande:

:wq

Démarrage du serveur OpenVPN. Utilisez ces deux lignes de commande:

/etc/init.d/openvpn start
chkconfig openvpn on

OpenVPN sur VPS - Centos 5 28

Édition du fichier server.conf . Utilisez cette première commande:

vi /etc/openvpn/server.conf

Il faut enlever le ; de cette ligne: ; push « redirect-gateway def1 bypass-dhcp »

OpenVPN sur VPS - Centos 5 29

Sauvegardez :wq

Ensuite utilisez cette ligne de commande:

vi /etc/sysctl.conf

Pour changer cette ligne:

net.ipv4.ip_forward = 0

par:

net.ipv4.ip_forward = 1

Sauvegardez :wq

OpenVPN sur VPS - Centos 5 30

Puis tapez cette ligne de commande:

echo 1 > /proc/sys/net/ipv4/ip_forward

Configuration des IPTables. Tapez ces lignes de commandes les unes après les autres. Changez IP VPS par l’ adresse réelle de votre VPS

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
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source IP VPS

OpenVPN sur VPS - Centos 5 31

Règles IPTables permanentes. Ligne de commande:

vi /etc/rc.local

Éditez le fichier pour qu’il ressemble à ceci.  Sachant que IP VPS correspond à l’ adresse réelle de votre VPS

#!/bin/sh
#
# [...]
#
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
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o venet0 -j SNAT --to-source 
IP VPS
touch /var/lock/subsys/local

Sauvegardez :wq

OpenVPN sur VPS - Centos 5 32

Installation du paquet dnsmasq . DNSmasq est pré-installé sur la distribution CentOS. C’ est un petit serveur DNS (cache DNS) qui intègre un serveur DHCP.

3 lignes de commande; Attendez bien entre les 3 le temps d’ installation !:

 

yum install dnsmasq

OpenVPN sur VPS - Centos 5 33

 

/etc/init.d/dnsmasq start

OpenVPN sur VPS - Centos 5 34

chkconfig dnsmasq on

OpenVPN sur VPS - Centos 5 35

Revenons à notre fichier server.conf

Ligne de commande:

vi /etc/openvpn/server.conf

Ajouter cette ligne

push "dhcp-option DNS 10.8.0.1"

OpenVPN sur VPS - Centos 5 36

Il ne vous reste plus qu’ à sauvegarder :wq

La dernière étape consiste a redémarrer votre OpenVPN:

/etc/init.d/openvpn restart

OpenVPN sur VPS - Centos 5 37

Installation d’ OpenVPN Gui sur notre PC.

Première étape: Vous téléchargez OpenVPN 2.2.2 et installez-le.

Deuxième étape: Vous ouvrez votre logiciel WinSCP

Il faut renommer le fichier client.conf en client1.conf puis le transférez dans votre dossier local et le renommez client1.ovpn

OpenVPN sur VPS - Centos 5 38

 

Il suffit alors de copier vos fichiers (ca.crtclient1.crtclient1.keyclient1.ovpn) dans le dossier config d’ OpenVPN

OpenVPN sur VPS - Centos 5 39

Démarrez ensuite (en tant qu’ administrateur) votre OpenVPN Gui et sélectionnez Connect

OpenVPN sur VPS - Centos 5 40

La connexion s ‘effectue et vous obtenez une adresse locale de type: 10.8.0.1

Il faut néanmoins vérifier avec un site comme WhatIsMyIpAdress.Com que votre IP Publique soit à l’ étranger.

OpenVPN sur VPS - Centos 5 41Et Hop un SpeedTest !

OpenVPN sur VPS - Centos 5 42

 

Les 5 dernières publications de Mahi

11 réflexions sur « OpenVPN sur VPS – Centos 5 »

  1. ToXik (Plus haut) avait le même problème. Voiçi sa soluce:

    Je viens de retenter le Tuto, et ca marche PARFAITEMENT !!!!
    Problème de port venant de l’hébergeur.

     excuse moi Mahi de t’avoir importuner avec mes 2 mails, là je viens d’y arriver et vraiment c’est énorme !

    Merci à toi pour ce tuto vmt merci ;)  

    PS : Pour les cons comme moi qui n’arrive pas à faire démarrer OpenVPn sur le serveur Centos avec /etc/init.d/openvpn start
    –> Virer client.conf du dossier etc/Openvpn
    Sinon il ne se lancera pas

  2. J’ai tout fait, je parviens à me connecter à mon serveur, je le ping, openvpn GUI est en vert en bas a droite de mon ecran, mais j’ai toujours mon IP de chez moi :/
    Une idée ?

  3. çà c’est une excellente question. Pour moi les scripts comme ruTorrent/lib/rT sont interdits sur le serveur même. Après il n’ y a pas de précision concernant l’ usage que vous faîtes du VPN. Mais c’est vrai qu’ après votre question c’est moins clair.

  4. Cool 🙂

    Pour le ftp: oui tu peux.

    J’ai eu aussi un problème de port et de règles iptables.

    N’ hésite pas à nous faire un retour de ton VPS comme cela si un autre veut essayer d’ installer un openvpn sur vps on saura que le tien et le mien sont bien compatibles.

  5. Bonsoir à tous, 

    Je viens de retenter le Tuto, et ca marche PARFAITEMENT !!!!
    Problème de port venant de l’hébergeur.

     excuse moi Mahi de t’avoir importuner avec mes 2 mails, là je viens d’y arriver et vraiment c’est énorme !

    Merci à toi pour ce tuto vmt merci 😉 

    PS : Pour les cons comme moi qui n’arrive pas à faire démarrer OpenVPn sur le serveur Centos avec /etc/init.d/openvpn start
    –> Virer client.conf du dossier etc/Openvpn
    Sinon il ne se lancera pas

    Ouf bah voudioudiou ^^ »

    Mahi tu crois que je peux cumuler la fonction VPN et serveur FTP de mon VPS ?

    Allé bonne nuit à tous 😉 

  6. J’ai tout fait, je parviens à me connecter à mon serveur, je  le ping, openvpn GUI est en vert en bas a droite de mon ecran, mais j’ai toujours mon IP de chez moi :/

    Une idée ? 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.