WireGuard è un protocollo di rete privata virtuale (VPN) open source, progettato per offrire connessioni sicure, veloci e semplici da configurare. Sviluppato da Jason A. Donenfeld, si distingue per un codice estremamente ridotto — circa 4.000 righe — rispetto ai protocolli tradizionali come OpenVPN o IPsec, che ne contano centinaia di migliaia. Questa leggerezza ne facilita la revisione, riduce le potenziali vulnerabilità e migliora l’efficienza nell’uso delle risorse, rendendolo ideale anche per dispositivi con capacità limitate, come router o smartphone.
Il protocollo opera al livello 3 del modello OSI, supporta sia IPv4 che IPv6 e utilizza esclusivamente UDP per garantire prestazioni elevate e latenza ridotta. WireGuard si basa su tecniche crittografiche moderne e sicure, tra cui Curve25519 per lo scambio di chiavi, ChaCha20 per la crittografia, Poly1305 per l’autenticazione e BLAKE2s per l’hashing. Il suo meccanismo di handshake rapido permette di stabilire connessioni in pochi millisecondi e di mantenere la stabilità anche durante il passaggio tra diverse reti, come da Wi-Fi a rete mobile.
La configurazione avviene tramite file di testo estremamente semplici, che contengono chiavi pubbliche e private, indirizzi IP e peer autorizzati, ed è supportata su molte piattaforme, tra cui Linux, Windows, macOS, iOS e Android. WireGuard è stato integrato direttamente nel kernel Linux a partire dalla versione 5.6, ottimizzando ulteriormente le prestazioni. Grazie alla sua architettura snella e all’efficienza, è diventato una scelta popolare sia per uso personale che aziendale, offrendo un’alternativa moderna e performante alle soluzioni VPN consolidate.
Significa anche che molti Provider/Distributori di VPN hanno implementato il protocollo Wireguard nelle loro App per vari dispositivi offrendo quindi un ulteriore scelta ai protocolli più classici come OpenVPN. NordVPN utilizza il protocollo NordLynx che non è altro che il protocolo Wireguard reso proprietario (si intende nel nome) grazie ad alcune modifiche lato sviluppo App.
NordVPN contrariamente ad altri Provider VPN come Privado o Proton, non offre configurazioni “confezionate” e scaricabili dai propri pannelli Account, il suo protocollo NordLynx è accessibile solo dalle proprie App per dispositivi diversi.
Questo non significa che Nord non permetta di utilizzare NordLynx, significa che il sistema per ottenere le config necessita di alcuni passaggi tra cui l’ottenimento del token di accesso.

