VPN vers LAN domestique





TL; DR : J'installe Wireguard sur un VPS, je me connecte à celui-ci depuis mon routeur domestique sur OpenWRT et j'accÚde au sous-réseau domestique depuis mon téléphone.



Si vous conservez votre infrastructure personnelle sur votre serveur domestique ou si vous avez beaucoup d'appareils contrÎlés par IP à la maison, vous voudrez probablement y avoir accÚs depuis le travail, depuis le bus, le train et le métro. Le plus souvent, pour des tùches similaires, une adresse IP est achetée auprÚs d'un fournisseur, aprÚs quoi les ports de chaque service sont transférés à l'extérieur.



Au lieu de cela, j'ai mis en place un VPN avec un accĂšs LAN domestique. Les avantages de cette solution:



  • Transparence : je me sens chez moi en toute circonstance.
  • SimplicitĂ© : configurer et oublier, pas besoin de penser Ă  rediriger chaque port.
  • Prix : j'ai dĂ©jĂ  un VPS, pour de telles tĂąches un VPN moderne est presque gratuit en termes de ressources.
  • SĂ©curitĂ© : rien ne ressort, vous pouvez laisser MongoDB sans mot de passe et personne ne volera les donnĂ©es.


Comme toujours, il y a des inconvĂ©nients. Tout d'abord, vous devez configurer chaque client individuellement, y compris cĂŽtĂ© serveur. Cela peut ĂȘtre gĂȘnant si vous disposez d'un grand nombre d'appareils Ă  partir desquels vous souhaitez accĂ©der aux services. DeuxiĂšmement, au travail, vous pouvez avoir un paramĂštre rĂ©gional local qui correspond Ă  la plage - vous devrez rĂ©soudre ce problĂšme.



Nous avons besoin:



  1. VPS (dans mon cas sur Debian 10).
  2. Routeur sur OpenWRT.
  3. Téléphone.
  4. Serveur domestique avec une sorte de service Web à vérifier.
  5. Bras droits.


J'utiliserai Wireguard comme technologie VPN. Cette solution a aussi des forces et des faiblesses, je ne les décrirai pas. Pour VPN, j'utilise un sous-réseau 192.168.99.0/24, mais à la maison je l'ai 192.168.0.0/24.



Configuration VPS



Pour les affaires assez, mĂȘme le plus misĂ©rable VPS pour 30 roubles par mois, si vous avez de la chance un arrachĂ© .



J'effectue toutes les opérations sur le serveur à partir de la racine sur une machine propre, ajoute `sudo` si nécessaire et adapte les instructions.



Grille de protection pas eu le temps d'apporter à l'écurie, donc je fais `rétroportage modifier-sources` apt et ajouter deux lignes dans le fichier: Le package est installé de la maniÚre habituelle: . Ensuite, générer la paire de clés: . Répétez cette opération deux fois de plus pour chaque appareil participant au programme. Modifiez les chemins d'accÚs aux fichiers de clés d'un autre appareil et n'oubliez pas la sécurité des clés privées. Maintenant, nous préparons la configuration. La config est placée dans le fichier : Dans la section



deb http://deb.debian.org/debian/ buster-backports main

# deb-src http://deb.debian.org/debian/ buster-backports main





apt update && apt install wireguard



wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public



/etc/wireguard/wg0.conf



[Interface]

Address = 192.168.99.1/24

ListenPort = 57953

PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=



[Peer] # OpenWRT

PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=

AllowedIPs = 192.168.99.2/32,192.168.0.0/24



[Peer] # Smartphone

PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=

AllowedIPs = 192.168.99.3/32





