OpenVPN : Installer un Serveur VPN sur Raspberry Pi (en 5 min)


OpenVPN est un service permettant d’héberger son propre serveur VPN, en se passant d’un serveur tiers (que ce soit un serveur externe ou via une solution propriétaire).
Pour rappel, un VPN est une connexion sécurisée entre deux réseaux, par exemple, entre votre téléphone et votre domicile.
Dans ce tutoriel, je vais vous donner une méthode étape par étape pour mettre cela en place très rapidement sur Raspberry Pi.

OpenVPN est disponible dans les dépôts officiels et peut donc être installé avec apt comme pour tous les packages Linux. Il doit ensuite être configuré correctement, notamment en termes de sécurité, pour s’assurer que les données sont chiffrées entre les deux réseaux.

Il y a quelques années, j’avais réalisé l’installation manuellement de bout en bout, et je l’avoue, c’était assez lourd. La configuration était vraiment longue et complexe, trop dure à suivre, notamment quand le but est un simple usage personnel. C’est pourquoi j’ai cherché récemment une méthode simple pour installer et configurer OpenVPN, et je l’ai trouvée ! Je la partage maintenant avec vous.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

Prérequis

Téléchargez mon antisèche !
Format PDF pratique, avec 74 commandes à retenir pour maîtriser son Raspberry Pi.

Juste avant de passer à l’installation, assurez-vous que tout est prêt (y compris vous !).
Si vous êtes un utilisateur avancé, vous pouvez sans doute passer cette partie, je tiens juste à éclaircir le sujet au maximum avant d’aller plus loin.

Qu’est-ce qu’un VPN ?

VPN est l’abréviation de « Virtual Private Network », soit littéralement « réseau privé virtuel ». L’idée de base est de fusionner deux réseaux distants.
Par exemple, certaines sociétés ont des employés sur plusieurs sites, mais partagent les ressources du siège avec tout le monde (un partage de fichier par exemple).

Dans le cas d’un Raspberry Pi, cela servira généralement à accéder à un réseau distant depuis n’importe où.
Typiquement, cela vous permet d’accéder à vos caméras de sécurité ou à votre système de domotique depuis votre mobile lorsque vous êtes en voyage.

Votre smartphone sera connecté au Raspberry Pi via Internet, et un tunnel sécurisé sera créé entre les deux. Cela permettant un accès complet au service du réseau, de manière bien plus sûre qu’en ouvrant un port sur votre box.

OpenVPN est l’une des solutions pour faire cela, et il est disponible sur tous les systèmes d’exploitation (y compris sur mobile).

Trouver son adresse IP

Afin de mettre en place cela, vous aurez besoin de connaître l’adresse IP publique de votre domicile, et de configurer le client pour y accéder.
Si vous ne savez pas comment l’obtenir, je vais vous expliquer cela tout de suite, ainsi qu’une solution dans les cas ou l’adresse IP est susceptible de changer de temps en temps.

Quelle est mon IP ?

Trouver votre adresse IP publique est assez simple, car il existe de nombreux sites web qui vous donneront l’information.
Voici un site qui vous permettra de trouver votre adresse IP actuelle, c’est celui que j’utilise en général.

afficher adresse ip actuelle

Vous en aurez besoin à la fin du tutoriel uniquement, afin de configurer le client OpenVPN. En attendant notez la, afin de la retrouver facilement.

Statique vs dynamique

En fonction de votre fournisseur d’accès à Internet, il est possible que cette adresse IP soit statique ou non.
Dans mon cas, je ne suis pas très chanceux, car mon adresse IP est renouvelée tous les jours ou presque.
Si vous êtes dans le même cas, votre client VPN ne fonctionnera plus dès le premier changement d’adresse (ou bien il faudra la mettre à jour à chaque fois).

Pour éviter cela, vous pouvez utiliser un service gratuit comme No-IP, qui fournit un nom de domaine gratuitement (au format votrenom.ddns.net par exemple) qui redirige vers votre adresse IP, même si elle change. De cette manière vous pourrez configurer votre client VPN avec ce nom de domaine au lieu de votre adresse IP.

Il faut juste avoir quelque chose sur votre réseau qui mettra à jour l’adresse IP sur le site NoIP régulièrement et automatiquement.
Personnellement, j’ai une Livebox et il y a une option dessus pour configurer un compte NoIP. Je n’ai plus à m’en soucier une fois configuré.

