Raspberry – VPN ou Réseau privé virtuel

1 757 affichages

Envie d’accéder à vos informations hors de chez vous, comme si vous étiez chez vous ? Un petit VPN ça vous parle ?

« Euh… Mais il dit quoi là, le Manu !!! »
Un VPN ou Virtuel Private Network (Réseau privé virtuel en français) est une infrastructure informatique vous permettant d’accéder à toutes vos machines ou toutes vos informations stockées sur celles-ci comme si vous étiez chez vous, alors que vous n’êtes pas chez vous…

Par exemple, vous pouvez accéder à vos mails, à vos fichiers stockés sur votre NAS, envoyer une lettre d’amour à votre conjoint(e) via votre imprimante partagée… tout ça en étant à l’autre bout du monde, , sans modifier aucune configuration, comme si vous étiez connectés à votre réseau local personnel, et bien sûr de manière sécurisé.

Encore une fois, « Raspberry est ton ami ! »

En plus, vous allez voir, c’est super simple à mettre en place.

De quoi avons nous besoin ?



  • Un raspberry pi fonctionnel, comme d’habitude, c’est la base,

  • Un service de DNS dynamique si votre Ip publique est changeante,

  • Un client VPN pour tester,

  • Un ticket de bus pour aller chez un pote pour voir si ça fonctionne bien à distance 🙂

C’est parti !


Avant tout, on se connecte au Raspberry pi, en SSH ou bien directement en local avec un clavier et une plage braille si nécessaire.
Comme d’hab, avant chaque installation, on met à jour son système Raspbian :
sudo apt-get update
sudo apt-get upgrade
On répond « O » pour confirmer la mise à jour de paquet.

Des geeks ont eu l’audace de développer un script qui permet d’automatiser l’installation d’un VPN avec l’application OpenVPN, sur un Raspberry PI. Du coup ça simplifie vraiment les choses. Si vous êtes aussi geek comme moi, dans un prochain tutoriel, je vous montrerai comment installer et configurer OpenVPN à la main, mais je vous préviens, ce sera bien plus compliqué, mais ça aura l’intérêt de fonctionner sur tous les autres systèmes équipé de Debian.
Aujourd’hui, on va se contenter du script qui fait très bien son boulot.
On commence par télécharger le script qui se lancera tout seul :
curl -L https://install.pivpn.io | bash

Le script nous annonce qu’on s’apprête à transformer notre Raspberry pi en serveur VPN.
On valide avec « ENTER ».
Puis une seconde fois pour confirmer qu’on va configurer notre serveur en DHCP ou en Manuel

Dans l’écran suivant il nous est demandé de confirmer les informations de connexion de notre Raspberry Pi, son adresse IP et sa passerelle.
On ne touche à rien car normalement les bonnes informations sont déjà pré-inscrites
On tabule puis on valide sur « Oui »
On valide « OK »
Puis encore une fois « OK »
Ici, on nous demande d’ajouter un premier utilisateur qui permettra de gérer le serveur OpenVPN. Dans mon écran, il n’y a que l’utilisateur pi puisque je n’en n’ai pas ajouter d’autres. Si vous avez d’autres utilisateurs créés sur votre raspberry PI, choisissez celui que vous voulez à l’aide des flèches haut et bas.
On valide une première fois donc par « ENTER » sur OK, puis une seconde fois.
Le script nous demande si on doit mettre à jour les paquets pour plus de sécurité,
On tabule et on valide sur « Oui »

Ensuite, nous devons choisir le protocole de communication. UDP est sélectionné par défaut, on laisse et on valide par « ENTER »
Puis on doit choisir le port de communication. Par défaut, c’est le port 1194. Vous pouvez effacer et le changer si vous le souhaitez, mais veillez à vous en rappeler car il faudra l’utiliser plus tard.
On valide par « ENTER ».
On confirme dans l’écran suivant en tabulant et en validant sur « Oui ».
Sécurité quand tu nous tiens. Dans cet écran, il nous faut choisir le mode de cryptage. Par défaut, le cryptage sélectionné est 1024.. Il est recommandé d’utiliser 2048. Choisissez à l’aide des flèches haut et bas, le cryptage voulu puis valider une première fois par « ENTER », puis une seconde fois.
Dans l’écran actuel, on va choisir « Non » car on veut optimiser la compatibilité avec tous nos appareils.
On a un chouette message : « This will be take a long time… » traduit par, cela va prendre un moment. En effet la génération de certificats et de clefs de sécurité peut prendre jusqu’à 20 minutes. Allez boire un verre pendant que ça bosse.
………………………………………………………………………………….
(13 minutes plus tard) … C’est bon ? Non, toujours pas ? Bon bah on va reprendre un deuxième verre 😀 Oui, selon le type de cryptage, 1028, 2048 ou 4096, le temps de génération des certificats et des clefs de sécurité peut être plus ou moins long.
………………………………………………………………………………….
Ah, 23 minutes plus tard… C’est bon !!!