Di seguito sarà indicato come ottenere il token, quali differenze tra Linux e Windows, come ottenere le config e la chiave privata (Private key) in Linux e Windows, dove usare le config.
Il Token è una stringa alfanumerica che serve per ottenere config Wireguard (NordLynx) e la chiave privata (Private Key).
Accedi al tuo pannello Accout NordVPN, nel menù di sinistra clicca su NordVPN e scorri la pagina fino alla voce Token di accesso (Ottieni un token di accesso per Linux. Dovrai verificare il tuo indirizzo email.)
Cliccando su Ottieni il token viene mostrata una finestra dove inserire un codice appena inviato alla mail proprietaria dell’account Nord
Un volta inserito il codice ricevuto vine mostrata una pagina dove creare il Token basterà cliccare su genera il Token, e si potrà selezionare la durata dello stesso fino ad una scadenza illimitata (mai)
ATTENZIONE: Il token verrà generato e mostrato una sola volta per cui è consigliato copiare il codice ed incollarlo su di un foglio di testo e salvarlo in luogo sicuro. Il codice servirà per poter generare sia le config che la chiave privata. Il token è univoco significa che le configurazioni e la chiave privata generate con quel codice non saranno più utilizzabile con un token diverso. Se si cambia il Token bisognerà rigenerare config e chiave da capo.
Nota: E’ sottinteso che la generazione del token è disponibile solo dal proprio pannello Account, con sottoscrizione di piano attiva e non scaduta ed è disponibile indipendentemente dal tipo di piano scelto (Base, Plus, Ultimate) nuovo od in essere.
WireGuard è implementato nelle distribuzioni Linux principalmente come un modulo del kernel scritto in C, che viene caricato per creare un’interfaccia di rete virtuale punto-punto per la creazione di tunnel VPN sicuri.
L’implementazione di riferimento è scritta in C e Go, ed è progettata per essere integrata direttamente nel kernel Linux, garantendo prestazioni elevate e una bassa latenza.
A partire da Debian 11, il modulo del kernel è incluso nel sistema, quindi l’installazione del pacchetto wireguard installa solo gli strumenti da riga di comando.
In poche parole in Linux è sufficiente dire al Sistema che IP, Porta, e chiavi utilizzare per connettersi in Tunnel Wireguard. Ovviamente anche in Linux esistono App o GUI che possono utilizzare le config Wiregard, come ad esempio NekoRay, oppure il semplice tool scritto in Go language usabile da linea di comando chiamato wg-quick.
In Windows è necessario utilizzare una GUI o App installata nel Sistema dove “incollare” i dati della config. Abbiamo già scritto di come utilizzare Nekoray in Windows un’ottimo tool per gestire infinità di configurazioni Proxy, Socks, Vray, Trojan..ed appunto Wireguard. Ulteriori articoli sull’evoluzione di NekoRay e dove trovare fonti per inserire Open Proxy V2Ray Socks e VPN.
La sostanziale differenza tra Linux e Windows è che in quest’ultimo la gestione del protocollo la connessione e la configurazione dipendono da uno strumento “esterno” al Sistema che va, in caso, settato per utilizzare il Proxy di Sistema o meno a seconda delle esigenze.
Linux
In questo caso ci viene incontro uno script bash (che trovate in download a fondo articolo) scritto da Shockwave un amico e grande conoscitore di Linux e gestione di reti. Questo script genera automaticamente le config Wireguard utilizzando il Token che si è creato, utilizza il json globale dei server NordVPN che e’ pubblico e accessibile via API. Il funzionamento è semplice.
Per prima cosa si inserisce il Token, usando un editor di testo come Notepad++, nella apposita variabile dello script, è un passo solamente propedeutico e sostanzialmente serve per avere sempre a disposizione il Token senza pericolo di smarrirlo.
Una volta inserito, nelle istruzioni iniziali, è descritto un semplice comando curl da lanciare da bash command line dove, usando il TOKEN ottenuto precedentemente, si fa una query chiedendo a NordVPN di rilasciare la propria chiave privata (Private key) “scaricandola” dal Server API. Ottenuta la Private Key e inserita nel campo previsto nello script se si e’ istallata l’utility JQ per effettuare il parse del Json con i dati dei server il tool e’ pronto, inserendo il codice ISO di una o più Nazioni lo script genera una o più config con IP di quel Paese. E’ possibile creare più config, anche su Server diversi, per ogni Paese scelto.
Windows
Fermo restando che l’ottenimento del Token è ovviamente identico ed indipendente dal Sistema utilizzato, il prelievo delle config e la generazione della chiave privata sono differenti rispetto a Linux. Non potendo utilizzare lo script nativo (a meno di emulatore Linux) in questo caso ci viene invece incontro non un amico ma un sito molto utile e benfatto nord-configs.selfhoster.nl. Un sito dove poter scaricare tutte le config Wireguard (Nordlynx) disponibili e sono oltre 8.000, divise per Paese dove è possibile anche scegliere le città disponibili. Ovviamente la o le config scaricate non contengono la chiave privata ed il campo dedicato è vuoto. La chiave dovrà essere inserita successivamente al download. Il sito offre la possibilità di generare la chiave Privata inserendo il proprio Token accedendo da menu laterale e poi Generate Private Key.
Con questo sito quindi posso generare la chiave privata, scaricare quante config desidero ed utilizzarle dove voglio.
Anche se è chiaramente indicato che la chiave privata non è salvata nemmeno sul Browser in uso (eventualmente verificabile con il tool sviluppatore del browser stesso) e per chi volesse invece scaricarla localmente sul proprio dispositivo è possibile utilizzare il curl dello script da riga di CMD prompt che per praticità indico di seguito
curl -sk -u token:"$TOKEN" "https://api.nordvpn.com/v1/users/services/credentials" | jq -r .nordlynx_private_key
Al posto di $TOKEN dentro le virgolette va incollato il Token completo
Attenzione: per poter far “girare” il curl su windows è necessario avere jq e curl installati oppure seguire questa procedura più pratica:
creare una cartella sul desktop (o dove lo si desidera) inserire in cartella i file jq.exe e curl.exe (che allego a fondo articolo) da dentro la cartella lanciare il CMD incollare il comando curl e dare invio al termine apparirà la chiave privata da copiare ed incollare nelle config Wireguard

La config Wireguard contiene i pochi dati necessari; ecco un esempio (le x sono inserite per nascondere i dati reali) di come si presenta. L’unico campo da compilare è quello delle Chiave Privata (Private Key)
[Interface]
PrivateKey=
Address=10.X.X.X/1X
DNS=103.XX.XX.1XX
[Peer]
PublicKey=SqAWxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs=0.0.0.0/0,::/0
Endpoint=ch4xx.nordvpn.com:51xxx
PersistentKeepalive=25
Utilizzare GUI e Tools come NekoRay o Throne od altre GUI similari in windows è semplice nelle configurazioni di base e non necessita di particolari conoscenze tecniche (basta seguire i passaggi indicati nell’articolo linkato precedentemente). Se si possiede un Modem/Router che permette di utilizzare config Wireguard diventa semplice coprire l’intera rete di casa con tunnel Wireguard ed in questo caso specifico è possibile anche poter cambiare IP sostituendo la configurazione con una che preveda IP e località diversa.
In Linux vale lo stesso discorso con la differenza che una o più config possono essere utilizzate di Sistema od in cascata con altre gestite dagli stessi tool come Neko o similari.
A seconda della Gui o tool utilizzati possono variare i formati di inserimento della config. Ad esempio alcune versioni di NekoRay supportano l’inserimento diretto con maschera che va compilata, altre invece supportano l’inserimento a mezzo Json editor (custom singbox outbound) di seguito due screen di altrettanti inserimenti in NekoRay


DOWNLOADS
culr.exe
jq.exe
NordWGTemplate script
Views: 5