Installer un serveur VPN sur Ubuntu (Serveur Kimsufi)

openvpn

PETITE NOTE: Je vends des accès à mon serveur VPN pour 5€ par mois, sans aucune restrictions. Postez un commentaire si vous êtes intéressés.

La sécurité sur Internet est quelque chose de primordiale, c’est pourquoi j’ai décidé d’installer un serveur VPN sur mon serveur dédié Kimsufi.

Je pensai faire çà en 5 minutes mais j’ai rencontré plusieurs soucis. Je vais donc tenter de vous expliquer comment faire pour installer un serveur OpenVpn sur une machine Debian ou Ubuntu.

Mais commençons par voir ce qu’est un VPN.

Présentation et utilité d’un serveur VPN

Un VPN, ou Virtual Private Network (pour réseau privé virtuel) vous permet de créer une connexion sécurisée entre votre ordinateur et le serveur VPN. Cette connexion étant cryptée, vous allez pouvoir naviguer sur Internet par exemple en utilisant le serveur VPN comme relai.

Cette sécurité, ce cryptage est valable pour une connexion filaire ou Wifi et empêche toute malveillance ou surveillance.

Un des gros avantages d’utiliser un serveur VPN est que toutes les données qui passent par ce serveur VPN, aussi bien des données entrantes que des données sortantes, sont cryptées. Il vous sera donc possible de naviguer sur Internet de manière totalement anonyme puisque c’est le serveur VPN qui fera le relai entre votre machine et les différents hôtes distants.

Le schéma suivant illustre le fonctionnement d’un serveur VPN:

fonctionnement vpn

 

Pourquoi utiliser un serveur VPN ?

Comme je vous le disai plus haut, l’utilisation d’une connexion sécurisée grâce à l’utilisation d’un serveur VPN va vous assurez un minimum de sécurité:

  • données cryptées
  • adresse ip camouflée par celle du serveur VPN
  • anonymat sur Internet
  • navigation plus rapide qu’au travers d’un proxy
  • téléchargements sécurisés (pour éviter de se faire piquer avec Hadopi si on télécharge des torrents par exemple :p)
  • contourner les restrictions de certains réseaux (universités, certains pays, etc…)

Il existe de nombreuses offres sur Internet vous proposant d’utiliser des serveur VPN payants maix ceux-ci coûtent chers si l’on souhaite un VPN de qualité avec un minimum de peering et de bande passante. Evidemment on trouve également des VPN pour quelques euros par mois, voir gratuit mais vous serez vite déçu.

Pour ceux qui souhaitent utiliser un VPN pour télécharger des torrents, sachez que les offres du net ne sont vraiment pas concluantes.

Dans mon cas je souhaite utiliser un serveur VPN pour pouvoir faire du téléchargement, du torrent, du surf anonyme et de l’analyse de flux. Aucune offre en ligne de location de VPN ne convient à mes besoins car j’ai environ 3To de données entrantes par mois.

J’ai donc décidé de faire moi même un VPN low cost en installant OpenVPN sur un serveur dédié Kimsufi.

Installer OpenVPN sur Ubuntu ou Debian

Il existe plusieurs solutions gratuites pour installer un serveur VPN sur Linux mais la plus répandue et probablement la plus stable est OpenVPN.

Comme son nom l’indique, OpenVPN est un logiciel libre permettant de créer un réseau privé virtuel. OpenVPN est un VPN SSL qui va créer un tunnel IP (UDP ou TCP au choix) authentifié et chiffré avec la bibliothèque OpenSSL.

OpenVPN est relativement intéressant car il est possible de l’utiliser sur des réseaux NAT sans avoir à le configurer. De plus, il fournit divers clients VPN pour Windows, Mac, Linux ou bien Android.

Nous allons donc voir comment l’installer sur un serveur dédié Kimsufi tournant sous Ubuntu ou Debian, l’objectif étant par la suite de sécuriser mes ordinateurs sous Windows.

Pour la suite du tutoriel sur l’installation d’un serveur OpenVPN, vous devez disposez des droits d’administrateur (root).

Installation d’un serveur OpenVPN

L’installation du serveur OpenVPN peut se faire à partir des dépôts officiels:

apt-get install openvpn
mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
chown -R $USER /etc/openvpn/easy-rsa/

 

Les scripts installés sont désormais disponibles ici:

/etc/openvpn/easy-rsa/

Configuration du serveur OpenVPN

Nous allons éditer le fichier /etc/openvpn/easy-rsa/vars:

export KEY_COUNTRY="FR"
export KEY_PROVINCE="44"
export KEY_CITY="Nantes"
export KEY_ORG="zem.fr"
export KEY_EMAIL="[email protected]"

Puis on génère les différentes clés et certificats nécessaires pour le cryptage des données:

cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
openvpn --genkey --secret keys/ta.key

Une fois les clés et les certificats générés, on va les rendre disponibles pour le serveur en les copiant dans le répertoire /etc/openvpn/

cp keys/ca.crt keys/ta.key keys/server.crt keys/server.key keys/dh1024.pem /etc/openvpn/

Ensuite on crée les répertoires /etc/openvpn/jail (pour chrooter le processus d’OpenVPN) et /etc/openvpn/clientconf (qui contiendra les configurations des clients):

mkdir /etc/openvpn/jail
mkdir /etc/openvpn/clientconf

Il ne reste plus qu’à créer le fichier de configuration /etc/openvpn/server.conf:

# Serveur TCP/443
mode server
proto tcp
port 443
dev tun
# Cles et certificats
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
tls-auth ta.key 0
cipher AES-256-CBC
# Reseau
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 4.4.4.4"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
# Securite
user nobody
group nogroup
chroot /etc/openvpn/jail
persist-key
persist-tun
comp-lzo
# Log
verb 3
mute 20
status openvpn-status.log
; log-append /var/log/openvpn.log

