VPN im Heimnetzwerk

VPN im Heimnetzwerk

TL;DR: Ich richte Wireguard auf einem VPS ein, verbinde mich von meinem Heimrouter mit OpenWRT und erhalte Zugriff auf mein Heimnetzwerk mit meinem Telefon.

Wenn Sie auf Ihrem Heimserver eine persönliche Infrastruktur haben oder viele IP-gesteuerte Geräte zu Hause besitzen, möchten Sie sicherlich von der Arbeit, aus dem Bus, dem Zug oder der U-Bahn darauf zugreifen. In den meisten Fällen wird für solche Aufgaben eine IP von einem Anbieter erworben, und die Ports jedes Dienstes werden nach außen weitergeleitet.

Stattdessen habe ich ein VPN mit Zugriff auf mein Heimnetzwerk eingerichtet. Die Vorteile dieser Lösung:

  • Transparenz: Ich fühle mich unter allen Umständen wie zu Hause.
  • Einfachheit: Einmal eingerichtet und vergessen, ich muss nicht an die Weiterleitung jedes Ports denken.
  • Preis: Ich habe bereits einen VPS, für solche Aufgaben ist ein moderner VPN fast kostenlos in Bezug auf Ressourcen.
  • Sicherheit: Nichts ist nach außen exponiert, ich kann MongoDB ohne Passwort lassen, und niemand wird Daten stehlen.

Wie immer gibt es auch Nachteile. Zunächst müssen Sie jeden Client einzeln konfigurieren, einschließlich der Server-Seite. Dies kann unpraktisch sein, wenn eine große Anzahl von Geräten darauf zugreifen möchte. Zweitens kann es sein, dass in Ihrem Arbeitsbereich ein überlappendes lokales Netzwerk vorhanden ist — Sie müssen dieses Problem lösen.

Wir benötigen:

  1. VPS (in meinem Fall auf Debian 10).
  2. Router mit OpenWRT.
  3. Telefon.
  4. Ein Heimserver mit einem Webdienst zur Überprüfung.
  5. Fähige Hände.

Als VPN-Technologie werde ich Wireguard verwenden. Diese Lösung hat ebenfalls ihre Stärken und Schwächen, die ich nicht beschreiben werde. In meinem VPN verwende ich das Subnetz 192.168.99.0/24, und zu Hause habe ich 192.168.0.0/24.

VPS-Konfiguration

Für den Zweck genügt sogar das billigste VPS für 30 Rubel im Monat, wenn Sie Glück haben und so etwas ergattern.

Alle Operationen auf dem Server führe ich als Root auf einer sauberen Maschine aus. Fügen Sie bei Bedarf `sudo` hinzu und passen Sie die Anweisungen an.

Wireguard wurde noch nicht in die stabile Version integriert, daher führe ich `apt edit-sources` aus und füge die Backports mit zwei Zeilen ans Ende der Datei hinzu:

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

Das Paket wird auf die gewohnte Weise installiert: apt update && apt install wireguard.

Dann generieren wir ein Schlüsselpaar: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Wiederholen Sie diesen Vorgang für jedes Gerät, das Teil des Netzwerks ist. Ändern Sie die Dateipfade für die Schlüssel des anderen Geräts und achten Sie darauf, die privaten Schlüssel sicher zu halten.

Jetzt bereiten wir die Konfiguration vor. In die Datei /etc/wireguard/wg0.conf kommen die Konfiguration:

[Interface]
Adresse = 192.168.99.1/24
HörPort = 57953
PrivaterSchlüssel = 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

Im Abschnitt [Interface] werden die Einstellungen des Geräts angegeben, während in [Peer] — die Einstellungen für diejenigen, die sich damit verbinden werden. In AllowedIPs werden die Subnetze aufgeführt, die an den entsprechenden Peer geroutet werden. Aus diesem Grund müssen die Client-Geräte im VPN-Subnetz eine Maske haben /32,alles andere wird vom Server geroutet. Da das Heimnetzwerk über OpenWRT geroutet wird, fügen wir in AllowedIPs dem entsprechenden Peer das Heimnetzwerk hinzu. In PrivateKey und PublicKey legen Sie den für VPS generierten privaten Schlüssel und die öffentlichen Schlüssel der Peers entsprechend ab.

Auf dem VPS bleibt nur noch der Befehl, der das Interface hochfährt und es zum Autostart hinzufügt, auszuführen: systemctl enable --now wg-quick@wg0. Der aktuelle Verbindungsstatus kann mit dem folgenden Befehl überprüft werden wg.

OpenWRT-Konfiguration

Alles, was Sie für diese Phase benötigen, finden Sie im Modul luci (Web-Oberfläche von OpenWRT). Melden Sie sich dort an und öffnen Sie im Menü System die Registerkarte Software. OpenWRT speichert keinen Cache auf dem Gerät, daher müssen Sie die Liste der verfügbaren Pakete aktualisieren, indem Sie auf die grüne Schaltfläche "Listen aktualisieren" klicken. Nach Abschluss geben Sie in das Filterfeld ein, luci-app-wireguard und, indem Sie auf das Fenster mit dem schönen Abhängigkeitsbaum schauen, installieren Sie dieses Paket.

Im Menü Netzwerke wählen Sie Schnittstellen und klicken auf die grüne Schaltfläche "Neue Schnittstelle hinzufügen" unter der Liste der bereits vorhandenen. Nach der Eingabe des Namens (auch wg0 in meinem Fall) und der Auswahl des WireGuard VPN-Protokolls öffnet sich das Einstellungsformular mit vier Registerkarten.

VPN im Heimnetzwerk

Auf der Registerkarte "Allgemeine Einstellungen" müssen Sie den privaten Schlüssel und die für OpenWRT vorgegebene IP-Adresse samt Subnetz eingeben.

VPN im Heimnetzwerk

In den Firewall-Einstellungen fügen Sie die Schnittstelle ins lokale Netzwerk ein. So können Verbindungen aus dem VPN problemlos ins lokale Netzwerk gelangen.

VPN im Heimnetzwerk

Im Reiter Peers drücken Sie die einzige Schaltfläche, danach füllen Sie im aktualisierten Formular die Daten des VPS-Servers aus: öffentlichen Schlüssel, erlaubte IPs (die gesamte VPN-Subnetz sollte auf den Server geroutet werden). Geben Sie in Endpoint Host und Endpoint Port die IP-Adresse des VPS mit dem zuvor in der Direktive ListenPort angegebenen Port ein. Aktivieren Sie Route Allowed IPs, damit Routen erstellt werden. Füllen Sie unbedingt Persistent Keep Alive aus, sonst wird der Tunnel vom VPS zum Router abgebrochen, wenn letzterer hinter NAT steht.

VPN im Heimnetzwerk

VPN im Heimnetzwerk

Anschließend können Sie die Einstellungen speichern und auf der Seite mit der Liste der Schnittstellen auf Save and apply drücken. Bei Bedarf starten Sie die Schnittstelle explizit mit der Schaltfläche Restart.

Wir konfigurieren das Smartphone

Sie benötigen den WireGuard-Client, der verfügbar ist in F-Droid, Google Play und im App Store. Öffnen Sie die Anwendung, drücken Sie das Pluszeichen und geben Sie im Abschnitt Interface den Verbindungsnamen, den privaten Schlüssel (der öffentliche wird automatisch generiert) und die Telefonnummer mit der Maske /32 ein. Im Abschnitt Peer geben Sie den öffentlichen Schlüssel des VPS, das Paar Adresse: Port des VPN-Servers als Endpoint und die Routen zum VPN- und Heimnetzwerk an.

Screenshot vom Telefon
VPN im Heimnetzwerk

Drücken Sie auf das Diskettensymbol in der Ecke, aktivieren Sie es und…

Fertig

Jetzt können Sie auf die Heimüberwachung zugreifen, die Routereinstellungen ändern oder auf IP-Ebene alles Mögliche tun.

Screenshots aus der lokalen Umgebung
VPN im Heimnetzwerk

VPN im Heimnetzwerk

VPN im Heimnetzwerk

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster