Le réseau privé virtuel (VPN) par l'exemple

Le réseau privé virtuel (VPN) par l’exemple

Dans votre NAS ou dans le cloud

Avatar de l'auteur
Sébastien Gavois

Publié dans

Internet

09/12/2020 7 minutes
20

Le réseau privé virtuel (VPN) par l'exemple

Si l'on entend régulièrement parler de VPN, il n'est souvent question que de certaines solutions en particulier : les applications clé en main vendues sous la forme d'un abonnement. Vous sélectionnez un pays, un serveur et vous y êtes connectés en un clic. Mais en pratique, comment ça marche ?

Dans un précédent article, nous avons évoqué les réseaux privés virtuels dans leur théorie. Car avant d'aller plus loin sur ce sujet, il était nécessaire d'en revenir aux bases et de se détacher du marketing de certains services commerciaux qui ont le vent en poupe. Ne serait-ce que pour rappeler à quoi sert réellement un VPN. 

Mais tout cela peut paraître nébuleux, et il s'agit d'un sujet où la pratique vaut mieux que des centaines de mots. Voici donc un petit guide où nous vous expliquerons comment mettre en œuvre votre propre VPN en quelques minutes à travers un serveur distant, mais aussi un NAS connecté à votre box. 

Nous reviendrons sur d'autres types de solutions, plus spécifiques et plus complexes dans de prochains articles.

Notre dossier sur les réseaux privés virtuels :

  • Un VPN, à quoi ça sert ?
  • Le réseau privé virtuel (VPN) par l'exemple
  • Comment les entreprises mettent en oeuvre les VPN (à venir)

Déployer un serveur OpenVPN en quelques clics

Il existe de nombreuses solutions pour mettre rapidement en place un serveur VPN sur votre propre machine. Nous avons par exemple évoqué le cas d'AlgoVPN pour le protocole Wireguard.

À mi-chemin entre les scripts où il faut encore tout faire et la solution clé en main par abonnement, il existe des solutions intermédiaires. Certains hébergeurs proposent en effet de déployer rapidement un serveur reposant sur OpenVPN. C'est notamment le cas du français Scaleway avec ses InstantApps. OVHcloud fait de même.

Il s'agit d'images prêtes à l'emploi que l'on peut utiliser lors de la création d'une instance. Elle est maintenue à travers un dépôt open source diffusé sur GitHub sous licence MIT. Le déploiement passe par la console de gestion, où il faut sélectionner l'image OpenVPN dans InstantApps. Ce lien vous y mènera directement.

Sélectionnez ensuite un type d'instance (DEV1-S dans notre cas) et autres paramètres :

OpenVPN ScalewayOpenVPN Scaleway

L'instance sera alors créée et OpenVPN installé. Vous pourrez alors y accéder via un terminal et SSH. La première chose à faire est de mettre à jour le système, de créer un utilisateur via l'outil de scaleaway :

sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y
scw-ovpn create nom_utilisateur

Vous pouvez ensuite demander le statut du serveur OpenVPN :

scw-ovpn status

Et... c'est tout. Il vous faut maintenant récupérer le fichier de configuration pour accéder à OpenVPN depuis un client sur votre ordinateur ou un appareil mobile. Pour cela tapez la commande suivante :

scw-ovpn serve nom_utilisateur

Cela démarrera un serveur HTTP vous permettant de récupérer le fichier. Attention, le transfert ne se fera pas via un flux sécurisé (HTTPS). D'autres méthodes sont disponibles et détaillées dans la documentation. Pour cesser le partage utilisez la combinaison de touches CTRL+C. 

Vous récupérez un fichier nommé nom_utilisateur.ovpn. Téléchargez un client compatible avec OpenVPN et placez-y le fichier de configuration. Vous passerez alors à travers le serveur de Scaleway pour accéder à internet, comme vous le feriez avec un service clé en main. Vous pouvez maintenant utiliser cette instance quand bon vous semble. Pensez tout de même à la mettre à jour régulièrement et pourquoi pas fouiller la configuration d'OpenVPN.

Pour vérifier que cela fonctionne, il suffit d'utiliser un service détaillant votre IP en ligne.

Un serveur VPN depuis chez vous, avec un NAS

Mais comme nous l'avons vu dans notre précédent article, un VPN sert surtout à accéder à un réseau local à distance. Imaginons donc que vous vouliez pouvoir accéder au vôtre même quand vous n'êtes pas chez vous. Certains FAI, comme Free, proposent une telle fonctionnalité dans leur box. 