L’écran d’après nous propose de saisir notre IP publique. Normalement, le champ est déjà pré-rempli. Si vous êtes chez un fournisseur d’accès internet qui vous délivre des IP’s dynamiques, ce qui signifie qu’elles peuvent changer, régulièrement, il vous faudra, en amont de cette installation, vous inscrire à un service de DNS dynamiques. Dans ce champ, vous y rentrerez donc votre nom de serveur par exemple : « manu-dpk.dyndns.org ». Si vous avez une IP publique statique, ne touchez pas au champ déjà pré-rempli.
Validez par « ENTER »
On choisit ensuite notre fournisseur dns, qui permettra de résoudre les requêtes si vous devez accéder à Internet via votre VPN.
« Google » est sélectionné par défaut, on valide par « ENTER »
On finalise par « OK »
On nous propose de redémarrer notre Raspberry pi, On tabule et on valide sur « Oui »
On confirme le redémarrage en validant sur « OK »

Notre Raspberry PI redémarre.

L’installation est donc terminée.

Remarques


Avant de pouvoir l’utiliser, il faut d’une part ouvrir le port de votre réseau local via votre box, celui qu’on a choisi dans l’installation, par défaut le port 1194 en UDP et le rediriger vers l’adresse IP locale de votre raspberry PI. Cette manipulation est différente selon les Boxs donc je ne m’attarderai pas sur ce point, mais généralement, la redirection de port (ou le Port Forwardings) se trouve dans les paramètres réseau de votre box.
D’autre part, il faudra créer un client qui permettra de se connecter au VPN. Pour se faire, vous devez vous reconnecter à votre raspberry PI puis tapez la commande
pivpn add
Le script vous demande votre nom d’utilisateur, on le saisit puis on valide par « ENTER ». Ensuite, c’est autour de saisir le mot de passe, puis une seconde fois. La clef privée est générée et un fichier client.ovpn est généré, que vous devez importer dans votre logiciel de client VPN.

Sinon, le script « pivpn » offre d’autres commandes :


  • pivpn clients : pour afficher les clients connectés

  • pivpn list : pour afficher les certificat valides et révoqués
  • pivpn revoke : pour révoquer un certificat précis

  • pivpn uninstall : pour désinstaller pivpn et le serveur VPN.

Conclusion


Cette installation vient parfaire votre infrastructure informatique privée. Je pense que c’est la meilleure solution pour accéder à votre NAS à distance et en toute sécurité.
Je n’ai pas expliquer comment utiliser le VPN, n’hésitez pas à me faire votre demande en commentaire en précisant le système d’exploitation client utilisé.

8 réponses sur “Raspberry – VPN ou Réseau privé virtuel”

  1. Salut manu encore du beau travail tout ça 😉 . J’aurai juste une petite question c’est comment y accéder à distance chez quelqu’un sous Windows par exemple.

  2. hello,

    Bravo pour la procédure.

    Je n’arrive pas a obtenir une adresse ip locale (192.168.1.X) pour accédez à mon réseau interne.
    J’ai refais l’opération plusieurs fois, mais toujours avec le même problème.
    Quand je connect le VPN depuis un iPad, par exemple, j’ai l’adresse fixe de mon routeur (FAI).

    Si t’aurais une petite idée d’où vient le problème

    Merci

    1. Salut,
      En effet, le VPN te délivre une ip locale du type 10.0.0.X.
      Mais tu peux quand même accéder aux machines de ton réseau en 192.168.1.X.
      Quelle est ta configuration générale ?
      Es-tu connecté à ton réseau personnel ?
      J’ai besoin de plus de détail pour t’aider ?

      1. J’ai bien une 10.8.0.X, mais impossible de me connecter à mon NAS
        Mon Pi est en 192.168.1.8 J’ai ouvert le port 11948 en UDP
        Pour accédez à mon NAS, j’utilise un nom DNS et pas l’adresse IP. C’est un problème peut-être ?
        J’ai essayé de modifier le fichier « server.conf » pour ajouter le rang d’adresse, mais sans succès.
        Je suis reparti pour une instal

        1. Le seul port à ouvrir, c’est celui que tu as défini dans ta configuration du VPN, à rediriger vers le PI.
          La connexion avec ton n’as devrait se faire sans problème avec l’adresse ip locale, avec un DNS, j’n’ai pas testé, mais y’a pas vraiment de raison pour que ça ne fonctionne pas, à condition que ce soit un dns local.
          Pour voir si ça fonctionne, essaie de te connecter à ton interface de box.

  3. ça fonctionne !
    J’ai changé le nom DNS pour l’adresse ip de mon NAS et j’ai pu me connecter.
    Tu m’a bien aidé.
    Merci pour ton aide et tous le travail que tu as rédigé.
    Bravo

    1. Flo, je suis ravi que tu aies pu résoudre ton problème.
      Merci pour tes retours. Et merci pour tes compliments. C’est grâce à ce genre d’intervention que je prends plaisir à passer des heures à tester puis rédiger afin que ce soit le plus simple possible.
      Et je suis d’autant plus content lorsque la procédure fonctionne aussi chez quelqu’un d’autre et que cette personne m’en fait pare ! Oui, on a tendance le plus souvent à critiquer. Donc quand je reçois un message comme le tien, ça me fait plaisir.
      🙂
      Très bonne continuation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.