Même si votre routeur ne propose pas l’option, il est possible d’installer un script sur Raspberry Pi (ou n’importe quel autre appareil) pour faire la même chose. Le tutoriel pour Raspberry Pi est disponible ici si cela vous intéresse (en anglais).

Installation de Raspberry Pi OS

La dernière étape de préparation est de s’assurer que Raspberry P OS est installé et configuré correctement.
Si vous avez besoin d’aide pour cela, je vous laisse lire mon tutoriel pas à pas ici.

Avant d’aller plus loin, assurez-vous tout de même que :

  • Raspberry Pi OS est installé (la version Lite est suffisante)
  • L’accès au réseau et à Internet fonctionne (de préférence via Ethernet)
  • Votre système est à jour
  • Vous avez suivi mes conseils pour sécuriser votre Raspberry Pi.
    Cela est particulièrement utile pour une machine qui tournera 24/24 avec un port ouvert sur Internet.
Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Installation du serveur OpenVPN sur Raspberry Pi

Une fois que tout est prêt, on peut passer à l’installation du serveur VPN sur le Raspberry Pi.
Cela implique plein de choses en termes de réseau, sécurité, utilisateurs et certificats, mais la bonne nouvelle c’est que le script que je vais vous donner va s’occuper de tout pour vous.

Télécharger le script OVPN

Connectez-vous à votre Raspberry Pi en utilisant SSH, et suivez cette procédure :

  • Nous allons utiliser un script provenant du GitHub de angristan.
    Si vous voulez, vous pouvez vérifier le code avant installation en vous rendant sur cette page.
  • Copiez et collez cette commande dans votre terminal pour télécharger le script :
    wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh -O openvpn-install.sh
  • Lancez ensuite le script avec :
    sudo bash openvpn-install.sh
  • Le script vous affichera votre adresse IP locale (elle vous sera nécessaire ensuite), votre adresse IP publique, puis vous posera quelques questions :
  • La plupart du temps, vous pouvez garder les options par défaut.
    Contentez de vous de cliquer sur « Entrée » si vous ne savez pas trop quoi répondre.
    L’installation d’OpenVPN démarre.
  • Quelques secondes plus tard, l’assistant vous demandera de créer votre premier utilisateur.
    Donnez-lui un nom (votre prénom ou le nom de l’appareil qui utilisera ce compte par exemple), et définissez le mot de passe si besoin (cela n’est pas indispensable).

Une fois que c’est fait, le script se termine et vous donner l’emplacement du fichier de configuration :

Voilà, le serveur VPN fonctionne et votre premier client est prêt à être utilisé 🙂

Note : À ce stade, je vous conseille de redémarrer votre Raspberry Pi. Je ne sais pas trop pourquoi, mais dans mon cas cela n’a pas fonctionné avant un redémarrage (même après avoir relancé le service manuellement).

Activer la redirection de port

Avant de passer à la configuration du client, il y a une étape supplémentaire à faire.
La plupart du temps, votre Raspberry Pi n’est pas connecté à Internet directement, mais il est caché derrière votre box Internet.
Il faut donc configurer votre routeur pour rediriger les connexions VPN vers le Raspberry Pi.

La configuration dépendra de votre box, donc je ne peux pas vous donner la procédure exacte, mais votre fournisseur d’accès devrait être en mesure de vous aider.
Par exemple, pour la Livebox 4 le tutoriel est sur cette page.

Mais dans tous les cas il vous faudra configurer :

  • Le port externe : cela peut être 1194 (le port par défaut d’OpenVPN) ou n’importe quoi d’autre
  • L’adresse IP interne : le script vous la donner au début de l’installation, sinon suivez mon tutoriel à ce sujet
  • Le port local : C’est donc 1194 par défaut, ou tout autre valeur que vous avez renseigné dans le script si vous n’avez pas gardé l’option par défaut

Dans mon cas, la configuration ressemble à cela :

J’ai donc ajouté une ligne, qui redirige le port 1194 vers le Raspberry Pi, sur le même port.

Note : cela peut être une bonne idée de fixer l’adresse IP du Raspberry Pi, que ce soit sur votre routeur ou directement dans le système.

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Installation du client OpenVPN

Notre serveur VPN est désormais installé et accessible depuis Internet, il ne reste plus qu’à configurer un client pour pouvoir se connecter depuis n’importe où.
OpenVPN est disponible sur PC (Windows, Linux) et smartphone (iPhone et Android).
Je vais vous montrer comment installer et configurer cela.