Ici, nous allons plutôt regarder comment cela se passe avec un appareil qui ne dépend pas de votre FAI : un NAS. Tous les constructeurs proposent une telle fonctionnalité : ASUSTOR, QNAP ou Synology. Nous avons effectué notre essai avec un bon vieux DiskStation 413 qui n'est donc pas de première jeunesse et limité à DSM 6.2.

Là aussi nous utiliserons OpenVPN. Première étape : se rendre dans le centre des paquets et installer VPN Server. Il faut ensuite le lancer, puis aller dans la partie consacrée à OpenVPN. Vous pouvez laisser l’ensemble des paramètres par défaut pour un fonctionnement basique, ou bien les changer en fonctions de vos besoins. 

Par exemple en activant IPv6 ou en autorisant l’accès au réseau local selon vos besoins. Pensez dans tous les cas à cliquer sur « Appliquer ». Une alerte vous rappelle d’ouvrir le port 1194 si besoin sur votre box, nous y reviendrons.

VPN Server DSM 6.2VPN Server DSM 6.2

La moitié du chemin est déjà faite : votre serveur VPN est en marche et en attente d’une connexion. Pour cela il faut récupérer le fichier de configuration, comme chez Scaleway. Rendez-vous dans la fenêtre de configuration d’OpenVPN dans l'interface puis cliquez sur « Exporter la configuration » (en bas de la page). 

Vous récupérez une archive nommée openvpn.zip comprenant trois fichiers : 

  • ca.crt : fichier de certificat pour le serveur VPN
  • VPNConfig.ovpn : fichier de configuration pour le client 
  • README.txt : des instructions simples pour la configuration d’OpenVPN

Ouvrez VPNConfig.ovpn avec un éditeur de texte – le bloc-notes par exemple – et remplacez YOUR_SERVER_IP par l’adresse IP publique de votre box (celle attribuée par votre FAI). Vous la trouverez sur ce site.

Dans notre cas c’est « 78.116.xxx.yyy ». Indice : elle ne commence pas par 192.168…, 172.16… ou 10.0… (qui sont des IP de réseau local). Pour que notre ordinateur portable utilise le VPN comme connexion par défaut pour accéder à Internet, il faut également enlever le # devant la ligne redirect-gateway def1.

Enregistrez et fermez l’éditeur de texte. Les fichiers sont prêts à être utilisés sur l'appareil à connecter.

VPN Server DSM 6.2
Le résultat final dans notre cas

Ouverture de port sur votre box internet

Par défaut, votre box internet est configurée pour ne pas laisser passer de connexion entrante. Afin que votre serveur VPN soit accessible depuis l'extérieur vous devez donc ouvrir un port et le rediriger vers votre NAS.

Sur notre ligne RED by SFR de test, cela se passe dans le menu Réseau V4 et sur l’onglet NAT. La configuration sera similaire chez d'autres FAI ou via n'importe quel routeur. Indiquez le protocole UDP, le port 1194 en entrée, l’adresse IP locale du NAS (192.168.1.45 dans notre cas), de nouveau le port 1194 en sortie.

Le principe est simplement de rediriger les connexions arrivant depuis Internet sur le port 1194 de la box vers le port 1194 du NAS Synology. Pour des raisons de sécurité, il est fermé par défaut. Dès que cela est terminé, vous devriez être capables de vous connecter à votre serveur VPN maison et donc à votre réseau local. 

VPN Server DSM 6.2

Installer et configurer OpenVPN sur Windows

Passons à la connexion avec l'exemple d'une machine sous Windows 10. On y installe le client OpenVPN. Une icône en forme d’ordinateur avec un petit cadenas se place alors en bas à droite, dans la zone de notification de Windows.

Effectuez un clic droit, sélectionnez « Importer fichier » et cherchez le fichier de configuration (XXX.opvpn). Validez, c'est terminé. Effectuez un nouveau clic droit sur l’icône d’OpenVPN, et sélectionnez connecter. OpenVPN vous demandera alors de saisir un nom et un mot de passe.

Par défaut, les utilisateurs avec un compte sur le NAS y ont accès (ça peut être le compte admin si besoin). Entrez le nom d’utilisateur et le mot de passe. Chez Scaleway, cette étape n'est pas nécessaire par défaut. 

VPN Server DSM 6.2

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Déployer un serveur OpenVPN en quelques clics

Un serveur VPN depuis chez vous, avec un NAS

Ouverture de port sur votre box internet

Installer et configurer OpenVPN sur Windows

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (20)


