VPN WireGuard
WireGuard è un'applicazione software gratuita e open-source, un protocollo di rete privata virtuale (VPN) per trasferire dati crittografati e creare connessioni sicure punto-punto.
Importante
Il supporto VPN WireGuard è implementato per i dispositivi Keenetic di attuale generazione, a partire dalla versione KeeneticOS 3,3
Le caratteristiche e i vantaggi del protocollo WireGuard risiedono nell'utilizzo di moderni algoritmi di elaborazione dati altamente specializzati. La base di codice del progetto è scritta da zero ed è caratterizzata dal suo design compatto.
WireGuard fa parte del modulo del kernel di sistema. La connessione WireGuard è accelerata via software ed è multithreaded, cioè può funzionare stabilmente e utilizzare le risorse di un singolo kernel.
I dispositivi Keenetic possono funzionare sia come server VPN che come client VPN. I termini 'client' e 'server' sono convenzionali a causa delle specificità del protocollo. Ma di solito, il server è un dispositivo che attende una connessione e il client è un dispositivo che avvia una connessione.
Quando ci si connette al server VPN WireGuard su Keenetic come client VPN, è possibile utilizzare un computer (basato su Windows, Linux, macOS), un dispositivo mobile (basato su Android e iOS) o i dispositivi Keenetic.
Utilizzando il client VPN WireGuard su Keenetic, è possibile connettersi a un provider VPN che fornisce un servizio di connessione VPN WireGuard o a un altro Keenetic che opera come server VPN e ottenere l'accesso remoto alla sua rete locale.
Importante
Se si prevede di configurare il proprio dispositivo Keenetic come server VPN, è necessario prima verificare che disponga di un indirizzo IP pubblico e, se si utilizza il servizio KeenDNS, che funzioni in modalità di accesso diretto. Se non si rispetta una di queste condizioni, non sarà possibile connettersi a tale server da Internet.
Per configurare tunnel protetti tramite il protocollo WireGuard nei router Keenetic, è necessario installare il componente di sistema 'VPN WireGuard'. È possibile farlo nell'interfaccia web nella pagina 'Impostazioni generali del sistema' nella sezione 'KeeneticOS Opzioni di aggiornamento e componenti' facendo clic su 'Opzioni dei componenti'.

Successivamente, troverai la sezione 'WireGuard' nella pagina 'Altre connessioni'.

