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

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.

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

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

 

 

 

Installation de la console. Vous pouvez y accéder via Putty (Client SSH) ou l’ interface web de la console 

 

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

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

Installer le paquet OpenVPN:

yum install openvpn

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

É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.

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

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

:wq

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

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

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

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

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

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.

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

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

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

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

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

É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 »

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

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

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

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

 

/etc/init.d/dnsmasq start

chkconfig dnsmasq on

Revenons à notre fichier server.conf

Ligne de commande:

vi /etc/openvpn/server.conf

Ajouter cette ligne

push "dhcp-option DNS 10.8.0.1"

Il ne vous reste plus qu’ à sauvegarder :wq

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

/etc/init.d/openvpn restart

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

 

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

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

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.

Et Hop un SpeedTest !

 

5 derniers articles de Mahi

Share

11 Commentaires sur “OpenVPN sur VPS – Centos 5”

LAISSER UN COMMENTAIRE

  1. sergio dit :

    ToXik vous pouvez nous explique comment savoir si c’est le probleme du port de l’hebergeur ou non ?

  2. Mahi dit :

    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

  3. sergio dit :

    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 ?

  4. Mahi dit :

    AltusHost les accepte sans aucun doute sur son VPS.

  5. Mahi dit :

    çà 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.

  6. Anom dit :

    Suite au disclamer,
    Si on passe par le VPN pour télécharger sur torrent, ça passe ?

  7. Mahi dit :

    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.

  8. ToXiK dit :

    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 😉 

  9. ToXiK dit :

    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 ? 

  10. Mahi dit :

    Cool , un retour qui fait plaisir !

  11. Zahrun dit :

    Super tuto, fonctionne à merveille, merci ! =)