VPN na kućni LAN

VPN na kućni LAN

TL; DR: Instaliram Wireguard na VPS, povezujem se s njim s kućnog usmjerivača na OpenWRT-u i pristupam svojoj kućnoj podmreži s telefona.

Ako svoju osobnu infrastrukturu držite na kućnom poslužitelju ili kod kuće imate mnogo IP-kontroliranih uređaja, onda vjerojatno želite imati pristup njima s posla, iz autobusa, vlaka i metroa. Najčešće se za slične zadatke IP kupuje od davatelja, nakon čega se portovi svake usluge prosljeđuju prema van.

Umjesto toga, postavio sam VPN s pristupom svom kućnom LAN-u. Prednosti ovog rješenja:

  • prozirnost: Osjećam se kao kod kuće u svim okolnostima.
  • Ublažiti: postavite i zaboravite, nema potrebe razmišljati o prosljeđivanju svakog porta.
  • Cijena: Već imam VPS; za takve zadatke, moderni VPN je gotovo besplatan u smislu resursa.
  • sigurnosti: ništa ne strši, možete ostaviti MongoDB bez lozinke i nitko vam neće ukrasti podatke.

Kao i uvijek, postoje nedostaci. Prvo, morat ćete konfigurirati svaki klijent zasebno, uključujući i na strani poslužitelja. Može biti nezgodno ako imate velik broj uređaja s kojih želite pristupiti uslugama. Drugo, možda imate LAN s istim rasponom na poslu - morat ćete riješiti ovaj problem.

Trebamo:

  1. VPS (u mom slučaju na Debianu 10).
  2. OpenWRT ruter.
  3. Telefonski broj.
  4. Kućni server s nekim web servisom za testiranje.
  5. Ravne ruke.

VPN tehnologija koju ću koristiti je Wireguard. Ovo rješenje također ima prednosti i slabosti, neću ih opisivati. Za VPN koristim podmrežu 192.168.99.0/24, i kod mene doma 192.168.0.0/24.

VPS konfiguracija

Čak i najmizerniji VPS za 30 rubalja mjesečno dovoljan je za posao, ako ste dovoljno sretni da ga imate trzaj.

Sve operacije na poslužitelju izvodim kao root na čistom stroju, po potrebi dodajte `sudo` i prilagodite upute.

Wireguard nije imao vremena da bude doveden u staju, pa sam pokrenuo `apt edit-sources` i dodao backportove u dva retka na kraju datoteke:

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

Paket se instalira na uobičajeni način: apt update && apt install wireguard.

Zatim generiramo par ključeva: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Ponovite ovu operaciju još dvaput za svaki uređaj koji sudjeluje u krugu. Promijenite put do datoteka ključeva za drugi uređaj i ne zaboravite na sigurnost privatnih ključeva.

Sada pripremamo konfiguraciju. Podnijeti /etc/wireguard/wg0.conf postavljena je konfiguracija:

[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

U odjeljku [Interface] naznačene su postavke samog stroja i in [Peer] — postavke za one koji će se na njega spojiti. U AllowedIPs odvojene zarezima, navedene su podmreže koje će biti preusmjerene na odgovarajući peer. Zbog toga, ravnopravni uređaji "klijenata" u VPN podmreži moraju imati masku /32, sve ostalo će usmjeriti poslužitelj. Budući da će kućna mreža biti usmjerena kroz OpenWRT, u AllowedIPs Dodajemo matičnu podmrežu odgovarajućeg peera. U PrivateKey и PublicKey dekomponirati privatni ključ generiran za VPS i javne ključeve ravnopravnih uređaja u skladu s tim.

Na VPS-u preostaje samo pokrenuti naredbu koja će otvoriti sučelje i dodati ga u autorun: systemctl enable --now wg-quick@wg0. Trenutačni status veze može se provjeriti pomoću naredbe wg.

OpenWRT konfiguracija

Sve što vam treba za ovu fazu nalazi se u modulu luci (OpenWRT web sučelje). Prijavite se i otvorite karticu Softver u izborniku Sustav. OpenWRT ne pohranjuje predmemoriju na stroj, tako da morate ažurirati popis dostupnih paketa klikom na zeleni gumb Ažuriraj popise. Nakon završetka, vozite u filtar luci-app-wireguard i, gledajući prozor s prekrasnim stablom ovisnosti, instalirajte ovaj paket.

U izborniku Mreže odaberite Sučelja i kliknite zeleni gumb Dodaj novo sučelje ispod popisa postojećih. Nakon unosa imena (također wg0 u mom slučaju) i odabirom WireGuard VPN protokola otvara se obrazac postavki s četiri kartice.

VPN na kućni LAN

Na kartici Opće postavke trebate unijeti privatni ključ i IP adresu pripremljenu za OpenWRT zajedno s podmrežom.

VPN na kućni LAN

Na kartici Postavke vatrozida povežite sučelje s lokalnom mrežom. Na taj će način veze s VPN-a slobodno ulaziti u lokalno područje.

VPN na kućni LAN

Na kartici Peers kliknite jedini gumb, nakon čega popunite podatke VPS poslužitelja u ažuriranom obrascu: javni ključ, Dopušteni IP (potrebno je usmjeriti cijelu VPN podmrežu na poslužitelj). U Endpoint Host i Endpoint Port unesite IP adresu VPS-a s portom koji je prethodno naveden u ListenPort direktivi. Provjerite Route Allowed IPs za rute koje treba izraditi. I svakako popunite Persistent Keep Alive, inače će tunel od VPS-a do usmjerivača biti prekinut ako je potonji iza NAT-a.

VPN na kućni LAN

VPN na kućni LAN

Nakon toga možete spremiti postavke, a potom na stranici s popisom sučelja kliknuti Spremi i primijeni. Ako je potrebno, izričito pokrenite sučelje pomoću gumba Restart.

Postavljanje pametnog telefona

Trebat će vam Wireguard klijent, dostupan je u F-Droid, Google Play i App Store. Nakon otvaranja aplikacije pritisnite znak plus i u odjeljku Sučelje unesite naziv veze, privatni ključ (javni ključ će se generirati automatski) i telefonsku adresu s maskom /32. U odjeljku Peer navedite javni ključ VPS-a, par adresa: port VPN poslužitelja kao krajnju točku i rute do VPN-a i kućne podmreže.

Podebljana snimka zaslona s telefona
VPN na kućni LAN

Kliknite na disketu u kutu, uključite je i...

Završiti

Sada možete pristupiti kućnom nadzoru, promijeniti postavke usmjerivača ili učiniti bilo što na IP razini.

Snimke zaslona iz lokalnog područja
VPN na kućni LAN

VPN na kućni LAN

VPN na kućni LAN

Izvor: www.habr.com

Dodajte komentar