Dans ce fichier de configuration, on voit clairement que l’on va créer un serveur VPN SSL basé sur le port 443 et sur le protocol TCP. Le port 443 étant généralement utilisé par le protocole HTTPS, cela vous permettra de passer aux travers de la plupart des firewalls et autres sécurités.

On note également que l’ensemble des clients qui se connecteront au serveur VPN utiliseront obtiendront une ip dans le range 10.8.0.0/24.

Désormais, on peut tester si l’installation et la configuration ont fonctionné:

cd /etc/openvpn
sudo openvpn server.conf

Si le message “Initialization Sequence Completed” apparait c’est que la configuration s’est correctement déroulée.

Il se peut que vous ayez le problème suivant:

Note: Cannot open TUN/TAP dev /dev/net/tun: Permission denied (errno=13)
Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Cannot open TUN/TAP dev /dev/tun0: No such file or directory (errno=2)

 

Pour le résoudre, il faut rentrer les commandes suivantes:

mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

 

Pour vérifier que le problème est corrigé, entrez la commande suivante:

cat /dev/net/tun

 

Elle devrait retourner le message “File descriptor in bad state”. Il ne vous reste plus relancer le serveur OpenVPN.

Une fois la configuration effectuée et testée, on édite le fichier /etc/openvpn/server.conf pour décommenter la ligne suivante:

log-append /var/log/openvpn.log

Vous pouvez alors relancer le serveur OpenVPN:

/etc/init.d/openvpn start

Configuration du routage

Un fois le serveur OpenVPN démarré, il faut configurer le routage afin que les clients puissent se connecter et obtenir une adresse ip. Pour cela, entrez cette commande:

sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Vous pouvez rendre ce paramétrage permanent (même après un redémarrage de votre serveur) en éditant le fichier /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Ensuite on configure la gestion des adresses ip NAT, car votre serveur OpenVPN fonctionnera comme un routeur:

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

Pour rendre persistante cette règle de routage NAT, il faut entrer cette commande:

sh -c "iptables-save > /etc/iptables.rules"

Puis vous devrez éditer le fichier /etc/network/interfaces en y ajoutant la ligne suivante après la définition de votre interface réseau principale (“iface eth0 inet…”):

pre-up iptables-restore < /etc/iptables.rules

Création d’un compte client sur le serveur OpenVPN

Maintenant le serveur OpenVPN est correctement configuré et que le routage est fonctionnel, nous allons créer un compte client pour pouvoir nous connecter dessus et l’utiliser. L’exemple suivant va créer un compte pour l’utilisateur “jhd”.

cd /etc/openvpn/easy-rsa
source vars
./build-key jhd

3 fichiers ont été générés dans le répertoire /etc/openvpn/easy-rsa/keys:

  • jhd.crt: Certificat pour le client
  • jhd.csr: Certificat à garder sur le serveur
  • jhd.key: Clés pour le client

Nous allons copier ces fichiers dans un sous répertoire du dossier /etc/openvpn/clientconf/ puis on se place dans ce dossier:

mkdir /etc/openvpn/clientconf/jhd/
sudo cp /etc/openvpn/ca.crt /etc/openvpn/ta.key keys/jhd.crt keys/jhd.key /etc/openvpn/clientconf/jhd/
cd /etc/openvpn/clientconf/jhd/

On créé le fichier client.conf en remplaçant A.B.C.D par l’adresse publique de votre serveur dédié:

# Client
client
dev tun
proto tcp-client
remote A.B.C.D 443
resolv-retry infinite
cipher AES-256-CBC
# Cles
ca ca.crt
cert jhd.crt
key jhd.key
tls-auth ta.key 1
# Securite
nobind
persist-key
persist-tun
comp-lzo
verb 3

Le client Windows d’OpenVPN a besoin d’un fichier ayant l’extension .ovpn. On va donc copier le fichier de configuration client.conf vers client.ovpn:

cp client.conf client.ovpn

Il ne nous reste plus qu’à zipper le répertoire du client afin de pouvoir le récupérer sur notre ordinateur client:

zip jhd.zip *.*

 Configuration du client OpenVPN pour Windows

Pour pouvoir vous connecter à votre serveur OpenVPN sous votre ordinateur Windows, vous devez télécharger le client OpenVPN disponible ici.

Procédez à son installation puis récupérer le fichier jhd.zip que l’on a généré précédemment sur le serveur dédié.

Dézippez le contenu du fichier dans le répertoire “config” du dossier d’installation de votre client OpenVPN (chez moi c’est “C:\Program Files (x86)\OpenVPN\config”).

Il ne vous reste plus qu’à lancer le client “OpenVPN GUI” puis à vous connecter.

Monitorer les connections sur votre serveur OpenVPN

Si comme moi vous avez plusieurs ordinateurs, il peut être intéressant de savoir qui est connecté et avec quelle adresse ip.

Pour surveiller votre serveur OpenVPN, vous pouvez exécuter la commande suivante:

tail /etc/openvpn/openvpn-status.log

 

Ce qui vous retournera la liste des clients connectés au serveur OpenVPN:

Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
jhd,88.185.245.66:63459,3599574,15267172,Sat Dec 29 15:18:31 2012
jhdserver,85.182.248.56:61435,679353858,15417087657,Sat Dec 29 11:54:59 2012
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.8.0.6,jhd,88.185.245.66:63459,Sat Dec 29 16:31:22 2012
10.8.0.10,jhdserver,85.182.248.56:61435,Sat Dec 29 16:31:26 2012
GLOBAL STATS
Max bcast/mcast queue length,0
END

