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:
- VPS (u mom slučaju na Debianu 10).
- OpenWRT ruter.
- Telefonski broj.
- Kućni server s nekim web servisom za testiranje.
- 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
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.
Na kartici Opće postavke trebate unijeti privatni ključ i IP adresu pripremljenu za OpenWRT zajedno s podmrežom.
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.
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.
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
Podebljana snimka zaslona s telefona
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
Izvor: www.habr.com