Hello,
J’ai pas de NAS mais un mini-pc ou j’ai mon serveur Plex / TS et autres.
C’est bien dommage que vous ne faite pas un petit Tutoriel pour couvrir la création de VPN sous Windows 10 Pro.



J’attends avec impatience la suite :)


Je trouve la configuration WireGuard bien plus simple, pas de fichier à créer ni quoi que ce soit, une fois le serveur déployé via une InstantApps on a généralement un texte qui s’affiche à copier dans l’interface du logiciel pour configurer automatiquement le client. (et en + les perf sont bien meilleures sur un petit serveur)


Même sans InstantApps, Wireguard n’est pas tellement compliqué à configurer sur un serveur Debian, par exemple, c’est d’ailleurs une des choses que j’apprécie chez cette solution.


Ca tombe pile poil.
Avant-hier, j’ai installé openvpn sur truenass et j’ai pas mal sué pour y arriver ( le temps que je capte le changement d’IP dans le fichier .opvn … ).
La je teste encore mais je vais paufiner ca grâce à l’article ( redirect-gateway …. )
Grand merci à vous


D’ailleurs si un pro d’openvpn / truenass passe par là.
C’est possible d’accéder aux UI des jails/plugins par openvpn ?
Car pour l’UI de truenass et l’accès smb, j’y accède mais les UI de jails pas.
Par exemple pour syncthing en local c’est 192.168.XXX:8384 pour accéder à l’UI
quand je teste par openvpn avec 10.1.XXX:8384 ca fonctionne pas. il redirige pas les ports ?



easyfab a dit:


D’ailleurs si un pro d’openvpn / truenass passe par là. C’est possible d’accéder aux UI des jails/plugins par openvpn ? Car pour l’UI de truenass et l’accès smb, j’y accède mais les UI de jails pas. Par exemple pour syncthing en local c’est 192.168.XXX:8384 pour accéder à l’UI quand je teste par openvpn avec 10.1.XXX:8384 ca fonctionne pas. il redirige pas les ports ?




Je ne connais rien à TrueNAS, mais soit c’est bloqué par le firewall, soit ce sont les services qui n’écoutent que sur l’interface 192.168.XXX au lieu d’écouter sur toutes les interfaces. Voir dans la config des services problématiques si on peut spécifier quelles interfaces utiliser, ou alors, si OpenVPN envoie aux clients distants la route vers 192.168.XXX (quitte à l’ajouter dans la config), ça peut fonctionner en y accédant simplement par l’adresse 192.168.XXX comme si tu étais en local, et non par l’adresse 10.1.XXX.



Un truc pour différencier si ça vient du firewall ou du service qui n’écoute pas : utiliser un scanner de ports comme nmap. Si y a une réponse de type port fermé (closed avec nmap), c’est très certainement que le service n’écoute pas, alors que s’il n’y a pas de réponse du tout (filtered avec nmap), c’est sûr que c’est le firewall.


Tiens, et pour un petit besoin, disons 56 personnes qui se connecteraient à distance à un réseau local, pas une solution existante intégrée / spécialisée pour un raspberry ?



Effectivement, la solution sur les Nas syno est vraiment intéressante. Néanmoins, j’ai trouvé le client OpenVPN Connect plus efficace et plus agréable pour mes utilisateurs, utile de rajouter la commande setenv CLIENT_CERT 0 dans le fichier de config pour ne pas avoir le problème des certificats clients non signés, et notez qu’il est possible de modifier le nombre maximal de client VPN en SSH si le nombre max dans DSM (souvent 20 ou 30 selon les modèles) est insuffisant.



Le système de jail repose sur le banIP classique dans Syno, il est donc facile de le mettre en place.


Ca marche maintenant en utilisant l’adresse locale 192.168.XXX.
Je sais pas pourquoi ca bloquait initialemnt


Merci pour ces articles, je connais la technologie mais, à mon échelle, je n’en vois pas vraiment l’intérêt. Eventuellement je pourrais consulter des disques durs sur mon réseau local à distance mais comme je suis passé au cloud ce n’est pas très utile.



En tout cas c’est très intéressant.


Merci, vu qu’on planche sur la série depuis mars/avril (pas ce papier là en particulier hein :D) ça fait plaisir :chinois:


Article très intéressant comme d’habitude.



