Utilizza strumenti open source per configurare una VPN privata
Utilizza OpenWRT e Wireguard per creare la tua rete privata virtuale sul tuo router.
Spostarsi da un luogo all'altro tramite una rete di computer può essere complicato. Oltre a conoscere l'indirizzo giusto e aprire le porte giuste, c'è la questione della sicurezza. Per Linux, SSH è un'impostazione predefinita popolare e, sebbene ci sia molto che puoi fare con SSH, è ancora "solo" una shell sicura (questo è ciò che SSH rappresenta, infatti). Un protocollo più ampio per il traffico crittografato è VPN, che crea un rete privata virtuale unica tra due punti. Con esso, puoi accedere a un computer su un'altra rete e utilizzare tutti i suoi servizi (condivisioni di file, stampanti e così via) proprio come se fossi fisicamente seduto nella stessa stanza, e ogni bit di dati viene crittografato dal punto indicare.
Normalmente, per rendere possibile una connessione VPN, i gateway di ciascuna rete devono accettare il traffico VPN e alcuni computer sulla rete di destinazione devono essere in ascolto del traffico VPN. Tuttavia, è possibile eseguire il firmware del router che esegue un server VPN, consentendoti di connetterti alla rete di destinazione senza doversi preoccupare di inoltrare porte o pensare alla topografia interna. Il mio firmware preferito è OpenWrt e in questo articolo mostro come configurarlo e come abilitare la VPN su di esso.
Cos'è OpenWrt?
OpenWrt è un progetto open source che utilizza Linux per indirizzare i dispositivi incorporati. Esiste da più di 15 anni e ha una comunità ampia e attiva.
Esistono molti modi per utilizzare OpenWrt, ma il suo scopo principale è nei router. Fornisce un filesystem completamente scrivibile con gestione dei pacchetti e, poiché è open source, puoi vedere e modificare il codice e contribuire all'ecosistema. Se desideri avere maggiore controllo sul tuo router, questo è il sistema che desideri utilizzare.
OpenWrt supporta molti router, inclusi marchi famosi come Cisco, ASUS, MikroTik, Teltonika Networks, D-Link, TP-link, Buffalo, Ubiquiti e molti altri.
Cos'è Wireguard?
Wireguard è un software di rete privata virtuale (VPN) open source che è molto più veloce, semplice e sicuro rispetto ad altre opzioni come OpenVPN. Utilizza la crittografia all'avanguardia: ChaCha20 per la crittografia simmetrica; Curva 25519 (che utilizza curve ellittiche) per l'accordo di chiave; e BLAKE2 per l'hashing. Questi algoritmi sono progettati in modo efficiente sui sistemi embedded. WIreguard è disponibile anche su un'ampia varietà di piattaforme di sistemi operativi.
Prerequisiti
Per questo progetto avrai bisogno di:
- Teltonika RUT955 o un altro router supportato da OpenWrt
- Un indirizzo IP pubblico per connettersi alla tua VPN dall'esterno della rete
- Un telefono Android
Installa OpenWrt
Per iniziare, scarica l'immagine OpenWrt per il tuo router. Utilizza il selettore del firmware per verificare se OpenWrt supporta il tuo router e scarica il firmware. Inserisci il modello del tuo router e mostrerà le tue opzioni:
(Lukas Janenas, CC BY-SA 4.0)
Seleziona la versione del firmware che desideri scaricare utilizzando l'input a discesa sul lato destro della casella di ricerca.
Scarica l'immagine della fabbrica.
(Lukas Janenas, CC BY-SA 4.0)
Molti router consentono di eseguire il flashing di firmware non autorizzato dall'interfaccia web, ma Teltonika Networks no. Per eseguire il flashing del firmware OpenWrt su un router come questo, è necessario utilizzare il bootloader. Per fare ciò, segui questi passaggi:
- Scollega il cavo di alimentazione del router.
- Tieni premuto il pulsante Ripristina.
- Collega il cavo di alimentazione del router.
- Continua a tenere premuto il pulsante di ripristino per 5-8 secondi dopo aver collegato il cavo di alimentazione.
- Imposta l'indirizzo IP del computer su
192.168.1.15
e la maschera di rete su255.255.255.0
. - Collega il router e il computer con un cavo Ethernet su una porta LAN.
- Apri un browser web e inserisci
192.168.1.1:/index.html
. - Carica e installa il firmware.
Il processo di flashing può richiedere fino a tre minuti. Successivamente, dovresti essere in grado di raggiungere l'interfaccia web del router inserendo 192.168.1.1
in un browser. Non esiste una password impostata per impostazione predefinita.
(Lukas Janenas, CC BY-SA 4.0)
Configurare la connettività di rete
La connettività di rete è un requisito. Se il tuo provider di servizi Internet (ISP) assegna automaticamente il tuo indirizzo IP utilizzando DHCP, devi solo collegare il cavo Ethernet alla porta WAN del router.
Se devi assegnare manualmente l'indirizzo IP, vai a Rete → Interfacce. Seleziona Modifica per modificare la tua interfaccia WAN. Nel campo Protocollo, seleziona Indirizzo statico e seleziona Cambia protocollo.
(Lukas Janenas, CC BY-SA 4.0)
Nel campo Indirizzo IPv4, inserisci l'indirizzo del tuo router. Imposta la maschera di rete IPv4 in modo che corrisponda alla sottorete della tua rete; inserisci l'indirizzo del gateway IPv4 che utilizzerai per connetterti alla rete; e inserisci l'indirizzo del server DNS nel campo Utilizza server DNS personalizzati. Salva la configurazione.
Questo è tutto! Hai configurato correttamente la tua interfaccia WAN per ottenere la connettività di rete.
Installa i pacchetti necessari
Il firmware non include molti pacchetti per impostazione predefinita, ma OpenWrt ha un gestore di pacchetti con una selezione di pacchetti che puoi installare. Passa a Sistema → Software e aggiorna il tuo gestore pacchetti selezionando Aggiorna elenchi…
(Lukas Janenas, CC BY-SA 4.0)
Nell'input Filtro, digita Wireguard e attendi finché il sistema non trova tutti i pacchetti che includono questa parola chiave. Trova e installa il pacchetto denominato luci-app-wireguard.
(Lukas Janenas, CC BY-SA 4.0)
Questo pacchetto include un'interfaccia web per configurare Wireguard e installa tutte le dipendenze necessarie affinché Wireguard funzioni.
Se ricevi un avviso che un pacchetto manca e non può essere trovato nei repository prima di installare il pacchetto Wireguard, ignoralo e procedi.
Successivamente, trova e installa il pacchetto denominato luci-app-ttyd. Questo verrà utilizzato per accedere al terminale in seguito.
Dopo aver installato questi pacchetti, riavvia il router affinché le modifiche abbiano effetto.
Configura l'interfaccia Wireguard
Successivamente, crea l'interfaccia Wireguard. Passa a Rete → Interfacce e seleziona Aggiungi nuova interfaccia… in basso a sinistra. Nella finestra pop-up, inserisci il nome desiderato per l'interfaccia, scegli Wireguard VPN dall'elenco a discesa e seleziona Crea interfaccia in basso a destra.
(Lukas Janenas, CC BY-SA 4.0)
Nella nuova finestra pop-up, seleziona Genera chiave per generare una chiave privata per l'interfaccia Wireguard. Nel campo Porta di ascolto, inserisci la porta desiderata. Utilizzerò la porta Wireguard predefinita, 51820. Nel campo Indirizzi IP, assegna l'indirizzo IP che verrà utilizzato per l'interfaccia Wireguard. In questo esempio utilizzo 10.0.0.1/24
. Il numero 24 indica la dimensione della mia sottorete.
(Lukas Janenas, CC BY-SA 4.0)
Salvare la configurazione e riavviare l'interfaccia.
Passa a Servizi → Terminale, accedi alla shell e inserisci il comando wg show
. Vedrai alcune informazioni sulla tua interfaccia Wiregaurd, inclusa la sua chiave pubblica. Copia la chiave pubblica: ti servirà per creare peer in seguito.
(Lukas Janenas, CC BY-SA 4.0)
Configura il firewall
Passa a Rete → Firewall e seleziona la scheda Regole del traffico. Nella parte inferiore della pagina, seleziona Aggiungi. Nel campo Nome della finestra pop-up, assegna un nome alla regola, ad esempio Consenti-wg. Successivamente, modifica la Zona di destinazione da Lan a Dispositivo e imposta la Porta di destinazione su 51820.
(Lukas Janenas, CC BY-SA 4.0)
Salva la configurazione.
Configura Wireguard su un telefono Android
Installa l'app Wireguard sul tuo telefono da Google Play. Una volta installata, apri l'app e crea una nuova interfaccia da zero. Nel campo Nome, inserisci il nome che desideri utilizzare per la tua interfaccia. Nel campo Chiave privata, premi l'icona della doppia freccia a destra per generare una coppia di chiavi. Avrai bisogno della chiave pubblica dall'alto per creare un peer tra il tuo telefono e il router. Nel campo Indirizzi, assegna l'indirizzo IP che utilizzerai per raggiungere il telefono tramite VPN. Utilizzerò 10.0.0.2/24
. In Porta di ascolto, inserisci una porta; Utilizzerò nuovamente la porta predefinita.
(Lukas Janenas, CC BY-SA 4.0)
Salva la configurazione.
Per aggiungere un peer alla configurazione, seleziona Aggiungi peer. Nel campo Chiave pubblica, inserisci la chiave pubblica Wireguard del tuo router. Nel campo Endpoint, inserisci l'indirizzo IP pubblico e la porta del router separati da due punti, ad esempio 12.34.56.78:51820
. Nel campo IPs consentiti, inserisci gli indirizzi IP che desideri raggiungere tramite l'interfaccia Wireguard. (È possibile inserire l'indirizzo IP dell'interfaccia VPN e l'indirizzo dell'interfaccia LAN del router.) Gli indirizzi IP devono essere separati da virgole. È inoltre possibile definire la dimensione della sottorete.
(Lukas Janenas, CC BY-SA 4.0)
Salva la configurazione.
C'è ancora un ultimo passaggio nella configurazione: aggiungere un peer sul router.
Aggiungi un peer sul router
Passa a Rete → Interfacce e seleziona la tua interfaccia Wireguard. Vai alla scheda Peer e seleziona Aggiungi peer. Nel campo Descrizione, inserisci il nome del peer. Nel campo Chiave pubblica, inserisci la chiave pubblica dell'interfaccia Wireguard del tuo telefono e nel campo IP consentiti, inserisci l'indirizzo IP dell'interfaccia Wireguard del tuo telefono. Seleziona la casella di controllo Instradamento IP consentiti.
(Lukas Janenas, CC BY-SA 4.0)
Salvare la configurazione e riavviare l'interfaccia.
Testare la configurazione
Apri un browser web sul tuo telefono. Nella barra dell'URL, inserisci l'indirizzo IP 10.0.0.1
o 192.168.1.1
. Dovresti essere in grado di raggiungere il sito web del tuo router.
(Lukas Janenas, CC BY-SA 4.0)
La tua VPN personale
Al giorno d'oggi vengono pubblicizzati molti servizi VPN, ma c'è molto da dire sul possedere e controllare la propria infrastruttura, soprattutto quando tale infrastruttura esiste solo per aumentare la sicurezza. Non è necessario fare affidamento su qualcun altro per fornirti una connessione sicura ai tuoi dati. Utilizzando OpenWrt e Wireguard, puoi avere la tua soluzione VPN open source.