WireGuard VPN#

WireGuard è una tecnologia VPN (Virtual Private Network) moderna che utilizza crittografia all’avanguardia. È progettata per essere più veloce, semplice e funzionale rispetto a IPsec e OpenVPN. WireGuard è una soluzione VPN sicura, veloce e facile da configurare che utilizza crittografia di ultima generazione. È progettata per essere più semplice da configurare rispetto a OpenVPN e per offrire una superficie di attacco ridotta.

NethSecurity fornisce un server e un client WireGuard che possono essere configurati dall’interfaccia web.

Funzionalità:

  • È possibile eseguire simultaneamente più istanze del server WireGuard

  • Ogni istanza opera nella propria zona di rete isolata

  • Assegnazione di indirizzo IP statico per ogni peer (account client)

  • Configurazione client disponibile come file di testo o codice QR

  • Connessioni site-to-site (net2net) supportate

  • Sicurezza avanzata con chiavi pre-condivise opzionali

  • Funzionalità di importazione dei file di configurazione standard WireGuard

Configurazione del server#

È possibile creare più istanze del server WireGuard, ciascuna con la propria zona di rete isolata. NethSecurity aprirà automaticamente le porte firewall necessarie per consentire le connessioni in ingresso al server WireGuard e creerà una zona VPN per permettere la gestione di come il traffico viene instradato tra le zone.

Al contrario del server OpenVPN, non ci sono legami con il database utenti; gli account (peer) vengono creati e gestiti direttamente all’interno dell’interfaccia WireGuard.

Per creare un server WireGuard, fare clic su Aggiungi server, quindi compilare il modulo con la configurazione desiderata. I campi sono i seguenti:

  • Stato: abilitare o disabilitare l’istanza del server WireGuard

  • Nome: il nome dell’istanza del server WireGuard; questo non è il nome dell’interfaccia di rete, che verrà creata automaticamente come wgX, dove X è un numero

  • Rete VPN: il CIDR di rete che verrà utilizzato dal server WireGuard; il server otterrà automaticamente il primo IP della rete. Assicurarsi che questa rete non si sovrapponga a nessuna rete esistente.

  • Porta UDP: la porta su cui il server WireGuard ascolta le connessioni in ingresso

  • Public endpoint: l’indirizzo IP pubblico o FQDN del server

Nelle impostazioni avanzate, è possibile configurare opzioni aggiuntive:

  • MTU: per impostare manualmente l’MTU dell’interfaccia WireGuard

  • Server DNS: per impostare server DNS personalizzati che verranno inviati ai client, utile per evitare perdite DNS

Dopo aver creato il server, è possibile aggiungere nuovi client (peer) direttamente dall’interfaccia di WireGuard, facendo clic su Aggiungi peer e compilando il modulo come segue:

  • Stato: abilitare o disabilitare il peer

  • Name: il nome del peer

  • Reserved IP: l’indirizzo IP statico che verrà assegnato al peer; deve essere all’interno della rete VPN e verrà precompilato con il prossimo IP disponibile

  • Chiave pre-condivisa: se abilitato, una chiave pre-condivisa verrà creata automaticamente per aumentare la sicurezza

  • Instrada tutto il traffico: se abilitato, quando il client si connette, invierà tutto il traffico al server

  • Reti del server: a quali reti il peer può accedere; tutte le reti LAN saranno aggiunte automaticamente

  • Peer networks: reti raggiungibili dal lato peer. Compilare sempre questo campo quando si desidera creare un tunnel net2net.

Nota

È possibile creare una connessione client-to-site (Road Warrior) lasciando vuoti i campi Peer networks. In questo modo il client potrà accedere alle reti del server.

Una volta che il peer è stato salvato, è possibile scaricare il file di configurazione in formato testo oppure come codice QR utilizzando il menu sul lato destro della voce del peer.

La configurazione del server e dei peer può essere modificata tramite il menu contestuale situato sul lato destro di ciascuna voce.

Avvertimento

Dopo aver modificato il server WireGuard o i peer, ricordare che tali modifiche devono essere applicate al peer riscaricando il file di configurazione.

Configurazione del tunnel#

Nethsecurity può essere configurato come client (peer) WireGuard per connettersi a un altro server WireGuard. Nella scheda Peer tunnels, è possibile aggiungere manualmente un nuovo tunnel facendo clic su Aggiungi tunnel peer oppure importare un file di configurazione WireGuard generico utilizzando Importa tunnel peer.

Quando si aggiunge manualmente un nuovo tunnel, sono disponibili i seguenti campi:

  • Status: abilita o disabilita il tunnel

  • Nome: il nome del tunnel; questo non è il nome dell’interfaccia di rete, che verrà creata automaticamente come wgX, dove X è un numero

  • Reserved IP: l’indirizzo IP statico che verrà utilizzato dal tunnel

  • Server public key: la chiave pubblica del server WireGuard

  • Peer private key: la chiave privata del tunnel

  • Pre-shared key: la chiave pre-condivisa, se utilizzata; il campo è facoltativo

  • Instrada tutto il traffico: se abilitato, tutto il traffico verrà instradato attraverso il tunnel

  • Route di rete: reti rese disponibili tramite il tunnel

  • Endpoint: l’indirizzo IP pubblico o FQDN del server WireGuard

  • Porta UDP: la porta su cui il tunnel WireGuard si connetterà

  • Server DNS: server DNS personalizzati da utilizzare quando il tunnel è attivo

Debug#

Per impostazione predefinita, WireGuard non registra alcun log. Per abilitare la registrazione su /var/log/messages, utilizzare i seguenti comandi:

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

Per disabilitare la registrazione, utilizzare:

echo module wireguard -p > /sys/kernel/debug/dynamic_debug/control