[Interface]les paramĂštres de la machine elle-mĂȘme sont indiquĂ©s, et dans les [Peer]paramĂštres pour ceux qui s'y connecteront. Les AllowedIPssous-rĂ©seaux qui seront acheminĂ©s vers l'homologue correspondant sont Ă©crits sĂ©parĂ©s par des virgules. Pour cette raison, les pairs des pĂ©riphĂ©riques "clients" dans le sous-rĂ©seau VPN doivent avoir un masque /32, tout le reste sera acheminĂ© par le serveur. Comme le rĂ©seau domestique sera acheminĂ© via OpenWRT, nous AllowedIPsajoutons le sous-rĂ©seau domestique au pair correspondant. Dans PrivateKeyet PublicKeydĂ©composez la clĂ© privĂ©e gĂ©nĂ©rĂ©e pour le VPS et les clĂ©s publiques des pairs, respectivement.



Sur VPS vous n'exĂ©cutez la commande, ce qui augmentera l'interface et l' ajouter Ă  la Autoplay: systemctl enable --now wg-quick@wg0. L'Ă©tat actuel des connexions peut ĂȘtre vĂ©rifiĂ© avec la commande wg.



Configuration d'OpenWRT



Tout ce dont vous avez besoin pour cette Ă©tape se trouve dans le module luci (interface Web OpenWRT). Connectez-vous et ouvrez l'onglet Logiciel dans le menu SystĂšme. OpenWRT ne stocke pas de cache sur la machine, vous devez donc mettre Ă  jour la liste des packages disponibles en cliquant sur le bouton vert Mettre Ă  jour les listes. Une fois terminĂ©, entrez dans le filtre luci-app-wireguardet, en regardant la fenĂȘtre avec une belle arborescence de dĂ©pendances, installez ce package.



Dans le menu Réseaux, sélectionnez Interfaces et cliquez sur le bouton vert Ajouter une nouvelle interface sous la liste des interfaces existantes. AprÚs avoir entré le nom (également wg0dans mon cas) et choisi le protocole WireGuard VPN, un formulaire de paramÚtres avec quatre onglets s'ouvre.







Dans l'onglet ParamÚtres généraux, vous devez entrer la clé privée et l'adresse IP préparée pour OpenWRT avec le sous-réseau.







Dans l'onglet ParamÚtres du pare-feu, connectez l'interface au réseau local. Ainsi, les connexions du VPN accéderont librement au LAN.







Sur l'onglet Pairs, appuyez sur le seul bouton, aprÚs quoi, dans le formulaire mis à jour, remplissez les données du serveur VPS: clé publique, IP autorisées (vous devez acheminer l'ensemble du sous-réseau VPN vers le serveur). Dans Endpoint Host et Endpoint Port, saisissez respectivement l'adresse IP du VPS avec le port spécifié dans la directive ListenPort. Cochez les adresses IP autorisées pour créer des routes. Et assurez-vous de remplir Persistent Keep Alive, sinon le tunnel du tunnel du VPS au routeur se cassera si ce dernier est derriÚre NAT.











AprÚs cela, vous pouvez enregistrer les paramÚtres, puis, sur la page contenant la liste des interfaces, cliquez sur Enregistrer et appliquer. Si nécessaire, démarrez explicitement l'interface avec le bouton Redémarrer.



Configurer un smartphone



Vous aurez besoin du client Wireguard et il est disponible sur F-Droid , Google Play et l'App Store. AprÚs avoir ouvert l'application, appuyez sur le signe plus et dans la section Interface, entrez le nom de la connexion, la clé privée (la clé publique sera générée automatiquement) et l'adresse téléphonique avec le masque / 32. Dans la section Peer, spécifiez la clé publique VPS, une paire d'adresses: le port du serveur VPN en tant que point de terminaison et les routes vers les sous-réseaux VPN et domestique.



Capture d'écran en gras du téléphone




Cliquez sur la disquette dans le coin, allumez-la et ...



Terminé



Vous pouvez désormais accéder à la surveillance à domicile, modifier les paramÚtres du routeur ou faire ce que vous voulez au niveau IP.



Captures d'Ă©cran locales











All Articles