VPN do domácí LAN

VPN do domácí LAN

TL, DR: Nainstaluji Wireguard na VPS, připojím se k němu z mého domácího routeru na OpenWRT a přistupuji k domácí podsíti z telefonu.

Pokud máte svou osobní infrastrukturu na domácím serveru nebo máte doma mnoho IP zařízení, pravděpodobně k nim budete chtít mít přístup z práce, z autobusu, vlaku a metra. Nejčastěji se pro podobné úkoly zakoupí IP od poskytovatele, poté jsou porty každé služby předány ven.

Místo toho jsem si nastavil VPN s přístupem k domácí LAN. Výhody tohoto řešení:

  • průhlednost: Cítím se jako doma za každých okolností.
  • Jednoduchost: nastavte a zapomeňte, není třeba přemýšlet o přesměrování každého portu.
  • Cena: VPS už mám, pro takové úkoly je moderní VPN z hlediska zdrojů téměř zdarma.
  • zabezpečení: nic nevyčnívá, můžete opustit MongoDB bez hesla a nikdo vaše data neukradne.

Jako vždy existují i ​​stinné stránky. Za prvé, budete muset nakonfigurovat každého klienta zvlášť, a to i na straně serveru. Může to být nepohodlné, pokud máte velké množství zařízení, ze kterých chcete ke službám přistupovat. Za druhé, můžete mít v práci síť LAN se stejným dosahem – tento problém budete muset vyřešit.

Potřebujeme:

  1. VPS (v mém případě na Debianu 10).
  2. Router OpenWRT.
  3. Telefonní číslo.
  4. Domácí server s nějakou webovou službou pro testování.
  5. Rovné paže.

Technologie VPN, kterou použiji, je Wireguard. Toto řešení má také silné a slabé stránky, nebudu je popisovat. Pro VPN používám podsíť 192.168.99.0/24a u mě doma 192.168.0.0/24.

Konfigurace VPS

K podnikání stačí i ta nejbídnější VPS za 30 rublů měsíčně, pokud máte to štěstí, že ji máte úryvek.

Všechny operace na serveru provádím jako root na čistém stroji, v případě potřeby přidám `sudo` a přizpůsobím pokyny.

Wireguard neměl čas být přenesen do stáje, takže spustím `apt edit-sources` a přidám backporty ve dvou řádcích na konec souboru:

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

Balíček se instaluje obvyklým způsobem: apt update && apt install wireguard.

Dále vygenerujeme pár klíčů: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Opakujte tuto operaci ještě dvakrát pro každé zařízení účastnící se okruhu. Změňte cestu k souborům klíčů pro jiné zařízení a nezapomeňte na zabezpečení soukromých klíčů.

Nyní připravíme konfiguraci. Do souboru /etc/wireguard/wg0.conf config je umístěn:

[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

V sekci [Interface] jsou uvedena nastavení samotného stroje a v [Peer] — nastavení pro ty, kteří se k němu budou připojovat. V AllowedIPs oddělené čárkami jsou specifikovány podsítě, které budou směrovány na odpovídající peer. Z tohoto důvodu musí mít kolegové „klientských“ zařízení v podsíti VPN masku /32, vše ostatní bude směrováno serverem. Vzhledem k tomu, že domácí síť bude směrována přes OpenWRT, in AllowedIPs Přidáme domovskou podsíť odpovídajícího peeru. V PrivateKey и PublicKey podle toho rozložte soukromý klíč vygenerovaný pro VPS a veřejné klíče protějšků.

Na VPS zbývá pouze spustit příkaz, který vyvolá rozhraní a přidá jej do automatického spouštění: systemctl enable --now wg-quick@wg0. Aktuální stav připojení lze zkontrolovat příkazem wg.

Konfigurace OpenWRT

Vše, co pro tuto fázi potřebujete, je v modulu luci (webové rozhraní OpenWRT). Přihlaste se a otevřete kartu Software v nabídce Systém. OpenWRT neukládá mezipaměť na stroji, takže je třeba aktualizovat seznam dostupných balíčků kliknutím na zelené tlačítko Aktualizovat seznamy. Po dokončení vjeďte do filtru luci-app-wireguard a při pohledu na okno s krásným stromem závislostí nainstalujte tento balíček.

V nabídce Sítě vyberte Rozhraní a klikněte na zelené tlačítko Přidat nové rozhraní pod seznamem stávajících. Po zadání jména (také wg0 v mém případě) a výběrem protokolu WireGuard VPN se otevře formulář nastavení se čtyřmi kartami.

VPN do domácí LAN

Na záložce General Settings musíte zadat soukromý klíč a IP adresu připravenou pro OpenWRT spolu s podsítí.

VPN do domácí LAN

Na kartě Nastavení brány firewall připojte rozhraní k místní síti. Tímto způsobem budou připojení z VPN volně vstupovat do místní oblasti.

VPN do domácí LAN

Na záložce Peers klikněte na jediné tlačítko, poté vyplňte data serveru VPS v aktualizovaném formuláři: veřejný klíč, Povolené IP adresy (na server je třeba nasměrovat celou podsíť VPN). Do Endpoint Host a Endpoint Port zadejte IP adresu VPS s portem dříve uvedeným v direktivě ListenPort. Zaškrtněte políčko Route Allowed IPs pro trasy, které mají být vytvořeny. A nezapomeňte vyplnit Persistent Keep Alive, jinak se tunel z VPS k routeru přeruší, pokud je ten za NAT.

VPN do domácí LAN

VPN do domácí LAN

Poté můžete uložit nastavení a poté na stránce se seznamem rozhraní klikněte na Uložit a použít. V případě potřeby explicitně spusťte rozhraní tlačítkem Restart.

Nastavení smartphonu

Budete potřebovat klienta Wireguard, je k dispozici v F-Droid, Google Play a App Store. Po otevření aplikace stiskněte znaménko plus a v sekci Rozhraní zadejte název připojení, soukromý klíč (veřejný klíč se vygeneruje automaticky) a adresu telefonu s maskou /32. V části Peer zadejte veřejný klíč VPS, dvojici adres: port serveru VPN jako Koncový bod a trasy do VPN a domácí podsítě.

Tučný snímek obrazovky z telefonu
VPN do domácí LAN

Klikněte na disketu v rohu, zapněte ji a...

Dokončit

Nyní můžete přistupovat k monitorování domácnosti, měnit nastavení routeru nebo dělat cokoli na úrovni IP.

Screenshoty z místní oblasti
VPN do domácí LAN

VPN do domácí LAN

VPN do domácí LAN

Zdroj: www.habr.com

Přidat komentář