OpenVpn – Créér son propre VPN sous Linux pour moins de 4€
Ce tutoriel vous permet de créer votre propre service VPN à moindre coût !
Nous utiliserons la solution OpenVpn qui est gratuite et simple à mettre en place.
Pour les moins aguerris, un VPN ( Virtual Private Network ) est un procédé qui permet de cacher son IP réelle, de modifier sa localisation.
Les communications entre vous et internet sont chiffrées et donc sécurisées.
Un article très détaillé est disponible chez Anonymster.
Sommaire
- 1 Étape 1 : Location d'un serveur "vierge" chez OVH pour le VPN
- 2 Étape 2 - Se connecter au serveur et installer le serveur VPN
- 2.1 Installation d'Open VPN
- 2.2 Configuration du serveur
- 2.2.1 Création du dossier pour les fichiers de configuration du serveur :
- 2.2.2 Copie des fichiers de configuration
- 2.2.3 On ajoute les permissions d'écriture
- 2.2.4 On édite le fichier Vars ( facultatif)
- 2.2.5 On créer la clé et le certificat de sécurité
- 2.2.6 On démarre le serveur openvpn
- 2.2.7 Pour que ces paramètres soient présents après un reboot serveur il faut :
- 2.2.8 Pour que les règles de routage de trafic soient présentes après un reboot serveur il faut :
- 2.2.9 Création de la configuration client
- 2.3 Installation de Open VPN client sur Windows
- 2.4 On ouvre le bloc note et on va coller la config suivante ( il faut modifier l'IP par celle de votre serveur )
- 2.5 Transfert des fichiers de configs stocké sur le serveur
- 2.6 Démarrage du VPN Client
- 3 Pour Conclure
Étape 1 : Location d'un serveur "vierge" chez OVH pour le VPN
Nous allons installer le serveur VPN sur un serveur VPS hébergé chez OVH , l'entrée gamme est amplement suffisant pour faire tourner le serveur VPN
En système choisissez une débian 8 en 64 bits.
Pour l'adresse IP , vous pouvez choisir une IP CANADIENNE ( meilleur anonymisation ) mais le temps de réponse sera plus élevée.
Une fois les options choisis passez votre commande. Vous devrez recevoir sous quelques heures un mail avec les informations nécessaires pour se connecter au VPS.
Étape 2 - Se connecter au serveur et installer le serveur VPN
Votre serveur est automatiquement livré avec une connexion SSH disponible. Pour nous y connecter nous allons utiliser le logiciel Putty
Une fois l'ip saisie dans la case Host-Name cliquez sur open , une fenêtre s'ouvre et vous demande votre login et mot de passe
Vous avez ces infos dans le mail reçu par OVH.
Installation d'Open VPN
Une fois connecté via putty taper cette commande :
apt-get install openvpn
Cette commande lance l'installation du serveur VPN
Configuration du serveur
Pour faciliter la création du fichier de configuration j'ai choisi de les créer sur mon PC ( Windows ) puis de les transférer via FileZilla sur le serveur VPS.
Remplacez la case Hôte par l'IP de votre serveur , l'identifiant est root et le mot de passe le même que celui utilisé pour vous connecter à l'aide de Putty, enfin indiquez le port 22
un message vous demandant d'accepter la clé de sécurité s'affiche, cliquez sur OK, vous allez ainsi voir l’arborescence de votre serveur.
Revenons sur Putty , vous allez exécuter les commandes suivantes :
Création du dossier pour les fichiers de configuration du serveur :
mkdir /etc/openvpn/easy-rsa/
Copie des fichiers de configuration
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
On ajoute les permissions d'écriture
chown -R $USER /etc/openvpn/easy-rsa/
On édite le fichier Vars ( facultatif)
Via FileZilla rendez vous dans le dossier /etc/openvpn/easy-rsa , Glissez le fichier Vars sur votre PC et ouvrez le à l'aide du bloc note ou de notepad ++
Sur le fichier vars à la fin changez les lignes ci dessous par les bons éléments : FR , 22 , Caen ...
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="Toronto"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]"
export [email protected]
export KEY_CN=changeme
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
On créer la clé et le certificat de sécurité
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
openvpn --genkey --secret keys/ta.key
On copie les fichiers à la racine du serveur VPN
cp keys/ca.crt keys/ta.key keys/server.crt keys/server.key keys/dh1024.pem /etc/openvpn/
On créer le répertoire clientconf qui accueillera les différents fichiers de configuration du client
mkdir /etc/openvpn/jail
mkdir /etc/openvpn/clientconf
On créer un fichier serverconf à l'aide du bloc note
# Serveur TCP/4443 mode server proto tcp port 4443 dev tun # Cles et certificats ca ca.crt cert server.crt key server.key dh dh1024.pem tls-auth ta.key 1 key-direction 0 cipher AES-256-CBC # Reseau server 10.8.0.0 255.255.255.0 #la route doit être l'ip externe du serveur (si on veut utiliser la connexion de ce serveur) push "route Ip.de.votre.serveur 255.255.255.0" #De même, force le client a rediriger son trafic vers le vpn (il faudra aussi faire un nat du range vpn (10.8.) vers internet (178.33.250.38) push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 10.8.0.1" push "dhcp-option DNS 8.8.4.4" 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
Le contenu ci-dessus a été programmé afin de pouvoir rediriger le trafic sur votre serveur, pensez à le modifier en fonction de votre serveur !
Une fois le fichier sauvegarder ( pensez à bien le nommer server.conf) , glissez-le à l'aide de Filezilla dans /etc/openvpn/
On démarre le serveur openvpn
/etc/init.d/openvpn start
Modification du routage pour rediriger le trafic réseau
sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
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
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source <ip serveur>
Pour que ces paramètres soient présents après un reboot serveur il faut :
éditer le fichier sysctl.conf pour y ajouter
net.ipv4.ip_forward = 1
Pour que les règles de routage de trafic soient présentes après un reboot serveur il faut :
sh -c "iptables-save > /etc/iptables.rules"
Puis éditer le fichier etc/network/interfaces/ et ajouter après votre carte réseau ( repérer les lignes iface eth0 inet ) la ligne suivante
pre-up iptables-restore < /etc/iptables.rules
Si après un reboot vous n'avez pas de connexion internet
il faut se connecter en SSH sur le serveur via PUTTY puis retaper les commandes suivantes :
sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source <ip serveur>
Création de la configuration client
Dans l'exemple l'utilisateur sera appelé user1
cd /etc/openvpn/easy-rsa
source vars
./build-key user1
Ces commandes vont générées 3 fichiers dans le répertoire /etc/openvpn/easy-rsa/keys:
On déplace les fichiers dans le dossier user1 de confclient
mkdir /etc/openvpn/clientconf/user1/
cp /etc/openvpn/ca.crt /etc/openvpn/ta.key keys/user1.crt keys/user1.key /etc/openvpn/clientconf/user1/
Installation de Open VPN client sur Windows
Vous trouverez l’exécutable sur ce lien
Procédez à une installation classique, vous devriez avoir un dossier OPENVPN sur votre PC , le programme se nomme OPENVPN GUI sur votre Système.
Avant de l'exécuter vous devez créer un fichier de configuration
On ouvre le bloc note et on va coller la config suivante ( il faut modifier l'IP par celle de votre serveur )
# Client client dev tun proto tcp-client remote IP.DE.VOTRE.SERVEUR 4443 resolv-retry infinite cipher AES-256-CBC push "redirect-gateway def1" ; client-config-dir ccd # Cles ca ca.crt cert user1.crt key user1.key tls-auth ta.key 1 key-direction 1 # Securite nobind persist-key persist-tun comp-lzo verb 3
Enregistrer le fichier dans le dossier suivant OPENVPN/config , le format doit être client.ovpn
Transfert des fichiers de configs stocké sur le serveur
Grâce à Filezilla nous allons transférer le contenu du dossier user1 (etc/openvpn/clientconf/user) vers le dossier config d'OpenVpn sur votre PC (OpenVPN/Config)
Démarrage du VPN Client
Si tout est bien configuré lancer OpenVpn sur Windows puis cliquez sur "connect"
Pour Conclure
Il y a de nombreuses étapes mais elles sont relativement simples. Pour vérifier que votre trafic est rediriger sur serveur rendez-vous sur http://www.monip.org , l'ip de votre serveur doit s'affichée.
Pour réaliser ce tutoriel je me suis basée sur 2 tutoriels :
CNSU : le blog m'a beaucoup aidé notamment pour la redirection du trafic VPN
Blog de Nicolargo : pour l'installation du VPN partie serveur.
N'hésitez pas à y faire un tour !
kk
Commentaires
Le 27 juillet 2016 à 18 h 49 min, westkone a dit :
Pour 1€ TTC/mois, un VPN niquel chez My-Seedbox.com.
Le 27 juillet 2016 à 21 h 42 min, Tutos-Info a dit :
Hello , j'ai une seedbox chez eux et le service est très bon pour un prix attractif ;)
Le 13 novembre 2015 à 21 h 53 min, Tutos_info a dit :
Bonsoir, essaie de lancer OPENVPN en tant qu'administrateur .
Le 8 février 2016 à 22 h 50 min, Trackx a dit :
J'ai résolu les problèmes de démarrage d'openvpn en ajoutant les liens absolus.
notamment pour /etc/openvpn/easy-rsa/keys/dh1024.pem qui était affiché en gros dans les erreurs syslog.
En espérant que cela aide.
Le 12 novembre 2015 à 18 h 57 min, D335TIKK a dit :
Bonjour, J'arrive à me connecter sur mon VPN, mais en me rendant sur monip.com je vois toujours l'ip de mon FAI, comment faire svp ?
Le 4 juillet 2015 à 15 h 45 min, Tutos_info a dit :
là je vois pas peut être tenter une désinstallation et refaire l'installation en mettant bien à jour le dépôts
Le 4 juillet 2015 à 15 h 20 min, Ludovic Rovera a dit :
oui sa fait la même chose
Le 4 juillet 2015 à 15 h 05 min, Tutos_info a dit :
Bonjour, as tu essayé de redémarrer le serveur puis de retenter la manip ? merci.
Le 2 juillet 2015 à 21 h 29 min, Ludovic Rovera a dit :
OS : Debian 7.5 (Wheezy) (Oldstable) (64bits)
Le 2 juillet 2015 à 18 h 43 min, Tutos_info a dit :
Sur Ubuntu ? debian ?
Le 2 juillet 2015 à 18 h 03 min, Ludovic Rovera a dit :
sur un serveur dédié OVH
Le 2 juillet 2015 à 17 h 26 min, Tutos_info a dit :
Bizarre il arrive à arrêter la carte donc c'est qu'elle est démarrer.
Tu es sur un serveur VPS OVH ? fraîchement livré ?
Le 2 juillet 2015 à 17 h 11 min, Ludovic Rovera a dit :
toujours la même chose
Le 2 juillet 2015 à 11 h 07 min, Tutos_info a dit :
Bonjour,
peux tu essayer de faire un restart au lieu de start ?
merci.
Le 2 juillet 2015 à 3 h 37 min, Ludovic Rovera a dit :
bonjour j'ai suivie ton tuto mais ariver a cete étape sa bug =>
On démarre le serveur openvpn
/etc/init.d/openvpn start
sa me dit :
[FAIL] Starting Virtual private network daemon: Server Failed
[email protected]****:/etc/openvpn/easy-rsa#
Le 29 mai 2015 à 11 h 10 min, Tutos_info a dit :
Hello , pour le moment je n'ai pas de wallet ;) donc tampis pour les dons ;) ravis d'avoir pu t'aider !
Le 29 mai 2015 à 10 h 14 min, Crypto_king a dit :
C'est cool , merci...J'aime bien tous tes tutos (même le mot "tuto" est dans le dictionnaire, maintenant...)
Est-ce que tu acceptes les dons en Bitcoins? (un peu comme Korben et bien d'autres...)
Le 27 janvier 2015 à 20 h 04 min, Jeuxaforum a dit :
Bonjour,
j'ai refait le tuto et j en 'ai pas de soucis.
fait sur débian serveur Nu vps OVH et le VPN est parfaitement fonctionnel
Attention a bien adapter les IP du serveur / du client
Le 25 janvier 2015 à 23 h 30 min, Masse a dit :
Sixième tuto fait et sixième échec... Merci quand même, un peu plus complet mais pas fonctionnel pour moi, j'arrivais a avoir des tentatives de co en zappant
Pour que ces paramètres soient présents après un reboot serveur il faut
mais ca bugger quand même
Je décide de les faire et même plus de co
Le 6 octobre 2014 à 18 h 49 min, Jeuxaforum a dit :
Bonjour,
oui vous pouvez le faire en repétant l'étape de la création du CLIENT. Vous devez modifier le nom exemple client2 , vous allez ainsi générer des clés pour le client2 , pensez également à modifier votre fichier de configuration client qui doit pointer vers client2.
Le 6 octobre 2014 à 18 h 36 min, Blaze a dit :
Bonjour, est ce qu'on peu avoir plusieurs clés USER pour que plusieurs USERS differents puissent se connecter sur le meme serveur? Merci de votre reponse ! :)
Le 17 septembre 2014 à 18 h 01 min, Jeuxaforum a dit :
Bonjour, c'est normal que le mot de passe ne s'affiche pas quand vous le tapez. Il est par contre bien pris en compte par le système.
Le 14 septembre 2014 à 19 h 17 min, kimbus a dit :
bonjour, j'ai un souci avec Putty je n'arrive a écrire mon mot de passe. je suis sur windows 8.1
Le 26 septembre 2014 à 22 h 56 min, theos450 a dit :
Bonjour, il ne s'affiche tout simplement pas tu n'as qu'as le tapez a l'aveugle et faire entrez (c'est une sorte de sécurité :D)
Laisser un commentaire