TL; DR: J'installe Wireguard sur un VPS, je m'y connecte depuis mon routeur domestique sur OpenWRT et j'accède à mon sous-réseau domestique depuis mon téléphone.
Si vous conservez votre infrastructure personnelle sur un serveur domestique ou si vous possédez de nombreux appareils contrôlés par IP chez vous, vous souhaiterez probablement y avoir accès depuis votre travail, depuis le bus, le train et le métro. Le plus souvent, pour des tâches similaires, l'IP est achetée auprès du fournisseur, après quoi les ports de chaque service sont transférés vers l'extérieur.
Au lieu de cela, j'ai configuré un VPN avec accès à mon réseau local domestique. Les avantages de cette solution :
- Transparence: Je me sens chez moi en toutes circonstances.
- Facilité: configurez-le et oubliez-le, pas besoin de penser à transférer 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 quitter MongoDB sans mot de passe et personne ne volera vos données.
Comme toujours, il y a des inconvénients. Dans un premier temps, vous devrez configurer chaque client séparément, 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, vous disposez peut-être d'un réseau local avec la même portée au travail - vous devrez résoudre ce problème.
Nous devons:
- VPS (dans mon cas sur Debian 10).
- Routeur OpenWRT.
- Numéro de téléphone
- Serveur domestique avec un service Web pour les tests.
- Bras droits.
La technologie VPN que j'utiliserai est Wireguard. 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
, et chez moi 192.168.0.0/24
.
Configuration du VPN
Même le VPS le plus misérable à 30 roubles par mois est suffisant pour les affaires, si vous avez la chance d'en avoir un
J'effectue toutes les opérations sur le serveur en tant que root sur une machine propre ; si nécessaire, j'ajoute `sudo` et j'adapte les instructions.
Wireguard n'a pas eu le temps d'être introduit dans la stable, j'ai donc lancé `apt edit-sources` et j'ajoute des rétroportages sur deux lignes à la fin du fichier :
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
Le package est installé de la manière habituelle : apt update && apt install wireguard
.
Ensuite, nous générons une paire de clés : wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
. Répétez cette opération deux fois de plus pour chaque appareil participant au circuit. Modifiez le chemin 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. Pour déposer /etc/wireguard/wg0.conf
config est placé :
[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
Dans la section [Interface]
les réglages de la machine elle-même sont indiqués, et dans [Peer]
— paramètres pour ceux qui s'y connecteront. DANS AllowedIPs
séparés par des virgules, les sous-réseaux qui seront acheminés vers le homologue correspondant sont spécifiés. Pour cette raison, les pairs des appareils « clients » dans le sous-réseau VPN doivent avoir un masque. /32
, tout le reste sera acheminé par le serveur. Puisque le réseau domestique sera acheminé via OpenWRT, en AllowedIPs
Nous ajoutons le sous-réseau domestique du homologue correspondant. DANS PrivateKey
и PublicKey
décomposez la clé privée générée pour le VPS et les clés publiques des pairs en conséquence.
Sur le VPS, il ne reste plus qu'à exécuter la commande qui fera apparaître l'interface et l'ajouter à l'exécution automatique : systemctl enable --now wg-quick@wg0
. L'état actuel de la connexion 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 saisi le nom (également wg0
dans mon cas) et en sélectionnant le protocole VPN WireGuard, un formulaire de paramètres avec quatre onglets s'ouvre.
Dans l'onglet Paramètres généraux, vous devez saisir la clé privée et l'adresse IP préparées pour OpenWRT ainsi que le sous-réseau.
Dans l'onglet Paramètres du pare-feu, connectez l'interface au réseau local. De cette façon, les connexions du VPN entreront librement dans la zone locale.
Dans l'onglet Peers, cliquez sur le seul bouton, après quoi vous remplissez les données du serveur VPS sous la forme mise à jour : clé publique, IP autorisées (vous devez acheminer l'intégralité du sous-réseau VPN vers le serveur). Dans Endpoint Host et Endpoint Port, entrez respectivement l'adresse IP du VPS avec le port précédemment spécifié dans la directive ListenPort. Vérifiez les adresses IP autorisées pour les routes à créer. Et assurez-vous de remplir Persistent Keep Alive, sinon le tunnel du VPS vers le routeur sera rompu si ce dernier est derrière NAT.
Après cela, vous pouvez enregistrer les paramètres, puis sur la page avec la liste des interfaces, cliquer sur Enregistrer et appliquer. Si nécessaire, lancez explicitement l'interface avec le bouton Redémarrer.
Configurer un smartphone
Vous aurez besoin du client Wireguard, il est disponible en
Capture d'écran en gras du téléphone
Cliquez sur la disquette dans le coin, allumez-la et...
Se terminer
Vous pouvez désormais accéder à la surveillance de la maison, modifier les paramètres du routeur ou faire n'importe quoi au niveau IP.
Captures d'écran de la région
Source: habr.com