La mise en place d'une connexion VPN sur Linux est assez simple. Dans cet article, nous allons voir comment paramétrer OpenVPN sur un Raspberry Pi sous Raspbian pour se connecter automatiquement à un compte Premium de CyberGhost.
OpenVPN est simple d'installation, disponible sur beaucoup de plateformes, open-source et sécurisé ! Nous allons l'utiliser pour se connecter à CyberGhost sur un Raspberry Pi 2 fonctionnant sous Raspbian.
Installation d'OpenVPN
Avant tout paramétrage, il faut bien sûr installer OpenVPN :
apt-get install openvpn openssl openresolv
Récupération de la configuration de CyberGhost
Rendez-vous sur le site de CyberGhost pour vous connecter à votre interface. Puis allez sur l'onglet "Devices".
Cliquez sur "Other devices" à droite.
Choisissez OpenVPN (UDP), Linux puis un pays parmi la liste.
Cliquez enfin sur le bouton "Download Configuration".
Paramétrage d'OpenVPN
Vous allez vous retrouver avec une archive ZIP contenant 4 fichiers :
- ca.crt : certificat de l'autorité de certification racine
- client.crt : certificat de l'utilisateur
- client.key : votre clé privée
- openvpn.ovpn : fichier de configuration pour OpenVPN
Renommez le fichier openvpn.opvn en "CyberGhost_de.conf" par exemple.
Copiez ces 4 fichiers dans le dossier /etc/openvpn/
du Pi, avec WinSCP par exemple.
Nous allons ensuite ajouter la connexion automatique avec le couple utilisateur / mot de passe de votre compte CyberGhost.
Pour cela, créez un fichier auth.txt
dans /etc/openvpn/
:
nano /etc/openvpn/auth.txt
Inscrivez-y simplement vos identifiants :
Nom d'utilisateur
Mot de passe
Ensuite, ouvrez le fichier CyberGhost_de.conf
et retrouvez la ligne auth-user-pass
(vers le début) pour la modifier ainsi :
auth-user-pass /etc/openvpn/auth.txt
Vers la fin du fichier, ajoutez ces lignes après comp-lzo
:
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Enregistrez votre fichier puis ouvrez celui-ci :
nano /etc/default/openvpn
Ajoutez la ligne suivante :
AUTOSTART="CyberGhost_de"
Elle permet de charger automatiquement le fichier de configuration "CyberGhost_de.conf" (attention à ne pas rajouter l'extension .conf !).
Test de connexion
Maintenant qu'OpenVPN est correctement configuré, nous allons pouvoir tester son fonctionnement.
Avant tout, vérifiez votre IP WAN avec :
curl http://ezservermonitor.com/myip
Cela doit retourner votre IP Internet actuelle.
Lancez OpenVPN :
service openvpn start
Puis revérifiez votre IP WAN pour constater qu'elle a changé. Vous pouvez aussi vérifier avec la commande route
que vous passez bien par des serveurs étrangers.
Vérifiez également vos DNS avec :
cat /etc/resolv.conf
Le fichier doit contenir des serveurs DNS de CyberGhost.
Problèmes rencontrés et leurs solutions
Avant d'écrire ce tuto, j'ai rencontré un problème avec le fichier /etc/resolv.conf
. Avant le démarrage d'OpenVPN, il était correctement renseigné. Une fois OpenVPN lancé, les DNS étaient bien modifiés par ceux de CyberGhost mais quand j'arrêtais le service OpenVPN, le fichier se vidait !
J'ai dû modifier le fichier /etc/openvpn/update-resolv-conf
pour qu'il fasse une copie du fichier /etc/resolv.conf
original au démarrage du service OpenVPN et qu'il l'écrase à son arrêt.
La source : https://forums.openvpn.net/topic15508.html#p39827.
Dans le cas "up)", après le dernier "done", inscrivez ceci :
cp /etc/resolv.conf /etc/resolv.conf.default
Puis dans le cas "down)", mettez ceci avant les ";;" :
mv -f /etc/resolv.conf.default /etc/resolv.conf
J'ai rencontré un autre problème : au reboot du Pi, le fichier /etc/resolv.conf
(toujours le même...) était vide... J'ai donc rajouté cette ligne dans la déclaration de mon interface réseau dans le fichier /etc/network/interfaces
(changez 8.8.8.8 par l'adresse de votre serveur DNS préféré) :
dns-nameservers 8.8.8.8
Puis j'ai fait un resolvconf -u
pour mettre à jour le fichier de base de resolvconf.
Un petit reboot pour vérifier et tout est rentré dans l'ordre !