VPN nella rete locale domestica

VPN nella rete locale domestica

TL;DR: sto installando Wireguard su un VPS, mi connetto a esso dal router domestico su OpenWRT, e ottengo accesso alla rete locale di casa dal telefono.

Se hai un'infrastruttura personale su un server domestico o hai molti dispositivi gestiti via IP, sicuramente vuoi avere accesso a essi dal lavoro, dall'autobus, dal treno e dalla metropolitana. Di solito, per compiti simili si acquista un IP dal provider, dopo di che le porte di ogni servizio vengono esposte all'esterno.

Invece, ho configurato una VPN con accesso alla rete locale di casa. I vantaggi di questa soluzione:

  • Trasparenza: mi sento a casa in qualsiasi circostanza.
  • Semplicità: configurato e dimenticata, non devo pensare all'esposizione di ogni porta.
  • Prezzo: ho già un VPS, per questo tipo di compiti una VPN moderna è quasi gratuita in termini di risorse.
  • Sicurezza: niente è esposto all'esterno, posso lasciare MongoDB senza password e nessuno ruberà i dati.

Come sempre, ci sono anche svantaggi. Prima di tutto, dovrai configurare ogni client separatamente, compreso lato server. Potrebbe essere scomodo con un gran numero di dispositivi da cui si desidera accedere ai servizi. In secondo luogo, potresti trovarti in un ambiente lavorativo con una rete locale che ha un intervallo di indirizzi sovrapposto — dovrai risolvere questo problema.

Ci servirà:

  1. VPS (nel mio caso su Debian 10).
  2. Router su OpenWRT.
  3. Telefono.
  4. Server domestico con qualche servizio web per il test.
  5. Mani esperte.

Come tecnologia VPN utilizzerò Wireguard. Questa soluzione ha anche punti di forza e di debolezza, non li descriverò. Per la VPN uso la subnet 192.168.99.0/24, e a casa ho 192.168.0.0/24.

Configurazione VPS

Per il lavoro basta anche il VPS più economico a 30 rubli al mese, se riesci a patturare.

Eseguo tutte le operazioni sul server come root su una macchina pulita; se necessario, aggiungi `sudo` e adatta le istruzioni.

Wireguard non è ancora disponibile nella versione stabile, quindi eseguo `apt edit-sources` e aggiungo i backport con due righe alla fine del file:

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

Il pacchetto si installa come al solito: apt update && apt install wireguard.

Poi generiamo una coppia di chiavi: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Ripeti questa operazione altre due volte per ciascun dispositivo coinvolto nello schema. Cambia i percorsi ai file con le chiavi per un altro dispositivo e non dimenticare la sicurezza delle chiavi private.

Ora prepariamo il config. Nel file /etc/wireguard/wg0.conf si inserisce il config:

[Interfaccia]
Indirizzo = 192.168.99.1/24
PortaDiAscolto = 57953
ChiavePrivata = 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

Nella sezione [Interfaccia] si specificano le impostazioni della macchina stessa, mentre in [Peer] — impostazioni per chi si connetterà ad essa. In AllowedIPs si specificano le subnet che saranno instradate al peer corrispondente. Per questo motivo, i peer dei dispositivi "client" nella subnet VPN devono avere una maschera /32, tutto il resto sarà instradato dal server. Poiché la rete domestica sarà instradata tramite OpenWRT, in AllowedIPs aggiungiamo la subnet domestica al peer corrispondente. In PrivateKey e PublicKey distribuite la chiave privata generata per VPS e le chiavi pubbliche dei peer rispettivamente.

Sulla VPS resta solo da eseguire il comando che alzerà l'interfaccia e la aggiungerà all'avvio automatico: systemctl enable --now wg-quick@wg0. Lo stato attuale delle connessioni può essere verificato con il comando wg.

Configurazione OpenWRT

Tutto ciò di cui hai bisogno per questa fase è nel modulo luci (interfaccia web OpenWRT). Accedi e nel menu Sistema apri la scheda Software. OpenWRT non memorizza cache sulla macchina, quindi è necessario aggiornare l'elenco dei pacchetti disponibili, facendo clic sul pulsante verde Aggiorna elenchi. Al termine, nel filtro digita luci-app-wireguard e, guardando la finestra con il bel grafo delle dipendenze, installi questo pacchetto.

Nel menu Reti selezioni Interfacce e premi il pulsante verde Aggiungi nuova interfaccia sotto l'elenco delle interfacce già esistenti. Dopo aver inserito il nome (anche wg0 nel mio caso) e selezionando il protocollo WireGuard VPN, si apre un modulo di configurazione con quattro schede.

VPN nella rete locale domestica

Nella scheda Impostazioni generali è necessario inserire la chiave privata e l'indirizzo IP preparato per OpenWRT insieme alla subnet.

VPN nella rete locale domestica

Nella scheda Impostazioni firewall si introduce l'interfaccia nella rete locale. In questo modo le connessioni dalla VPN accederanno liberamente alla rete locale.

VPN nella rete locale domestica

Nella scheda Peer premi l'unico pulsante, dopodiché nella forma aggiornata compila i dati del server VPS: chiave pubblica, Allowed IPs (tutta la subnet VPN deve essere instradata verso il server). In Endpoint Host e Endpoint Port inserisci rispettivamente l'indirizzo IP della VPS e la porta precedentemente indicata nella direttiva ListenPort. Seleziona Route Allowed IPs affinché vengano creati i percorsi. E compila obbligatoriamente Persistent Keep Alive, altrimenti il tunnel da VPS al router si interromperà se quest'ultimo è dietro un NAT.

VPN nella rete locale domestica

VPN nella rete locale domestica

Dopo di che puoi salvare le impostazioni e poi nella pagina con l'elenco delle interfacce premere Salva e applica. Se necessario, avvia esplicitamente l'interfaccia premiendo il pulsante Riavvia.

Configurare lo smartphone

Avrai bisogno del client Wireguard, disponibile su F-Droid, Google Play e App Store. Aprendo l'app, premi il segno più e nella sezione Interfaccia inserisci il nome della connessione, la chiave privata (la chiave pubblica verrà generata automaticamente) e l'indirizzo del telefono con la maschera /32. Nella sezione Peer indica la chiave pubblica VPS, coppia indirizzo: porta del server VPN come Endpoint e le rotte verso la rete VPN e quella domestica.

Screenshot in grassetto dal telefono
VPN nella rete locale domestica

Clicchi sulla dischetta nell'angolo, attivi e…

Fine

Ora puoi accedere al monitoraggio domestico, modificare le impostazioni del router o fare qualsiasi cosa a livello IP.

Screenshot dalla rete locale
VPN nella rete locale domestica

VPN nella rete locale domestica

VPN nella rete locale domestica

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster