TL; DR: Nainštalujem Wireguard na VPS, pripojím sa k nemu z domáceho smerovača na OpenWRT a pristupujem k domácej podsieti z telefónu.
Ak máte svoju osobnú infraštruktúru na domácom serveri alebo máte doma veľa zariadení riadených IP, pravdepodobne k nim budete chcieť mať prístup z práce, z autobusu, vlaku a metra. Najčastejšie sa pre podobné úlohy kupuje IP od poskytovateľa, po ktorom sa porty každej služby preposielajú von.
Namiesto toho som si nastavil VPN s prístupom do mojej domácej siete LAN. Výhody tohto riešenia:
- priehľadnosť: Cítim sa ako doma za každých okolností.
- jednoduchosť: nastavte ho a zabudnite, nie je potrebné premýšľať o presmerovaní každého portu.
- Cena: VPS už mám, na takéto úlohy je moderná VPN z hľadiska zdrojov takmer zadarmo.
- zabezpečenia: nič nevyčnieva, môžete nechať MongoDB bez hesla a nikto vám neukradne údaje.
Ako vždy, existujú aj nevýhody. Po prvé, budete musieť nakonfigurovať každého klienta samostatne, a to aj na strane servera. Môže to byť nepohodlné, ak máte veľké množstvo zariadení, z ktorých chcete pristupovať k službám. Po druhé, môžete mať v práci sieť LAN s rovnakým dosahom - tento problém budete musieť vyriešiť.
potrebujeme:
- VPS (v mojom prípade na Debian 10).
- Router OpenWRT.
- Phone.
- Domáci server s nejakou webovou službou na testovanie.
- Rovné ruky.
Technológia VPN, ktorú použijem, je Wireguard. Toto riešenie má aj silné a slabé stránky, nebudem ich popisovať. Pre VPN používam podsieť 192.168.99.0/24
a u mňa doma 192.168.0.0/24
.
Konfigurácia VPS
Dokonca aj najbiednejšie VPS za 30 rubľov mesačne stačí na podnikanie, ak máte to šťastie, že ho máte
Všetky operácie vykonávam na serveri ako root na čistom stroji, v prípade potreby pridám `sudo` a prispôsobím pokyny.
Wireguard sa nestihol dostať do stajne, takže spustím `apt edit-sources` a pridám backporty v dvoch riadkoch na koniec súboru:
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
Balík sa inštaluje obvyklým spôsobom: apt update && apt install wireguard
.
Ďalej vygenerujeme pár kľúčov: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
. Opakujte túto operáciu ešte dvakrát pre každé zariadenie zúčastňujúce sa obvodu. Zmeňte cestu k súborom kľúčov pre iné zariadenie a nezabudnite na bezpečnosť súkromných kľúčov.
Teraz pripravíme konfiguráciu. Vyplniť /etc/wireguard/wg0.conf
konfigurácia je umiestnená:
[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 sekcii [Interface]
sú uvedené nastavenia samotného stroja a v [Peer]
— nastavenia pre tých, ktorí sa k nemu budú pripájať. IN AllowedIPs
oddelené čiarkami sú špecifikované podsiete, ktoré budú smerované k zodpovedajúcemu peer. Z tohto dôvodu musia mať partneri „klientských“ zariadení v podsieti VPN masku /32
, všetko ostatné bude smerované serverom. Keďže domáca sieť bude smerovaná cez OpenWRT, v AllowedIPs
Pridáme domácu podsieť príslušného partnera. IN PrivateKey
и PublicKey
podľa toho rozložiť súkromný kľúč vygenerovaný pre VPS a verejné kľúče partnerov.
Na VPS zostáva len spustiť príkaz, ktorý vyvolá rozhranie a pridá ho do automatického spustenia: systemctl enable --now wg-quick@wg0
. Aktuálny stav pripojenia je možné skontrolovať pomocou príkazu wg
.
Konfigurácia OpenWRT
Všetko, čo potrebujete pre túto fázu, je v module luci (webové rozhranie OpenWRT). Prihláste sa a otvorte kartu Softvér v ponuke Systém. OpenWRT neukladá vyrovnávaciu pamäť v počítači, takže je potrebné aktualizovať zoznam dostupných balíkov kliknutím na zelené tlačidlo Aktualizovať zoznamy. Po dokončení vbehnite do filtra luci-app-wireguard
a pri pohľade na okno s krásnym stromom závislostí nainštalujte tento balík.
V menu Siete vyberte Rozhrania a kliknite na zelené tlačidlo Pridať nové rozhranie pod zoznamom existujúcich. Po zadaní mena (aj wg0
v mojom prípade) a výberom protokolu WireGuard VPN sa otvorí formulár nastavení so štyrmi kartami.
Na karte Všeobecné nastavenia musíte zadať súkromný kľúč a IP adresu pripravenú pre OpenWRT spolu s podsieťou.
Na karte Nastavenia brány firewall pripojte rozhranie k lokálnej sieti. Týmto spôsobom budú pripojenia z VPN voľne vstúpiť do miestnej oblasti.
Na karte Peers kliknite na jediné tlačidlo, po ktorom vyplňte údaje servera VPS v aktualizovanom formulári: verejný kľúč, Povolené adresy IP (na server musíte nasmerovať celú podsieť VPN). Do Endpoint Host a Endpoint Port zadajte IP adresu VPS s portom predtým špecifikovaným v direktíve ListenPort, resp. Začiarknite políčko Route Allowed IPs pre trasy, ktoré sa majú vytvoriť. A nezabudnite vyplniť Persistent Keep Alive, inak sa tunel z VPS k smerovaču preruší, ak je za NAT.
Potom môžete nastavenia uložiť a potom na stránke so zoznamom rozhraní kliknite na Uložiť a použiť. V prípade potreby explicitne spustite rozhranie pomocou tlačidla Reštartovať.
Nastavenie smartfónu
Budete potrebovať klienta Wireguard, je dostupný v
Tučná snímka obrazovky z telefónu
Kliknite na disketu v rohu, zapnite ju a...
Úprava
Teraz môžete pristupovať k monitorovaniu domácnosti, meniť nastavenia smerovača alebo robiť čokoľvek na úrovni IP.
Snímky obrazovky z miestnej oblasti
Zdroj: hab.com