Dans l’exemple ci-dessus, on voit que 2 clients sont connectés:

  • jhd avec l’adresse ip 88.185.245.66 qui a pour adresse privée 10.8.0.6
  • jhdserver avec l’adresse ip 85.182.248.56 qui a pour adresse privée 10.8.0.10

Voilà j’espère que cela vous aidera 🙂

PETITE NOTE: Je vends des accès à mon serveur VPN pour 5€ par mois, sans aucune restrictions. Postez un commentaire si vous êtes intéressés.

130 Responses to Installer un serveur VPN sur Ubuntu (Serveur Kimsufi)

  1. MrFlo says:

    Merci beaucoup pour ce tuto !

    • jhd says:

      Aucun souci, hésite pas à faire circuler le site 🙂

      • max says:

        Bonjour,

        Merci beaucoup pour ce tuto, il est génial!!!!!!

        J’ai juste deux ou trois choses à te demander, en plus,

        Est il possible d’automoatiser la création des utilisateurs par un site web?
        Comment faire pour desactiver de maniére automatique un compte tout les 30 jours (exemple dans ton cas, un utilisateur ne renouvelle pas son abonnement…)

        Merci beaucoup pour ta réponse.

        • jhd says:

          Il est tout a fait possible d automatiser (en php ca doit se faire facilement :-))

          Par contre pour la suppression auto je pense qu’il suffirait de deplacer le dossier du client ou de le supprimer.

  2. Luzifer says:

    Tuto simple, clair et précis…. Le meilleur tuto en français pour installer et configurer simplement un serveur VPN.

    VPN fonctionnant niquel sur serv dédié en Ubuntu 12.04

    Si vous avez un problème au moment d’utiliser pkitoll :

    ./pkitool –initca
    ./pkitool –server server

    “The correct version should have a comment that says: easy-rsa version 2.x”

    Simplement faire :

    sudo ln -s openssl-1.0.0.cnf openssl.cnf

    pour ajouter un ptit lien symbolique qui permettra de faire bosser pkitool et passer outre le message d’erreur.

    Pour démarrer automatiquement la connection sur le client OpenVPN 2.3.0 Win en date du 8 janvier 2013, il y a une manip simple à mettre en place et à ne faire qu’une fois. Cela fonctionne bien évidemment aussi sous Windows 8 X64.

    Touche Windows + R : pour lancer la commande Exécuter

    Ecrire : services.msc

    Dans le gestionnaire de services, descendre jusqu’à « OpenVPNService »

    dans la colonne Type de démarrage : le passer en « Automatique »

    Valider et rebooter.

    Au moment du reboot, il n’y pas l’icône d OpenVPNgui 1.0.3 bien moche mais vous êtes bien connecter à votre VPN, pour le vérifier rien de plus simple, taper mon ip dans votre navigateur, le résultat devrait afficher l’ip publique du serveur VPN et non la vôtre

    Au démarrage de la session le services VPN se lance, et lance aussi un Daemon qui se charge de scanner \Program Files\OpenVPN\config, de lire vos fichiers de configuration VPN et d’y vous connecter, tout simplement magique.

  3. Luzifer says:

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

    sh -c “iptables-save > /etc/iptables.rules”

    nano /etc/network/interfaces en y ajoutant la ligne suivante après la définition de votre interface réseau principale (“iface eth0 inet…”):
    pre-up iptables-restore < /etc/iptables.rules

    Si sur votre release Ubuntu desktop 12.04 OVH (sur une non desktop pas de soucis) votre Iptable a vraiement pas envie de s'enregistrer et de se fait il n'y a pas de traffic sortant apres un reboot, qu'il est 2 heures du mat et comme par hazard vous vous êtes penché(e)s sur votre serveur VPN en dernier apres avoir manger de l'aprentissage "pavé linux" en speedmode et que vous avez vraiment, vraiment, vraiment "The flemme"….. simplement penser à la solution du pauvre :

    Créer un petit script en bash quise lancera au démarrage
    Pour cela :

    Nano mon_script

    #!/bin/bash
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    exit 0

    Puis copier le code dans le répertoire /etc/init.d en faisant :

    sudo cp mon_scrip /etc/init.d

    Puis attribuer des droit d’execution sur le script:

    sudo chmod +x /etc/init.d/mon_script

    Et enfin tapez:

    sudo update-rc.d mon_script defaults

    reboot, votre serveur se relance et hop, le routage se fait.

    • kaki says:

      bon comme tu le dit ils est 2 heur du mat est la c’est compliqué pour moi peut tu m’aidée?

      Thu Mar 13 02:21:14 2014 SENT CONTROL [server]: ‘PUSH_REQUEST’ (status=1)
      Thu Mar 13 02:21:14 2014 PUSH: Received control message: ‘PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 4.4.4.4,dhcp-option DNS 8.8.8.8,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5’
      Thu Mar 13 02:21:14 2014 Options error: unknown –redirect-gateway flag: bypass-dhcp
      Thu Mar 13 02:21:14 2014 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:5: topology (2.0.9)
      Thu Mar 13 02:21:14 2014 OPTIONS IMPORT: timers and/or timeouts modified
      Thu Mar 13 02:21:14 2014 OPTIONS IMPORT: –ifconfig/up options modified
      Thu Mar 13 02:21:14 2014 OPTIONS IMPORT: route options modified
      Thu Mar 13 02:21:14 2014 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
      Thu Mar 13 02:21:14 2014 TAP-WIN32 device [Connexion au réseau local 4] opened: \\.\Global\{FD877852-F0C6-40C6-A724-F2E01F18C337}.tap
      Thu Mar 13 02:21:14 2014 TAP-Win32 Driver Version 8.4
      Thu Mar 13 02:21:14 2014 TAP-Win32 MTU=1500
      Thu Mar 13 02:21:14 2014 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {FD877852-F0C6-40C6-A724-F2E01F18C337} [DHCP-serv: 10.8.0.5, lease-time: 31536000]
      Thu Mar 13 02:21:14 2014 Successful ARP Flush on interface [3] {FD877852-F0C6-40C6-A724-F2E01F18C337}
      Thu Mar 13 02:21:14 2014 TEST ROUTES: 0/0 succeeded len=1 ret=0 a=0 u/d=down
      Thu Mar 13 02:21:14 2014 Route: Waiting for TUN/TAP interface to come up…
      Thu Mar 13 02:21:15 2014 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
      Thu Mar 13 02:21:15 2014 route ADD 10.8.0.1 MASK 255.255.255.255 10.8.0.5
      Thu Mar 13 02:21:15 2014 Route addition via IPAPI succeeded
      Thu Mar 13 02:21:15 2014 Initialization Sequence Completed

      je me conect bien au vpn mais pas de routage de conection!

      help merci a toi pour ce tuto très complet

  4. marmotte says:

    salut
    tuto fonctionne bien sa se connecte mais mon ip est inchanger quelqu’un pour m’eclairer

  5. GG says:

    Hello,

    Merci, comme d’autres je trouve ve tuto tres bien fait meme si je ne l’ai pas encore applique. En effet j’ ai avant tout une question: quelqu’ un me dit que si je veux monter un VPN il me faut un IP FAIL OVER. Je nage un peu dans le concept pour le moment. Mais d’ apres vous est ce une obligation? Quel interet de cet IP Fail over dans un VPN? Car dans ce tuto je n’ en vois pas mention.

    Autre question pendant que j’ y suis… Avec Kimsufi MKS 2G et ce tuto open VPN, combien de personnes pourraient se connecter au VPN simultanement? On peut lui charger la mule?

    Mille merci par avance de votre aide!

    GG

    • jhd says:

      Tout dépend de ce que font les users. Si c’est juste du surf ca tiens 50 personnes facile.
      Si c’est du download c’est plus difficile à estimer

      • GG says:

        Hello,

        Merci de ta reponse.
        Mais j’ ai un peu de mal a comprendre: en quoi le fait que les gens telechargent pourrait faire planter le server? Parceque cela fait tourner le processeur a fond afin de crypter les donnees?
        Ip Fail over as tu une idee?

        Merci de ton aide.

        GG

        • jhd says:

          Non c’est parce que le téléchargement utilise des ressources de la machine, notamment la bande passante

  6. GG says:

    Merci de ta reponse et surtout de ta disponibilite; La je comprends mieux.Si les utilisateurs telechargent c’ est donc uniquement la bande passante qui trinque, pas le couple processeur/memoire (quoiqu’a mon avis ils doivent mouliner un peu…).
    Si il y en a qui ont un retour d’experience avec un VPN sur un Kimsufi avec de nombreux users, ils sont les bienvenus pour les partager 🙂

    • jhd says:

      Perso on est 5 sur un de mes serveurs et on utilise environ 13To de transfert / mois (map de jeux, backup videos youtube, etc…) et le serveur est pas très sollicité donc tu vois je pense qu’on peut facilement aller à 15, 20 users

  7. GG says:

    OK. Merci de l’ info. Tu es chez qui pour avoir 13 To de transfert sans probleme?

    Dis moi je parcours ton Blog, beaucoup de choses m’ interessent. Des questions tu vas en avoir 😉

  8. GG says:

    Hello,

    Bon j’ ai bien tout fait comme il faut et j’ ai deux erreurs.
    Si quelqu’ un a une idee, merci par avance…

    Mon May 27 17:14:38 2013 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
    Mon May 27 17:14:38 2013 Diffie-Hellman initialized with 1024 bit key
    Mon May 27 17:14:38 2013 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
    Mon May 27 17:14:38 2013 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1’ for HMAC authentication
    Mon May 27 17:14:38 2013 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1’ for HMAC authentication
    Mon May 27 17:14:38 2013 TLS-Auth MTU parms [ L:1560 D:168 EF:68 EB:0 ET:0 EL:0 ]
    Mon May 27 17:14:38 2013 Socket Buffers: R=[87380->131072] S=[16384->131072]
    Mon May 27 17:14:38 2013 TCP/UDP: Socket bind failed on local address [undef]: Address already in use

    /etc/openvpn# /etc/init.d/openvpn start
    [FAIL] Starting virtual private network daemon: server failed!

    • jhd says:

      Je pense que l’addresse ip qu’openvpn veut te donner est deja utilisée. Vérifie les fichiers de conf (genre espace en moins, virgules mal placée, etc…)
      Je regarde demain plus dans le détail

  9. GG says:

    Apres avoir fouine un peu partout, je lis que certains disent que Openvpn et Apache en ecoute sur le meme port n’ est pas tres sain… Et sur mon kimsufi j’ ai un rtorrent + rutorrent et les deux ne fonctionnent plus..
    Ce probleme de port pourrait il veritablement etre une piste?

    Merci!

    • jhd says:

      C’est possible mais pour tester il te suffit de stopper ton apache ou de changer le port d’écoute d’openvpn ou d’apache et de retester

  10. GG says:

    Hello,

    QUe veux tu dire par ip deja utilisee? A part rtorrent et rutorrent, je ne vois pas ce qui pourrait tourner dessus. Les deux sur le meme port cela semble difficile….
    Merci de ton aide une fois de plus; dis moi si tu vois quelque chose de bizarre si tu peux

  11. GG says:

    Hello

    Donc visiblement c’ est bien parceque Openvpn et lighttpd sont sur le port 443. Quand je stope openvpn, rtorrent fonctionne de nouveau… La je colle

    Je vais voir du cote de sslh

  12. GG says:

    Hello again,

    Morale de l’ histoire, lighttpd et Openvpn sur le meme port (443) ca ne marche pas.
    J’ ai donc tout recommence et mis 444 pour openvpn et 443 pour lighttpd. Tout fonctionne et mon rtorrent avec.

    Merci a tous de votre aide!

    GG

    • jhd says:

      C’est classique comme problème, le port d’écoute utilisé par openvpn est deja utilisé par une autre application. Dans ce cas, deux possibilités: changer le port d’écoute d’openvpn ou bien celui de l’autre application, ou bien faire fonctionner une seule application à la fois.

  13. pga says:

    Salut, je découvre cet article qui m’a l’air pas mal mais je ne pourrais pas m’y coller avant le mois prochain. En attendant, j’aurais aimé savoir si ça peut permettre d’accéder aux chaines de tv françaises depuis l’étranger, genre sur PlayTV (http://playtv.fr/) au moins d’un point de vue trafic. Je voudrais monter mon vpn mais là j’ai pas le temps (apprendre + mettre en place). Penses-tu que pour ce genre d’usage je puisse souscrire au tien ?
    Merci pour ton article et merci d’avance pour ta réponse.

    • jhd says:

      Je ne vois pas trop le lien entre le vpn et le site que tu donnes. En effet un vpn permet de tout faire comme si tu utilisais ta connexion classique sauf que c’est relayer par ton serveur vpn

      • pga says:

        Au même titre que les sites de replay de France TV, playtv bloque la lecture du flux depuis l’étranger. le VPN permet d’avoir une IP française pour mater la TV française (en faisant l’hypothèse que le blocage est basé uniquement là-dessus). C’est tout. Et ma question était aussi de savoir, dans le cas où ça marche, si ça ne fait pas trop de trafic pour ton VPN.
        That’s it!

        • jhd says:

          Oui ca fonctionnera sans souci si le serveur vpn est francais. En terme de traffic et de bande passante, c’est difficile de faire une estimation mais ca ne devrait pas être énorme car la plupart des serveurs vpn sont hébergés sur des serveurs dédiés à traffic illimité

  14. johnFawkes00 says:

    Salut l’ami ,

    Je serais intéressé par ton accès serveur vpn 🙂

    contact par mail

    merci 🙂

  15. rtripoux says:

    Bonjour,

    Joli condensé d’installation d’un server openvpn, il m’a été très utile pour me rafraichir la mémoire 🙂

    Juste une petite remarque, tu t’es trompé sur l’adresse d’un des serveur DNS de google, c’est 8.8.4.4 et non 4.4.4.4.

    Merci pour le tuto & Bonne journée!

  16. timal says:

    Wow jsuis en trans , merci pour ce super tuto powaaaaa

  17. timal says:

    ouep nickel , simple clair precis , les com’s de Luzifer m on bien filé un cp de main aussi 😉
    le vpn est bien parametré tout passe nickel ^^

    Cependant j aurai une question , j ai cherché un peu mais je ne trouve pas de soluce a mon probleme la v’la:

    quand je passe par openvpn mon utorrent ne “voit” pas les ports ouvert pour sa connexion , des que je le desactive tout roule ,comment y remedier ?? ( sa telecharge et seed moyen )

    j ai crée des regles iptables sur mon port tcp/udp mais rien ne change …

  18. Meu APELIDO says:

    Je suis intéressé par votre offre VPN. Je souhaiterais pouvoir vous exposer mes conditions d’utilisation, obtenir aussi les détails de nos engagements respectifs et mettre au point une période d’essai pour disposer du temps nécessaire aux différents paramétrages qui me seront nécessaires avant de m’engager dans un abonnement rétribué. Pouvez-vous me contacter ? Merci.

  19. alf says:

    CouCou, es ce que tu peux me dire comment révoqué un accés.
    J’ai trouvé plein de truc sur le net, mais les infos sont trops veille pour collé avec notre instalation.

    Merci !

  20. alex says:

    Merci pour le tuto mais j’ai un soucis.

    Le VPN se connecte bien. L’ip dans OpenVPN est bien assigné mais quand je vais sur le net voir mon IP, celle-ci n’a pas changée et c’est toujours celle de mon FAI. ><

    • jhd says:

      Utilisez vous correctement le client OpenVPN pour Windows. L’icone dans la barre de notification doit être verte.
      Si elle est rouge c’est que vous n’êtes pas connecté au VPN

  21. mikael says:

    Bonjour,

    D’abord un très grand merci pour ton tuto clair et précis! J’ai tout de même une question à te poser. Imaginons que tu as 50 personnes qui ont souscrit à ton service VPN. Est-ce que le serveur Kimsufi avec sa “faible bande passante” (100Mbps) ne risque pas de s’avérer très limité donc de ralentir la connexion de tes clients (à supposer que certains téléchargent par exemple ou regardent la vidéo en ligne ou plusieurs clients se connectent à même temps). Quelle bande passante optimale pour mieux servir 50 personnes par exemple (à supposer que 20 personnes se connectent simultanément)?

    Merci pour ta réponse.

    • jhd says:

      Le calcul de bande passante est relativement difficile à évaluer.

      Il est évident que si 10 personnes téléchargent en même temps, cela risque de pénaliser les autres utilisateurs sur le réseau.

      Personnellement sur des petites machines genre Kimsufi, je conseille de ne pas dépasser une quinzaine d’utilisateurs.

      Il y a peut être une piste à explorer également: limiter la bande passante par connexion via OpenVPN (je ne sais pas si c’est possible mais cela me semble être une piste intéressante).

      N’hésitez pas à me tenir informé 🙂

  22. Shu says:

    Bonjour.

    Comme d’autre la connexion se fait après toute la configuration et l’installation du client OPENVPN GUI, j’ai bien le message comme quoi je suis connecté au serveur avec l’ip 10.8.0.6, mais mon ip de “FAI” n’est pas remplacé par celle du serveur, notamment quand je navigue sur internet.

    J’ai suivi le tutoriel à la lettre, peut-être que quelque chose m’a échappé :/

    merci d’avance pour la réponse.

  23. Billy Bob Thornton says:

    “anonymat sur Internet
    (…)
    téléchargements sécurisés (pour éviter de se faire piquer avec Hadopi si on télécharge des torrents par exemple :p)”

    De quoi ?!?

    Le serveur Kimsufi sur lequel tourne ton VPN, tu le loues en utilisant des numéros de cartes bancaires volées avec un contact fictif. Là d’accord. Peu de chances de te faire attraper par l’Hadopi.

    Si ce n’est pas le cas, c’est à dire si tu loues le serveur Kimsufi à ton propre nom, OVH sera dans l’obligation de communiquer ton identité aux autorités et tu devras répondre de l’utilisation qui en a été faite, non seulement par toi mais également par les gens à qui tu sous loues le service. À moins d’être en mesure de les identifier et de les dénoncer.

    • jhd says:

      Hadopi … ou comment ne pas justifier l’augmentation des impôts.

      Les informations que je donne sont à titre informatif uniquement. Il est évident que je ne fais pas de téléchargement ou autre activité non autorisées.

      De plus, mes dédiés ne sont pas tous chez Kimsufi et mes VPN me servent principalement à sécuriser mes diverses connections.

      A chacun d’utiliser son VPN en son âme et conscience 🙂

  24. Robert says:

    Bonjour,

    Je suis intéressé pour le service de VPN a 5 euros par mois.
    Est-il possible de faire un essai quelques heures afin de vérifier la vitesse? Combien de personnes seront présentes sur le meme serveur VPN?

    Merci

  25. mikael says:

    Bonsoir Zem,

    Je souhaiterais savoir si tu sais comment configurer un client openvpn sous Ubuntu (12.04 LTS) pour se connecter à un serveur Openvpn (comme le tiens). Ton tuto s’est limité sur les clients windows. Merci d’avance

  26. mikael says:

    Je suis finalement parvenu à trouver la solution pour le client openvpn sous Ubuntu. Possédant depuis quelque temps un serveur dédié (distant), j’ai suivi toutes les étapes de ton tuto pour installer openvpn. Tout semblait nickel, j’arrive à me connecter à mon serveur… mais le hic est que je ne peux plus accéder à Internet (à des pages web) une fois le vpn connecté. As-tu déjà rencontré ce problème? Si oui, Comment le résoudre? Merci d’avance.

    • jhd says:

      Je n’ai jamais rencontré ce souci. Peut être le firewall qui bloque ?

      • mikael says:

        Dans ce cas comment le débloquer? As-tu une idée? En tout cas, chez moi l’installation s’est bien déroulée, je me connecte sans souci sauf que je n’ai pas accès à Internet. Mes connaissances en réseau sont encore à leurs balbutiements. Merci d’avance.

  27. mikael says:

    Bingo! Tu avais finalement raison! C’est le foutu firewall Firestarter qui bloquait mes connexions entrantes donc mes pages web. Mon VPN fonctionne sans soucis, J’ai accès à Internet! Pour ceux qui rencontreront mon problème (connexion VPN mais absence d’Internet), ils savent à quoi s’en tenir. Encore une fois bravo pour ton tuto détaillé et ton partage des connaissances. Bonne continuation.

  28. mikael says:

    re-bonsoir JDH,

    En plein test sur mon vpn, je voudrais savoir comment tu fais pour suspendre ou bannir un ordinateur client sur ton serveur openvpn?
    Je te remercie d’avance pour ta réponse.

  29. AnowFray says:

    Bonjour,

    Je suis intéressé par l’achat d’un accès pour 5€/mois à votre serveur!
    Etant en résidence universitaire, je passe par se fichu RENATER et je ne peux donc pas utiliser les mails…
    J’ai accès uniquement à Skype si cela pour nous être utile à discuter.

    Merci d’avance.

  30. AnowFray says:

    Dommage, tenez moi au courant si une place se libère. Merci quand même

  31. MaM says:

    Bonjour,

    Même problème qu’alex et Shu : la connexion au VNP a l’air de s’effectuer correctement depuis le client Windows mais monip.org récupère l’IP attribué par le FAI et celui du VPN.

    Pas mail d’erreurs comme ça dans les logs du client :
    ROUTE: route addition failed using CretaIpForwardEntry: Accès réfusé. [status=5 if_index=12]
    ROUTE addition via IPAPI failed [adaptive]
    Route addition fallback to route.exe
    ERROR: Windows route add command failed [adaptive]: returned error code 1

    J’ai pourtant Initialization Sequence Completed à la fin.

  32. Arka says:

    C’est ce qu’on appelle dans le jargon du web un beau copier-coller !

    http://blog.nicolargo.com/2010/10/installation-dun-serveur-openvpn-sous-debianubuntu.html

    • jhd says:

      Desole mais pas de c/c chez moi d’ailleurs j’ajoute ton lien en trackback car il détaille parfaitement l’installation des clients.

  33. ahmed says:

    Bonjour,

    Je tiens tout d’abord à te remercier pour ton tuto parfait. J’aimerais savoir si c’est possible d’avoir deux serveurs OpenVpn càd un serveur avec la configuration FR,Nantes … et un autre avec US,Californie …

    Merci

  34. Jedediah says:

    Hello et merci pour ce tuto !
    Néanmoins chez moi cela ne fonctionne pas…

    J’ai bien suivi toutes les étapes, sans erreurs. J’ai copié les fichier sur la machine en FTP et les ai copié dans le dossier qui va bien.

    Mais au lancement d’OpenVPN, il me dit que la connexion a échoué…

    Des idées ?

  35. Jedediah says:

    Ben oui :/

  36. Saï says:

    Hello ! Merci pour ce tuto très complet.

    Je suis bien connecté à OpenVPN, IP récupérée 10.8.0.6 mais impossible de naviguer.
    Si ça peut aider : j’ai bien une réponse au ping vers mon serveur dédié mais aucun retour lors d’un ping vers site web quelconque…
    Une idée ?

    Merci 🙂

  37. thanakaz says:

    Bonjour, et merci pour ce tuto !
    ça faisait longtemps que je cherchais ce genre d’article détaillé pour la mise en place d’un VPN.

    Pour ma part, une fois le tuto réalisé, je peux me connecter au VPN, j’obtiens bien une ip en 10.8.0.6 sur un poste mais la navigation internet devient impossible… vous auriez une idée ?
    Bon en attendant, je vais me creuser la tête…

  38. DhJ says:

    Bonjour, j’ai un petit soucis avec la configuration d’Openvpn !
    En effet, j’ai tout configuré, la première fois avec mon nom d’utilisateur, et voyant que ça marchait pas, j’ai fais tout comme vous, même nom ect…
    Le problème est toujours le même j’ai cette erreur dans mes logs lorsque je veux me connecter :

    Sat Dec 07 22:07:18 2013 OpenVPN 2.3.2 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [eurephia] [IPv6] built on Aug 22 2013
    Enter Management Password:
    Sat Dec 07 22:07:18 2013 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
    Sat Dec 07 22:07:18 2013 Need hold release from management interface, waiting…
    Sat Dec 07 22:07:18 2013 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
    Sat Dec 07 22:07:18 2013 MANAGEMENT: CMD ‘state on’
    Sat Dec 07 22:07:18 2013 MANAGEMENT: CMD ‘log all on’
    Sat Dec 07 22:07:18 2013 MANAGEMENT: CMD ‘hold off’
    Sat Dec 07 22:07:18 2013 MANAGEMENT: CMD ‘hold release’
    Sat Dec 07 22:07:18 2013 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Sat Dec 07 22:07:18 2013 MANAGEMENT: Client disconnected
    Sat Dec 07 22:07:18 2013 Cannot load certificate file jhd.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
    Sat Dec 07 22:07:18 2013 Exiting due to fatal error

    En gros, si je comprends bien, il ne trouve pas le certif donc comment faire ?

    Thaanx !

  39. DhJ says:

    C’est ce que j’ai fais, et malheuresement ça ne fonctionne toujours pas :s, une petite idée ?

  40. Benji_X80 says:

    Bonjour, j’ajoute une petite contribution pour tout ceux qui comme moi ont installé openvpn sur un serveur dédié qui a des règles iptables restrictives.

    Pensez à rajouter ces quelques règles si vous avez verrouillé pas mal de ports. (il y a moyen de fair eplus restrictif mais bon, ça marche) :

    # règles obligatoires pour ouvrir déverouiller l’accès :
    iptables -I FORWARD -i tun0 -j ACCEPT
    iptables -I FORWARD -o tun0 -j ACCEPT
    iptables -I OUTPUT -o tun0 -j ACCEPT

    # autres règles :
    iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.8.0.2/24 -o eth0 -j MASQUERADE

  41. DhJ says:

    Alors, tu as eu des informations ? :3

  42. revio says:

    salut, merci pour le tuto,
    un petit truc une fois sous mon VPN je peux plus me logguer via putty sur mon server ( le meme que le VPN) idem pour filzeilla.
    Un pote ma filer sa confClient de son VPN et la miracle j’accede à putty, filezilla sur mon server . Une hisotire de Boucle locale ou de Port ??

    merci

  43. d says:

    salut et merci pr ce tuto mais étant totalement novice sous linux je me suis arreter apres cette commande mkdir /etc/openvpn/clientconf
    si y a moyen d avoir un pti pe plus d explication je c pa comment editer la suite merci

  44. mobi1970 says:

    salut,
    petit soucis :la connexion au VNP a l’air de s’effectuer correctement depuis le client Windows mais monip.org récupère l’IP attribué par le FAI et celui du VPN.
    voici ce que ca me donne sous ubuntu server:
    OpenVPN CLIENT LIST
    Updated,Sat Apr 19 07:56:21 2014
    Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
    adam,192.168.1.254:61295,129225,47427,Sat Apr 19 07:53:20 2014
    ROUTING TABLE
    Virtual Address,Common Name,Real Address,Last Ref
    10.8.0.6,adam,192.168.1.254:61295,Sat Apr 19 07:56:20 2014
    GLOBAL STATS
    Max bcast/mcast queue length,0
    END

    merci de votre aide

  45. mobi1970 says:

    salut jhd,

    j’en ai tellement fait et je tourne en rond depuis pas mal de temps
    tu parles du firewall de la box ? je suis chez free en mode routeur il ny en a pas ..
    j’ai configuré iptables mais tjrs rien ..
    merci de tes conseils

  46. Vincent says:

    Bonjour,

    Je me suis mis au Bitcoin via les machines achetées sur Cointerra, mais je me rends compte de mon erreur. Je souhaiterai donc me mettre à une autre cryptomonnaie comme le litecoin ou dogecoin, sauf que je n’ai pas un budget très important(pas plus de 600 euros pour débuter), j’ai regardé un premier article sur ce que vous disiez, mais il date d’il y a 1 an. Est-il possible de débuter avec un budget comme celui-ci sans avoir l’impression de perdre de l’argent?

    Cordialement.

    • jhd says:

      Encore une fois le mining est un investissement sur le long terme. Il faut savoir être patient et garder ses litecoins afin d’attendre lorsqu’ils seront au prix fort.
      Avec 600€ vous pouvez monter un petit rig avec 2 cartes graphiques pour miner.

  47. Vincent says:

    Merci pour votre réponse donc pour vous le litecoin est interessant, je tacherai de me monter une petite config pour débuter dans ce but.

  48. Mélanie says:

    Salut jhd, merci pour ce superbe tuto j’ai réussi à le faire fonctionner deux fois sur deux serveur différents.

    Par contre je ne sais pas chez qui louer un serveur.
    J’ai déjà testé avec qu’un client connecté :
    -edys mais je n’ai réussi à n’avoir pour 10€ que 9.8 Mb/s avec un VPS au pays-bas.
    – glesys j’ai réussi à avoir pour 12€ 12 Mb/s avec un VPS en Suède.

    Connaîtrais tu des bons dedies à l’étranger avec une bonne bande passante ? Ou meilleur même ? (L’idéal serait 100 Mb/s pratique)

  49. Dak says:

    Bonjour,

    J’ai installé le paquet openvpn aujourd’hui.
    Les scripts pour générer les clefs ne se sont pas installés dans le dossier ‘/usr/share/doc/openvpn/examples’, je n’ai que 3 dossiers : sample-config-files, sample-keys et sample-scripts. Aucun ne contient vars, clean-all
    build-dh ou pkitool …

    Du coup, je suis bloqué dans la première étape du tuto…
    Pouvez-vous m’aider svp ?

  50. Daks says:

    Je suis sous Ubuntu 14.04 3.13.0-32-generic

  51. Daks says:

    J’ai installé avec la commande ‘apt-get install openvpn’ et même en réessayant, ce répertoire n’apparait pas.
    En cherchant un peu, (http://doc.ubuntu-fr.org/openvpn), j’ai trouvé que je pouvais l’installer ‘apt-get install easy-rsa’
    puis ‘make-cadir my_ca’ pour l’avoir dans mon dossier home.
    Mais je ne sais pas pourquoi il ne s’est pas installé.

  52. dory says:

    merci jhd pour ton superbe tuto!! est ce que je peu faire d’une machine serveur et ckien en même temps?

    • jhd says:

      Oui aucun souci par contre il te faut 2 machines:
      * 1 qui fait serveur VPN
      * 1 qui fait serveur et client (car il ne va pas se connecter sur lui même)

  53. Le tutoriel est super, merci. Concernant le VPN à 5€, pardon mais je trouve ça un peu cher vu qu’on peut trouver des offres avec de nombreux serveurs dans plein de pays du monde pour à peine plus cher.
    Mais je ne préjuge pas de la qualité du service.
    Bon courage.

  54. kevin says:

    Bonjour ou puis-je l’adresse publique de mon server dedié? merci

  55. Blaze says:

    Salut, il est donc possible de generer plusieurs clés clients pour que plusieurs USERS puissent se connecter sur le meme serveur? Merci de votre reponse ! 🙂

  56. Blaze says:

    Bonjour, j’ai un VPS che http://www.be1host.com et je n’arrive pas à trouver mon IPv4 (pour l’ip exterieure)pour creer le ficher de configuration quelqu’un serait m’aider ? Merci d’avance 😉

  57. TranceGeniK says:

    Salut,

    Je pourrais être intéressé par un accès VPN 🙂 Reste-t-il des accès ?

  58. Jonathan says:

    Bonjour, tout d’abord merci beaucoup pour ce tutoriel !!

    J’ai un petit soucis car il ne trouve pas la clés ta.key mais j’ai du faire une erreur de manipulation donc je recommence aha !

    J’avais une petite question, comme peut-on faire en sorte de masquer le flux VPN ? Car dans mon école tout les VPNs sont bannis au bout de quelques jours… C’est assez agaçant ! Seulement le VPN de VyprVPN fonctionne… car il cache le flux !

    Merci à toi 🙂

  59. Jonathan says:

    Bonjour, bon, j’ai réussi à installer OPENVPN tout nickel ! Je te remercie !!

    Mais j’ai un petit soucis au niveau du client voici l’erreur :

    2015-01-16 21:00:20 *Tunnelblick: After 30.0 seconds, gave up trying to fetch IP address information using the ipInfo host’s name after connecting.

    Et du coup, aucun accès externe.. que faire ?

    Je te remercie encore une fois 🙂

  60. cocity says:

    Bonjour jhd

    Merci pour ce magnifique tuto très bien expliquer. 🙂

    installation sur un machine dédié chez kimsufi.
    J’ai juste un souci qui es pas vraiment un souci, quand je fais un teste debit je suis seulement a 14 méga et 2.64 en uplod?

    il y as un façon de débrider openvpn serveur?

    amicalement

  61. […] Source : Installer un serveur VPN sur Ubuntu (Serveur Kimsufi) | ZeM, geekeries en tout genre […]

  62. senhorM says:

    Je souhaiterais souscrire à votre offre VPN. Je dispose de plusieurs appareils sous Kubuntu 14.04 et quelques autres sous Windows 7 et 8.1. Me sera-t’il possible dans ces conditions d’utiliser plusieurs accès simultanés ? Merci.

  63. Thomas says:

    le serveur et chaque noeud intermédiaire n’ont pour seul interlocuteur que le proxy. Ils considéreront que le proxy est le destinataire final des données envoyées et c’est son adresse IP qui apparaîtra dans les journaux (« logs »). C’est aussi son adresse IP qui sera filtrée, le cas échéant.

Leave a Reply

Your email address will not be published. Required fields are marked *