Paradossalmente, la facilità d’uso è alta se si configura usando il terminale, mentre è molto bassa se si usa NetworkManager perché non ci sono indicazioni precise se alcuni parametri sono mancanti o errati, semplicemente il pulsante “Salva” viene disabilitato, inoltre nella versione KDE, il nome proposto automaticamente per la connessione viene usato anche per l’interfaccia, ma non è valido e quando si preme il pulsante salva, viene visualizzata una notifica di errore, la connessione non viene creata e si perdono tutti i dati inseriti.
La configurazione si basa sulla creazione di coppie di chiavi pubblica/privata e sull’impostazione di indirizzi IP statici e di altri parametri relativi alla connessione.
Installazione
L’installazione è identica sia per il client, sia per il server.
È necessario installare il programma a riga di comando «wg
» (che verrà usato per creare la coppia di chiavi pubblica/privata) e il modulo del kernel «wireguard.ko
» (che verrà usato per creare il device di rete).
In Debian/Min/Ubuntu entrambe le operazioni si fanno installando il metapacchetto «wireguard
»:sudo apt install wireguard
A partire da Debian 11, il driver del kernel è già installato quindi il comando precedente installa solamente wireguard-tools
.
Generazione delle chiavi
La generazione delle chiavi è identica sia per il client, sia per il server.
In genere, i seguenti comandi dovranno essere eseguiti da root sul server e dall’utente normale sul client:mkdir wireguard
>
cd wireguard
touch private.key
chmod 600 private.key
wg genkey >private.key
wg pubkey <private.keypublic.key
La chiave pubblica del client deve essere comunicata all’amministratore della VPN e deve essere inserita solo nella configurazione del server (ad esempio in /etc/wireguard/wg0.conf
), mentre la chiave pubblica del server deve essere comunicata a tutti i client ed essere inserita nella configurazione di ognuno.
La chiave privata non deve essere comunicata a nessuno in nessun caso (appunto perché è privata) e deve essere inserita solo nella configurazione del sistema che l’ha generata (ad esempio, rispettivamente, in /etc/wireguard/wg0.conf
sul server e in NetworkManager sul client).
Configurazione lato client (NetworkManager Gtk)
In questa versione di NetworkManager, il nome della connessione può essere diverso dal nome dell’interfaccia.
Nella scheda”WireGuard” è necessario compilare la casella “Chiave privata” e selezionare la casella “Aggiungi instradamenti nodo” (è una traduzione errata perché possono essere più nodi quindi serve il plurale “nodi”) che fa riferimento agli “IP consentiti” inseriti nell’elenco sottostante, poi premere il pulsante “Aggiungi” per aprire la finestra che permette di aggiungere i parametri del server.
I parametri del server devono essere forniti dall’amministratore del server e si inseriscono premendo il pulsante “Add” che apre la finestra seguente:
Siccome si desidera che questo client riceva dati dal server o da altri client in qualsiasi momento, si inserisce un valore diverso da zero nella casella “Keepalive persistente” (il valore consigliato nel suggerimento della casella è 25) e si inserisce un indirizzo /24 nella casella “IP consentiti”, in alternativa si possono inserire gli indirizzi esatti con cui si desidera comunicare (questa casella serve per aggiornare automaticamente la tabella di routing).
La scheda “Impostazioni IPv4” permette di aggiungere i parametri del client, forniti dall’amministratore della VPN.
Si ripete una configurazione simile per IPv6:
La configurazione è terminata per cui si può premere il pulsante “Salva” e attivare la connessione tramite l’applet di NetworkManager:
Configurazione lato client (NetworkManager KDE)
In questa versione di NetworkManager, il nome della connessione viene usato anche come nome dell’interfaccia, quindi deve essere wg0 o simile, non può contenere spazi.
È necessario compilare la casella “Chiave privata” e selezionare la casella “Instradamento automatico controparti”:
Premere il pulsante “Controparti…” per inserire i parametri del server.
I parametri del server devono essere forniti dall’amministratore del server e si inseriscono nella finestra seguente:
Anche in questo caso, se si desidera che questo client riceva dati dal server o da altri client in qualsiasi momento, si inserisce il valore 25 nella casella “Keepalive persistente”.
Questa VPN deve essere usata solo per l’accesso remoto a una rete privata, quindi se si desidera continuare a navigare su Internet quando questa VPN è attiva, è necessario selezionare la casella “Utilizza solo per le risorse su questa connessione”:
Si ripete una configurazione simile per IPv6:
Da questo momento, la connessione può essere attivata tramite l’icona dell’applet NetworkManager che si trova insieme ad altre icone nel vassoio di sistema vicino all’orologio.
La configurazione del server è spiegata in un articolo separato.
© CC-BY-SA Gruppo Utenti Linux Livorno