Per configurare manualmente l'interfaccia WireGuard, fai clic su 'Crea connessione'. Non esamineremo qui le impostazioni di connessione, ma puoi trovarle nelle istruzioni dettagliate:
Configurazione della VPN WireGuard tra due router Keenetic (questo articolo descrive l'esempio di configurazione del server VPN).
È inoltre possibile importare le impostazioni dell'interfaccia WireGuard da un file di configurazione pre-creato. Fai clic su 'Importa da un file' e quindi scegli il percorso del file pre-configurato sul tuo computer.
I principi principali di funzionamento della VPN WireGuard:
Ogni tunnel WireGuard è un'interfaccia di sistema che opera al terzo livello (rete) del modello OSI. Il traffico può essere instradato al suo interno e le policy di accesso IP possono essere configurate (schermo di rete).
L'interfaccia WireGuard ha diversi parametri di configurazione principali: coppia di chiavi privata e pubblica, indirizzo e porta di ascolto.
Quando si crea l'interfaccia WireGuard, sarà necessario creare una coppia di chiavi di crittografia — Privata e Pubblica, nonché assegnare l'indirizzo IP interno del dispositivo nel tunnel VPN e determinare il numero della porta di ascolto sul lato del server VPN.
Le chiavi Private e Pubbliche sono usate per proteggere la connessione. Queste chiavi sono utilizzate per autenticare i membri. Le chiavi pubbliche e private sono una coppia di chiavi che vengono create (generate) simultaneamente. Gli algoritmi crittografici prevedono l'uso congiunto di tale coppia di chiavi. Entrambe le chiavi devono '
corrispondere' alla parte crittografata dell'informazione. Ad esempio, se la crittografia viene eseguita con la chiave privata, la decrittografia può essere eseguita solo con la chiave pubblica.È necessario generare le chiavi di crittografia su entrambi i lati del tunnel VPN. Durante la configurazione della connessione, sarà necessario scambiare solo le chiavi pubbliche su entrambi i lati del tunnel VPN.
Per quanto riguarda l'indirizzo interno dell'interfaccia del tunnel, deve essere un indirizzo idoneo dall'intervallo privato, ma non deve corrispondere alle altre sottoreti sul router Keenetic stesso. Questo indirizzo IP è specificato nel formato IP/bitmask (ad es.,
10.11.12.1/24). È necessario impostare indirizzi diversi sul client VPN e sul server VPN, ma devono appartenere alla stessa sottorete. Ad esempio,172.16.82.1/24sul server e172.16.82.2/24sul client.Sarà necessario specificare il numero della porta di ascolto sul lato del server VPN, che verrà utilizzata per le connessioni in entrata all'interfaccia WireGuard. È possibile impostare un numero di porta casuale (ad esempio,
16632); la cosa più importante è che non sia bloccata dal tuo ISP e non corrisponda alle porte già aperte di altri servizi sul router.Quindi, è necessario aggiungere peer. Un peer è un membro o un client di una connessione specifica. È possibile creare più peer in una connessione VPN, ad esempio, per connettersi a un server VPN da vari computer o dispositivi mobili.
Ogni peer è caratterizzato in modo univoco dalla chiave pubblica del lato remoto. Sarà necessario specificare una chiave pubblica per il dispositivo, l'indirizzo IP interno del tunnel e le sottoreti consentite nelle impostazioni del peer sull'altro lato del tunnel VPN.
L'elenco delle sottoreti consentite (IP consentiti) è un parametro speciale nelle impostazioni del peer. Si tratta di aree di indirizzo da cui questo peer può ricevere traffico (indirizzi IP di origine) e a cui può essere inviato traffico (indirizzi IP di destinazione). Tecnicamente, questi indirizzi vengono utilizzati per crittografare e decrittografare il traffico. Questa tecnologia è chiamata Crypto Routing ed è una caratteristica fondamentale di WireGuard. È necessario aggiungere una sottorete
0.0.0.0/0per consentire la trasmissione a qualsiasi indirizzo.È essenziale specificare l'indirizzo IP pubblico o il nome di dominio del server VPN WireGuard sul lato del client VPN e specificare la porta di ascolto a cui si connetterà il client VPN (ad esempio,
myrouter01.keenetic.pro:16632). Sui client VPN, questo campo è solitamente chiamato Punto finale remoto.È inoltre necessario specificare l'intervallo dei tentativi di verifica dell'attività del peer nelle sue impostazioni. Si tratta di un controllo interno dell'accessibilità del lato remoto della connessione inviando pacchetti keepalive nel tunnel. Per impostazione predefinita, il valore di 'Keepalive persistente' nelle impostazioni del peer di Keenetic è di
30 secondi, ma di solito sono sufficienti10 o 15secondi tra un controllo e l'altro.Importante
Si consiglia di lasciare vuoto il campo Keepalive persistente sul lato server se si sta configurando un server a cui i client si connettono. Ciò eviterà un'attesa superflua che il tentativo di handshake si concluda quando un client si è disconnesso.
Sul lato client, il campo Keepalive persistente deve essere compilato con il valore scelto affinché la VPN WireGuard funzioni correttamente!
WireGuard ha un concetto di routing delle chiavi di crittografia che utilizza associazioni di chiavi private a ciascuna interfaccia di rete. La connessione VPN viene inizializzata condividendo le chiavi pubbliche ed è simile al modello SSH.
Le chiavi di crittografia sono assegnate a un elenco di indirizzi IP VPN consentiti nel tunnel. L'accesso all'elenco di indirizzi IP è consentito sull'interfaccia di rete. Quando il server accetta e decrittografa un pacchetto autenticato, il suo campo di origine viene controllato. Se corrisponde a quello specificato nel campo ''IP consentiti' del peer autenticato, l'interfaccia WireGuard accetterà il pacchetto. Quando si invia un pacchetto in uscita, l'indirizzo IP di destinazione viene controllato per determinarne la legittimità e sulla sua base viene selezionato il peer appropriato. Quindi il pacchetto viene firmato con la sua chiave, crittografato con la chiave del peer e inviato all'indirizzo pubblico e alla porta del peer (al Punto finale remoto). Tutti i pacchetti IP ricevuti sull'interfaccia WireGuard sono incapsulati in UDP e consegnati in sicurezza ad altri peer.
WireGuard protegge i dati dell'utente con tipi di crittografia avanzati: Curve25519 per lo scambio di chiavi, ChaCha20 per la crittografia, Poly1305 per l'autenticazione dei dati, SipHash per le chiavi hash e BLAKE2 per l'hashing.
Il processo di Crypto Routing consente di fornire a un utente un traffico affidabile fino al
100%e garantisce un'elevata sicurezza e prestazioni all'uscita dell'interfaccia.
Esempi di impostazioni della connessione WireGuard
Di seguito puoi trovare istruzioni dettagliate su come configurare il Keenetic come server VPN e client VPN per interconnettere due reti locali:
Per configurare una connessione a provider VPN che possono funzionare con WireGuard, fai riferimento alle istruzioni:
È possibile utilizzare dispositivi mobili basati su Android e iOS per connettersi al router Keenetic tramite il protocollo WireGuard:
Oppure puoi usare computer basati su Windows, Linux, macOS:
A volte si desidera che i client connessi al router Keenetic tramite WireGuard accedano a Internet attraverso questo tunnel VPN. Sarà necessario effettuare configurazioni aggiuntive. Si prega di fare riferimento all'articolo: