Come configurare Wireguard VPN su Linux
Wireguard è un potente demone di rete privata virtuale (VPN) open source che può essere eseguito sia su dispositivi desktop che mobili. Fornisce un’alternativa veloce e leggera alle soluzioni VPN tradizionali come IPsec e OpenVPN. Qui, ti mostriamo come installare Wireguard e creare una semplice configurazione VPN utilizzando tre macchine Linux.
Perché utilizzare Wireguard come soluzione VPN?
Uno dei maggiori punti di forza di Wireguard è che è un demone VPN veloce e leggero. A differenza delle soluzioni tradizionali, Wireguard non aggiunge molto overhead alla tua rete. Ciò si traduce in una latenza inferiore e un elevato throughput complessivo sui tuoi nodi.
Un’altra caratteristica fondamentale di Wireguard è che è un modulo all’interno del kernel Linux. Ciò gli consente di funzionare senza occupare risorse di sistema aggiuntive dal computer, rendendolo una scelta ideale per l’implementazione su dispositivi SOC e di fascia bassa.
Infine, Wireguard sfrutta anche i moderni standard crittografici e le pratiche di sviluppo. Ha inoltre avuto molteplici verifiche formali, che confermano la correttezza del codice di Wireguard, le garanzie di sicurezza e la capacità di resistere agli attacchi.
Ottenere Wireguard
Il primo passo per configurare Wireguard su Linux è scaricare i suoi strumenti principali dal repository della tua distribuzione. Questo ti consente di controllare il modulo kernel Wireguard integrato usando i comandi userspace.
Per installare gli strumenti principali in Ubuntu e Debian, eseguire il seguente comando:
In Fedora, puoi utilizzare il dnf
gestore dei pacchetti:
Per Arch Linux, puoi eseguire pacman
per ottenere gli strumenti principali di Wireguard:
Conferma di aver installato correttamente gli strumenti Wireguard caricando la relativa schermata di aiuto:
Impostazione del server Wireguard
Presupposto: questo articolo presuppone che tu stia installando il server Wireguard su un sistema Linux con un indirizzo IPv4 accessibile al pubblico. Le istruzioni funzioneranno comunque su un server dietro un NAT, ma non troveranno nodi al di fuori della sua subnet.
Con il toolkit Wireguard core sulle tue macchine Linux, ora puoi configurare il nodo server della tua VPN. Questo fungerà da gateway Internet per i tuoi nodi client nella rete.
Inizia andando alla directory di configurazione di Wireguard e imposta i permessi predefiniti su “solo root”:
Genera la chiave pubblica e privata per il tuo server Wireguard:
Crea il file di configurazione del tuo server utilizzando il tuo editor di testo preferito:
Incolla il seguente blocco di codice all’interno del file di configurazione del server:
Apri una nuova sessione di terminale, quindi stampa la chiave privata Wireguard del tuo server:
Copia la chiave privata del tuo server negli appunti.
Sostituisci il valore della PrivateKey
variabile con la chiave presente negli appunti.
Trova l’interfaccia di rete che ha accesso a Internet utilizzando il ip
comando:
Imposta il valore del -o
flag su entrambe PostUp
le PostDown
variabili e sull’interfaccia con accesso a Internet, quindi salva il file di configurazione.
Apri il file “/etc/sysctl.conf” del server utilizzando il tuo editor di testo preferito:
Scorrere verso il basso fino alla riga che contiene net.ipv4.ip_forward=1
, quindi rimuovere il segno cancelletto (#) davanti.
Ricarica la nuova configurazione sysctl eseguendo: sudo sysctl -p
.
Impostazione e connessione del client Wireguard
A questo punto, hai un server Wireguard correttamente configurato senza peer. Per utilizzarlo, devi configurare e connettere il tuo primo client Wireguard.
Accedi alla directory di configurazione Wireguard del tuo sistema client e imposta le autorizzazioni predefinite:
Genera la coppia di chiavi Wireguard del tuo client utilizzando il seguente comando:
Crea il file di configurazione Wireguard del client utilizzando il tuo editor di testo preferito:
Incolla il seguente blocco di codice all’interno del file di configurazione del tuo client:
Sostituisci la PrivateKey
variabile con la chiave privata del tuo cliente.
Apri la sessione terminale del tuo server Wireguard, quindi stampa la sua chiave pubblica:
Imposta il valore della PublicKey
variabile sulla chiave pubblica del tuo server.
Sostituisci la Endpoint
variabile con l’indirizzo IP del tuo server Wireguard.
Salva il tuo file di configurazione, quindi usa il wg-quick
comando per avviare il client Wireguard:
Collegamento del server Wireguard al client
Vai alla sessione terminale del tuo server Wireguard, quindi apri il suo file di configurazione:
Incolla il seguente blocco di codice dopo la [Interface]
sezione:
Imposta la PublicKey
variabile sulla chiave pubblica del tuo client Wireguard.
Salvare il file di configurazione, quindi eseguire il seguente comando per avviare il servizio Wireguard sul server:
Aggiungere un secondo client al server
Una caratteristica fondamentale di ogni servizio VPN è che può collegare più macchine da reti diverse. Questo è utile se hai computer in posizioni diverse o vuoi ospitare un server di gioco privato per i tuoi amici.
Per farlo in Wireguard, devi creare un file di configurazione per una nuova interfaccia VPN sul tuo server. Il modo più semplice per farlo è copiare la configurazione del tuo server attuale e dare alla copia un nuovo nome:
Apri il tuo nuovo file di configurazione utilizzando il tuo editor di testo preferito:
Imposta la ListenPort
variabile su 60102. In questo modo si eviteranno collisioni di porte tra le interfacce VPN wg0 e wg1.
Vai alla [Peer]
sezione e cambia la AllowedIPs
variabile da “10.0.0.2/32” a “10.0.0.3/32”, quindi salva il tuo file di configurazione.
Configurazione del secondo client Wireguard
Accedi al tuo secondo computer, quindi prepara la directory di configurazione di Wireguard:
Genera una nuova coppia di chiavi Wireguard utilizzando il seguente comando:
Crea un nuovo file di configurazione utilizzando il tuo editor di testo preferito:
Incolla il seguente blocco di codice all’interno del tuo nuovo file di configurazione:
Imposta la PrivateKey
variabile sulla chiave privata della seconda macchina, quindi modifica la PublicKey
variabile sulla chiave pubblica del tuo server.
Sostituisci la variabile Endpoint con l’indirizzo IP del tuo server, seguito da “:60102.”
Salva il file di configurazione, quindi avvia il client Wireguard della seconda macchina:
Collegamento del secondo client al server Wireguard
Accedi nuovamente al tuo server Wireguard, quindi apri la configurazione dell’interfaccia VPN per il tuo secondo client:
Scorri verso il basso fino alla [Peer]
sezione, quindi sostituisci la PublicKey
variabile con la chiave pubblica del tuo secondo client.
Salva il tuo file di configurazione, quindi avvia la seconda interfaccia VPN utilizzando il comando wg-quick:
Verifica che il primo e il secondo client Wireguard vengano visualizzati correttamente sul tuo server eseguendo wg
.
Test della rete Wireguard
Con sia il server che i client sulla rete Wireguard, ora puoi testare la connettività e la latenza tra i tuoi nodi. Per farlo, assicurati di avere installato sul tuo sistema gli strumenti di diagnostica di rete:
In Fedora, è sufficiente eseguire l’installazione curl
poiché è già dotato di strumenti di rete pronti all’uso:
Per Arch Linux, puoi usare pacman
per installare gli strumenti di rete e curl
:
Inizia tracciando il percorso di un pacchetto tra due client. Quanto segue mostrerà come un pacchetto IP passa da “10.0.0.2” a “10.0.0.3”:
Controlla se uno dei tuoi nodi può accedere alla rete Internet pubblica eseguendo il ping di un indirizzo IP comune:
Infine, verifica che i tuoi nodi condividano lo stesso indirizzo IP pubblico con il tuo server Wireguard:
Imparare a configurare una rete Wireguard su Linux è il primo passo per esplorare l’affascinante mondo delle VPN. Fai un’immersione profonda e dai un’occhiata alle nostre scelte per i migliori provider VPN incentrati sulla sicurezza che puoi ottenere oggi.
Crediti immagine: Kari Shea tramite Unsplash e Wikimedia Commons . Tutte le modifiche e gli screenshot sono di Ramces Red.
Lascia un commento