Récupérer le fichier OVPN

La première chose à faire, quel que soit le système pour l’installation, est de récupérer le fichier généré sur le Raspberry Pi par l’assistant OpenVPN.
Vous vous rappelez ? Pour moi c’était dans /home/pi/android.ovpn.

Vous devez donc le récupérer et le mettre sur le client où vous souhaitez installer OpenVPN.
La manière la plus simple si vous êtes sur Raspberry Pi OS Lite et que SSH est activé est de se connecter au Raspberry Pi avec FileZilla ou WinSCP, et de transférer le fichier sur votre ordinateur.
Ensuite vous pourrez l’envoyer ou vous voulez.

Sur FileZilla, créez un nouveau site, et utilisez SFTP pour vous connecter au Raspberry Pi.
Indiquez l’adresse IP, l’identifiant et le mot de passe :

Une fois connecté, vous pouvez télécharger le fichier qui doit se trouver dans /home/pi, et l’envoyer sur l’appareil sur lequel sera installé le client VPN.
Pour un PC vous pouvez passer par une clé USB, ou alors l’envoyer par email (je vais souvent ça pour les appareils mobiles, ça reste le plus simple).

Optionnel : Utiliser votre nom de domaine No-IP

Si vous avez une adresse IP publique dynamique, et que vous utilisez un service comme No-IP, n’oubliez pas de modifier le fichier de configuration :

  • Ouvrez le fichier .ovpn
  • Trouvez la ligne suivante :
    remote <adresseip> 1194
  • Remplacez-la par :
    remote <nomdedomaine> 1194
  • Enregistrez et fermez le fichier

Voilà, vous pouvez maintenant l’envoyer sur n’importe quel appareil.

Installation sur Windows

  • Téléchargez OpenVPN depuis le site officiel
  • Installez-le (vous pouvez garder les options par défaut)
  • Une fois que c’est fait, une icône OpenVPN devrait apparaître dans la zone de notification, à côté de l’heure.
    Si ce n’est pas le cas, lancez l’application depuis le menu démarrer.
  • Faites un clic droit sur l’icône et choisissez « Importer un fichier… »
  • Choisissez le fichier généré sur le Raspberry Pi et confirmez
  • Faites un clic droit à nouveau, et cliquez cette fois sur « Connexion ».
    Cela ne fonctionnera que si vous n’êtes pas sur le réseau de votre domicile, je vous conseille donc de tester en partage de connexion sur votre téléphone par exemple.
  • Tapez votre mot de passe (celui indiqué lors de la configuration sur le Raspberry Pi)

Et voilà, vous êtes maintenant connecté à votre serveur VPN 🙂

Téléchargez mon antisèche !
Format PDF pratique, avec 74 commandes à retenir pour maîtriser son Raspberry Pi.

Installation sur iPhone / Android

OpenVPN est également disponible pour votre téléphone !
L’application s’appelle « OpenVPN Connect » et est disponible sur l’App Store et sur Google Play Store.

  • Installez l’application sur votre mobile
  • Transférez le fichier .ovpn sur le téléphone.
    Comme indiqué précédemment, le plus simple est de vous envoyer un mail, de l’ouvrir sur le tel et de télécharger la pièce jointe.
  • Ouvrez l’application OpenVPN Connect
  • Allez dans Import Profile > File, et choisissez le fichier .ovpn depuis votre dossier de téléchargement
  • Cliquez sur « Import » puis « Add »
  • Un nouveau profil sera ajouté, et vous pourrez vous connecter en cliquant dessus :

    N’oubliez pas de déconnecter votre Wi-Fi si vous êtes connecté au même réseau que le Raspberry Pi.
  • Voilà, vous devriez maintenant être connecté à votre VPN :
Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

Conclusion

Félicitations, vous savez maintenant comment installer facilement OpenVPN sur votre Raspberry Pi, et vous connecter au réseau de chez vous depuis n’importe où sur la planète.

Si c’est la première fois que vous entendez parler de VPN ou de redirection de port, cela peut sembler un peu compliqué, mais l’installation en elle-même du serveur OpenVPN est plutôt simple.

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

"Maitrisez Python sur Raspberry Pi" est enfin disponible en français (10% de réduction cette semaine)

X