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:
- VPS (dans mon cas sur Debian 10).
- Routeur sur OpenWRT.
- Téléphone.
- Serveur domestique avec une sorte de service Web à vérifier.
- 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 AllowedIPs
sous-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 AllowedIPs
ajoutons le sous-réseau domestique au pair correspondant. Dans PrivateKey
et PublicKey
dé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-wireguard
et, 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
wg0
dans 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