A noter que l’installation sur un NAS (ou tout autre équipement à la maison) ne fonctionnera que si la box a une adresse IP publique, ce qui n’est pas le cas sur les abonnements “4G fixe” et satellite. ils vous vendent un accès internet incomplet, toute fonction serveur est impossible. Heureusement ces abonnements ne sont pas très répandu en France, mais ce n’est pas le cas dans de nombreux pays.


mmhh quelqu’un sait si on peut déployer une instance openvpn sur un vps stardust chez scaleway? ça ferait un petit VPN vraiment pas cher. ^^


Y’a pas de raison, ça fonctionne comme les autres (modulo les limitations en BP) après faut réussir à chopper l’instance stardust :D


Je viens de voir une pub pour NordVPN, très déçu par cette annonce, ce fournisseur fait partie d’une grande liste qui mentent à leurs clients, font des promesses hyper fallacieuses, ne sont pas transparents et ne sont pas correctement sécurisés.



NordVPN appartient à Tefincom S.A, Tesonet et Nordsec, 3 sociétés réparties dans trois pays différents, Panama, Chypre et La Lithuanie, si un client pense vraiment que l’on peut faire confiance à des sociétés chez qui ses logs passent par autant d’acteurs, il peut, mais ça semble naïf et peu prudent.



PS : Merci pour la suite de l’article sinon !


Voir par ici


David_L

Voir par ici


“Pour le moment, un acteur a accepté de jouer le jeu selon notre régie : NordVPN”



NordVPN ferait n’importe quoi pour diffuser sa publicité et ou son marketing d’affiliation partout où ils le peuvent, (je n’ai rien contre tant que ce n’est pas abusif et que cela ne desserve pas le consommateur, qui devient incapable de discerner une publicité honnête d’une publicité biaisée comme le sont la plupart des top 10 VPN).



M’enfin, merci pour la précision :chinois:


anonyme_6fe7c92f62c257fced6328182e378c61

“Pour le moment, un acteur a accepté de jouer le jeu selon notre régie : NordVPN”



NordVPN ferait n’importe quoi pour diffuser sa publicité et ou son marketing d’affiliation partout où ils le peuvent, (je n’ai rien contre tant que ce n’est pas abusif et que cela ne desserve pas le consommateur, qui devient incapable de discerner une publicité honnête d’une publicité biaisée comme le sont la plupart des top 10 VPN).



M’enfin, merci pour la précision :chinois:


Comme dit dans le thread, on a des règles à respecter dans le cadre de ce format publicitaire, notamment un droit de regard/veto de la rédaction) que NordVPN a accepté (certains refusent). Nous ne sommes pas responsable des publicités diffusées ailleurs, seulement de celles qui le sont dans nos colonnes :chinois:


David_L

Comme dit dans le thread, on a des règles à respecter dans le cadre de ce format publicitaire, notamment un droit de regard/veto de la rédaction) que NordVPN a accepté (certains refusent). Nous ne sommes pas responsable des publicités diffusées ailleurs, seulement de celles qui le sont dans nos colonnes :chinois:


Mouais bon, si je peux donner mon avis je ne suis pas convaincu en vrai, dans le sens où c’est pas top pour l’image, imaginons que je découvre Next Inpact en m’étant abonné récemment mais que je connaisse bien le business douteux autour des VPN et notamment autour de NordVPN, peut-être que je n’aurais pas pris la peine de lire vos articles qui traitent de cette technologie, ou je les aurais zappés, alors qu’ils sont bons, c’est très con je sais :francais:


anonyme_6fe7c92f62c257fced6328182e378c61

Mouais bon, si je peux donner mon avis je ne suis pas convaincu en vrai, dans le sens où c’est pas top pour l’image, imaginons que je découvre Next Inpact en m’étant abonné récemment mais que je connaisse bien le business douteux autour des VPN et notamment autour de NordVPN, peut-être que je n’aurais pas pris la peine de lire vos articles qui traitent de cette technologie, ou je les aurais zappés, alors qu’ils sont bons, c’est très con je sais :francais:


Avec des “Si” on refait le monde ;)



SomeDudeOnTheInternet a dit:


Je trouve la configuration WireGuard bien plus simple, pas de fichier à créer ni quoi que ce soit, une fois le serveur déployé via une InstantApps on a généralement un texte qui s’affiche à copier dans l’interface du logiciel pour configurer automatiquement le client. (et en + les perf sont bien meilleures sur un petit serveur)




+1



Wireguard est simple et efficace, loin devant openvpn (l’avantage d’une solution plus récente).



Sinon bravo pour l’article, j’aime la manière dont vous avez séparé le principe/utilité des solutions techniques (cet article).