VPN către LAN de acasă

VPN către LAN de acasă

TL; DR: instalez Wireguard pe un VPS, mă conectez la acesta de pe routerul meu de acasă pe OpenWRT și accesez subrețeaua de acasă de pe telefon.

Dacă vă păstrați infrastructura personală pe un server de acasă sau aveți multe dispozitive controlate prin IP acasă, atunci probabil că doriți să aveți acces la ele de la serviciu, din autobuz, tren și metrou. Cel mai adesea, pentru sarcini similare, IP-ul este achiziționat de la furnizor, după care porturile fiecărui serviciu sunt redirecționate spre exterior.

În schimb, am configurat un VPN cu acces la LAN-ul meu de acasă. Avantajele acestei soluții:

  • transparență: Mă simt ca acasă în orice împrejurare.
  • Ușura: setați-l și uitați-l, nu trebuie să vă gândiți la redirecționarea fiecărui port.
  • Preț: Am deja un VPS; pentru astfel de sarcini, un VPN modern este aproape gratuit din punct de vedere al resurselor.
  • Безопасность: nimic nu iese în evidență, puteți părăsi MongoDB fără parolă și nimeni nu vă va fura datele.

Ca întotdeauna, există dezavantaje. În primul rând, va trebui să configurați fiecare client separat, inclusiv pe partea serverului. Poate fi incomod dacă aveți un număr mare de dispozitive de pe care doriți să accesați servicii. În al doilea rând, este posibil să aveți o rețea LAN cu aceeași rază la locul de muncă - va trebui să rezolvați această problemă.

Avem nevoie de:

  1. VPS (în cazul meu pe Debian 10).
  2. Router OpenWRT.
  3. Numărul de telefon.
  4. Server de acasă cu un serviciu web pentru testare.
  5. Brațele drepte.

Tehnologia VPN pe care o voi folosi este Wireguard. Această soluție are și puncte forte și puncte slabe, nu le voi descrie. Pentru VPN folosesc o subrețea 192.168.99.0/24, și la mine acasă 192.168.0.0/24.

Configurare VPS

Chiar și cel mai mizerabil VPS pentru 30 de ruble pe lună este suficient pentru afaceri, dacă ai norocul să ai unul smulge.

Efectuez toate operațiunile pe server ca root pe o mașină curată; dacă este necesar, adaugă `sudo` și adaptez instrucțiunile.

Wireguard nu a avut timp să fie adus în grajd, așa că am rulat `apt edit-sources` și adaug backport-uri în două rânduri la sfârșitul fișierului:

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

Pachetul este instalat în modul obișnuit: apt update && apt install wireguard.

În continuare, generăm o pereche de chei: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Repetați această operațiune de încă două ori pentru fiecare dispozitiv care participă la circuit. Schimbați calea către fișierele cheie pentru alt dispozitiv și nu uitați de securitatea cheilor private.

Acum pregătim configurația. La dosar /etc/wireguard/wg0.conf config este plasat:

[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

In sectiunea [Interface] sunt indicate setările mașinii în sine, iar în [Peer] — setări pentru cei care se vor conecta la el. ÎN AllowedIPs separate prin virgule, sunt specificate subrețelele care vor fi direcționate către peer-ul corespunzător. Din acest motiv, colegii dispozitivelor „client” din subrețeaua VPN trebuie să aibă o mască /32, totul va fi rutat de server. Deoarece rețeaua de acasă va fi direcționată prin OpenWRT, în AllowedIPs Adăugăm subrețeaua de acasă a peer-ului corespunzător. ÎN PrivateKey и PublicKey descompuneți cheia privată generată pentru VPS și cheile publice ale colegilor în consecință.

Pe VPS, tot ce rămâne este să rulați comanda care va afișa interfața și să o adăugați la autorun: systemctl enable --now wg-quick@wg0. Starea curentă a conexiunii poate fi verificată cu comanda wg.

Configurare OpenWRT

Tot ce aveți nevoie pentru această etapă se află în modulul luci (interfață web OpenWRT). Conectați-vă și deschideți fila Software din meniul System. OpenWRT nu stochează un cache pe mașină, așa că trebuie să actualizați lista de pachete disponibile făcând clic pe butonul verde Actualizare liste. După finalizare, introduceți-vă în filtru luci-app-wireguard și, privind la fereastra cu un arbore de dependență frumos, instalați acest pachet.

În meniul Rețele, selectați Interfețe și faceți clic pe butonul verde Adăugare interfață nouă de sub lista celor existente. După introducerea numelui (de asemenea wg0 în cazul meu) și selectând protocolul WireGuard VPN, se deschide un formular de setări cu patru file.

VPN către LAN de acasă

În fila Setări generale, trebuie să introduceți cheia privată și adresa IP pregătite pentru OpenWRT împreună cu subrețeaua.

VPN către LAN de acasă

În fila Setări firewall, conectați interfața la rețeaua locală. În acest fel, conexiunile de la VPN vor intra liber în zona locală.

VPN către LAN de acasă

În fila Peers, faceți clic pe singurul buton, după care completați datele serverului VPS în formularul actualizat: cheie publică, IP-uri permise (trebuie să direcționați întreaga subrețea VPN către server). În Endpoint Host și Endpoint Port, introduceți adresa IP a VPS-ului cu portul specificat anterior în directiva ListenPort, respectiv. Verificați IP-urile de rută permise pentru rutele care urmează să fie create. Și asigurați-vă că completați Persistent Keep Alive, altfel tunelul de la VPS la router va fi rupt dacă acesta din urmă se află în spatele NAT.

VPN către LAN de acasă

VPN către LAN de acasă

După aceasta, puteți salva setările, apoi pe pagina cu lista de interfețe, faceți clic pe Salvare și aplicați. Dacă este necesar, lansați explicit interfața cu butonul Restart.

Configurarea unui smartphone

Veți avea nevoie de clientul Wireguard, acesta este disponibil în F-Droid, Google Play, și App Store. După deschiderea aplicației, apăsați semnul plus și în secțiunea Interfață introduceți numele conexiunii, cheia privată (cheia publică va fi generată automat) și adresa de telefon cu masca /32. În secțiunea Peer, specificați cheia publică VPS, o pereche de adrese: portul serverului VPN ca punct final și rutele către VPN și subrețeaua de acasă.

Captură de ecran îndrăzneață de pe telefon
VPN către LAN de acasă

Faceți clic pe discheta din colț, porniți-o și...

Termina

Acum puteți accesa monitorizarea acasă, puteți modifica setările routerului sau puteți face orice la nivel de IP.

Capturi de ecran din zona locală
VPN către LAN de acasă

VPN către LAN de acasă

VPN către LAN de acasă

Sursa: www.habr.com

Adauga un comentariu