VPN til hjemmenetværk

VPN til hjemmenetværk

TL;DR: Jeg installerer Wireguard på VPS, forbinder til det fra min hjemme-router på OpenWRT, og får adgang til mit hjemmenetværk fra telefonen.

Hvis du har en personlig infrastruktur på din hjemme-server eller mange IP-styrede enheder derhjemme, ønsker du sikkert at få adgang til dem fra arbejde, fra bussen, toget og metroen. Ofte køber man et IP fra udbyderen til sådanne opgaver, hvorefter portene for hver tjeneste åbnes mod internettet.

I stedet har jeg opsat en VPN med adgang til det lokale netværk derhjemme. Fordele ved denne løsning:

  • Gennemsigtighed: Jeg føler mig som hjemme under alle omstændigheder.
  • Simplicity: Opsæt og glem, du skal ikke tænke på at åbne hver port.
  • Pris: Jeg har allerede en VPS, så for sådanne opgaver er moderne VPN næsten gratis i ressourcer.
  • Sikkerhed: Intet stikker ud mod internettet, man kan lade MongoDB stå uden adgangskode, og ingen vil snuppe dataene.

Som altid er der også ulemper. For det første skal du konfigurere hver klient separat, inklusive på serversiden. Dette kan være besværligt, hvis du har et stort antal enheder, som du ønsker at få adgang til tjenesterne fra. For det andet kan der være en lokal netværk på dit arbejde, der overlapper i intervallet — du skal løse dette problem.

Vi har brug for:

  1. VPS (i mit tilfælde på Debian 10).
  2. Router på OpenWRT.
  3. Telefon.
  4. Hjemme-server med en eller anden web-tjeneste til kontrol.
  5. Direkte hænder.

Som VPN-teknologi vil jeg bruge Wireguard. Denne løsning har også sine styrker og svagheder, som jeg ikke vil beskrive. Til VPN bruger jeg subnettet 192.168.99.0/24, og derhjemme har jeg 192.168.0.0/24.

VPS-konfiguration

En rigtig billig VPS til 30 rubler om måneden vil være tilstrækkelig til jobbet, hvis det lykkes at få fat i sådan en fange.

Alle operationer på serveren udfører jeg som root på en ren maskine; hvis nødvendigt, tilføj `sudo` og tilpas instruktionerne.

Wireguard er ikke blevet tilføjet til stable endnu, så jeg udfører `apt edit-sources` og tilføjer backports med to linjer til slutningen af filen:

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

Pakken installeres på den sædvanlige måde: apt update && apt install wireguard.

Dernæst genererer vi et nøglepar: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Gentag denne operation to gange mere for hver enhed, der deltager i opsætningen. Ændr stierne til nøglefilerne for den anden enhed og glem ikke sikkerheden for de private nøgler.

Nu forbereder vi konfigurationen. Filen /etc/wireguard/wg0.conf indeholder konfigurationen:

[Interface]
Adresse = 192.168.99.1/24
LyttePort = 57953
PrivatNøgle = 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

I sektionen [Interface] angives indstillingerne for selve maskinen, og i [Peer] — indstillingerne for dem, der vil være tilsluttet. I AllowedIPs angives subnettene, der skal ruttes til den pågældende peer. På grund af dette skal enhederne i VPN-subnettet have en maske /32, alt andet vil blive rutet af serveren. Da det hjemmenetværk vil blive ruttet gennem OpenWRT, i AllowedIPs den pågældende peer tilføjer vi hjemmens subnet. I PrivateKey og PublicKey læg den private nøgle, der blev genereret til VPS, og de offentlige nøgler til peers, henholdsvis.

På VPS er der kun tilbage at køre kommandoen, der aktiverer interfacet og tilføjer det til automatisk opstart: systemctl enable --now wg-quick@wg0. Den nuværende status af forbindelserne kan kontrolleres med kommandoen wg.

OpenWRT-konfiguration

Alt, hvad du har brug for til dette trin, findes i luci-modulet (webgrænseflade til OpenWRT). Log ind og åbne Software-fanen i System-menuen. OpenWRT gemmer ikke cache på maskinen, derfor skal du opdatere listen over tilgængelige pakker ved at klikke på den grønne knap Opdater lister. Efter afslutningen indtastes luci-app-wireguard og, ved at se på vinduet med det flotte afhængighedstræ, installerer du denne pakke.

Under menuen Networks vælger du Interfaces og klikker på den grønne knap Tilføj nyt interface under listen over eksisterende. Efter at have indtastet navnet (også wg0 i mit tilfælde) og valgt WireGuard VPN-protokollen åbnes der en konfigurationsformular med fire faner.

VPN til hjemmenetværk

Under fanen Generelle indstillinger skal du indtaste den private nøgle og IP-adressen forberedt til OpenWRT sammen med subnettet.

VPN til hjemmenetværk

Under fanen Firewall-indstillinger tilføjer du interfacet til det lokale netværk. Dermed vil forbindelser fra VPN frit kunne nå lokalt.

VPN til hjemmenetværk

Under fanen Peers klikker du på den eneste knap, hvorefter du i den opdaterede formular udfylder oplysningerne til VPS-serveren: offentlig nøgle, Allowed IPs (hele VPN-subnettet skal rutes til serveren). I Endpoint Host og Endpoint Port indtaster du henholdsvis VPS'ens IP-adresse og porten som angivet tidligere i direktivet ListenPort. Marker Route Allowed IPs for at oprette ruter. Og udfyld bestemt Persistent Keep Alive, ellers vil tunnelen fra VPS til routeren blive afbrudt, hvis sidstnævnte er bag NAT.

VPN til hjemmenetværk

VPN til hjemmenetværk

Efter dette kan du gemme indstillingerne og derefter på siden med liste over grænseflader trykke på Gem og anvend. Om nødvendigt skal du eksplicit starte grænsefladen med knappen Genstart.

Opretter smartphone

Du får brug for Wireguard-klienten, som er tilgængelig i F-Droid, Link to og App Store. Når du åbner appen, trykker du på plus-tegnet, og i sektionen Interface indtaster du forbindelsesnavnet, den private nøgle (den offentlige genereres automatisk) og telefonens adresse med masken /32. I sektionen Peer angiver du den offentlige nøgle fra VPS, parret adresse: port på VPN-serveren som Endpoint og ruter til VPN- og det lokale undernet.

Fedt skærmbillede fra telefonen
VPN til hjemmenetværk

Du trykker på disketteikonet i hjørnet, tænder for det og…

Færdig

Nu kan du få adgang til hjemmeovervågningen, ændre routerindstillingerne, eller gøre hvad som helst på IP-niveau.

Skærmbilleder fra det lokale netværk
VPN til hjemmenetværk

VPN til hjemmenetværk

VPN til hjemmenetværk

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster