GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare WireGuard VPN su Ubuntu (una guida passo passo)

Questo tutorial ti mostrerà come configurare il tuo server VPN WireGuard su  Ubuntu  in semplici passaggi.

Sommario

  • Passaggio 1:abilita l'inoltro IP sul server
  • Passaggio 2:installa WireGuard su Ubuntu
  • Passaggio 3:Configura il server VPN WireGuard su Ubuntu
    • Passaggio 3.1:Genera coppia di chiavi pubblica/privata
    • Passaggio 3.2:configurazione del dispositivo tunnel
  • Fase 4:abilita e avvia il servizio VPN WireGuard
  • Fase 5:installa e configura il client WireGuard
  • Fase 6:connessione del client WireGuard al server
  • Conclusione

WireGuard è un server VPN open source, gratuito e veloce che utilizza una crittografia all'avanguardia. Passa il traffico su UDP con prestazioni migliori rispetto ai tipici due protocolli di tunneling, ovvero OpenVPN e IPsec.

WireGuard è una VPN peer-to-peer creata esplicitamente per il kernel Linux. Funziona all'interno del kernel Linux e ti consente di creare tunnel VPN veloci, moderni e sicuri.

WireGuard funziona creando un'interfaccia di rete su ogni dispositivo peer che funge da tunnel. I peer si autenticano reciprocamente scambiandosi e convalidando le chiavi pubbliche, imitando il modello SSH.

Passaggio 1:abilita l'inoltro IP sul server

Affinché il server VPN instrada i pacchetti tra i client VPN e Internet, è necessario abilitare l'inoltro IP. Apri il /etc/sysctl.conf file utilizzando il tuo editor preferito:

sudo vim /etc/sysctl.conf

Commenta (rimuovi il # carattere prima di esso) la riga seguente:

Salva il file e applica la modifica:

sudo sysctl -p

Passaggio 2:installa WireGuard su Ubuntu

Il prossimo passo in questo tutorial è installare WireGuard sulla tua macchina Ubuntu e configurarlo per fungere da server. Per impostazione predefinita, il pacchetto WireGuard è disponibile nel repository predefinito di Ubuntu.

sudo apt install wireguard

Una volta installato il pacchetto WireGuard, puoi procedere al passaggio successivo.

Passaggio 3:configura WireGuard VPN Server su Ubuntu

WireGuard funziona scambiando chiavi pubbliche tra ciascun dispositivo nella rete WireGuard. Ora che WireGuard è installato, il passaggio successivo consiste nel generare una coppia di chiavi privata e pubblica per il server.

Passaggio 3.1:Genera coppia di chiavi pubblica/privata

Eseguire il comando seguente per creare una coppia di chiavi pubblica/privata. I file verranno salvati in /etc/wireguard/ directory.

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Il wg comando è l'utilità di configurazione integrata di WireGuard per ottenere e impostare le configurazioni di WireGuard. Quando esegui il comando, riceverai una singola riga di output codificato in base64, la chiave pubblica (server_public.key ) per il tuo server WireGuard.

Ricorda, la chiave privata (server_private.key ) non dovrebbe mai essere condiviso con nessuno e dovrebbe essere sempre tenuto al sicuro.

Passaggio 3.2:configurazione del dispositivo tunnel

Successivamente, dovrai creare un'interfaccia di rete per WireGuard. Usa un editor di testo a riga di comando come vim per creare un file di configurazione WireGuard. Il nome dell'interfaccia di rete sarà wg0 .

sudo vim /etc/wireguard/wg0.conf

Aggiungi i contenuti indicati di seguito:

[Interface]
## Private IP address for the wg0 interface ##
Address = 10.0.0.1/24

## VPN server listening port ##
ListenPort = 51820

## VPN server private key ##
PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=

## Firewall rules ##
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE

Ovviamente devi sostituire la PrivateKey con il contenuto di quello che hai generato, memorizzato nel /etc/wireguard/server_private.key file.

Puoi visualizzare il contenuto della chiave privata con il seguente comando:

sudo cat /etc/wireguard/server_private.key

Assicurati di sostituire enp1s0 dopo -A POSTROUTING -o ... in modo che corrisponda al nome dell'interfaccia di rete pubblica. Puoi trovarlo facilmente con:

ip -o -4 route show to default | awk '{print $5}'

Salva e chiudi wg0.conf file. Inoltre, modifica la modalità di autorizzazione dei file in modo che solo l'utente root possa leggere i file.

sudo chmod -R 600 /etc/wireguard/

Fase 4:abilita e avvia il servizio VPN WireGuard

Esegui il seguente comando sul server per abilitare l'avvio automatico all'avvio del sistema e avviare WireGuard.

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Controlla il suo stato con il seguente comando. Dovresti vedere active nell'output:

sudo systemctl status [email protected]

Per verificare lo stato e la configurazione dell'interfaccia, immettere:

sudo wg show wg0

Fase 5:installa e configura il client WireGuard

Innanzitutto, dovrai installare il pacchetto WireGuard sulla macchina client. È simile alla configurazione del server WireGuard.

sudo apt install wireguard

Successivamente, dovrai generare una coppia di chiavi pubblica/privata sul peer utilizzando i passaggi esatti che hai utilizzato sul server.

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Apri un nuovo /etc/wireguard/wg0.conf file sul computer client WireGuard utilizzando il tuo editor preferito:

sudo vim /etc/wireguard/wg0.conf

Aggiungi le seguenti righe al file:

[Interface]
## VPN client private IP address ##
Address = 10.0.0.2/24

## VPN client private key ##
PrivateKey = 0COkq1GMM86CmlF5blPFDYhU84iTX8iJ7lWoC1gLfnk=

[Peer]
## VPN server public key ##
PublicKey = ZnD/WMx0kasJfGjFf0/uCtJoFbz0oNdq7EcieHXVaSc=

## VPN server public IP address and port ##
Endpoint = 192.168.122.101:51820

## Route all the traffic through the VPN tunnel ##
AllowedIPs = 0.0.0.0/0

## Key connection alive ##
PersistentKeepalive = 15

Sostituisci il PrivateKey con il contenuto di quello che hai generato, memorizzato nel /etc/wireguard/client_private.key file sul computer client.

sudo cat /etc/wireguard/client_private.key

Sostituisci la chiave pubblica del server, che puoi trovare in /etc/wireguard/server_public.key file sul server.

Sostituisci l'Endpoint valore (192.168.122.101:51820 ) con l'indirizzo IP pubblico reale e la porta del tuo server.

Infine, salva e chiudi il file.

È necessario configurare l'opzione VPN lato server per consentire una connessione tra il computer client (peer) e il server. Quindi, torna al server e modifica il /etc/wireguard/wg0.conf per aggiungere le informazioni sul cliente come segue:

sudo vim /etc/wireguard/wg0.conf
[Peer]
## Client public key ##
PublicKey = 6FLtyfBQie9+EB3QYF55CR1FASca7vVYPReynlEccAo=

## Client IP address ##
AllowedIPs = 10.0.0.2/24

Sostituisci il PublicKey con il contenuto del file archiviato in /etc/wireguard/client_public.key file sul computer client .

La versione finale del file di configurazione del server dovrebbe essere simile a questa:

Salva il file e riavvia il server VPN per applicare le modifiche:

sudo systemctl restart [email protected]

Fase 6:connessione del client WireGuard al server

Esegui il seguente comando sul computer client per connettere il client VPN al server VPN:

sudo systemctl start [email protected]

Ora dovresti essere connesso al server WireGuard VPN e il traffico dal tuo computer client dovrebbe essere instradato attraverso di esso.

È tutto! Sia il client che il server devono essere connessi in modo sicuro utilizzando una VPN WireGuard peer-to-peer su Ubuntu.

Per testare la connessione, torna al client VPN e esegui il ping da esso (10.0.0.2 ) al server VPN (10.0.0.1 ) per vedere se il tunnel funziona.

ping -c 3 10.0.0.1

Inoltre, puoi verificare la connessione con:

sudo wg

Per interrompere il tunneling, basta disattivare il servizio sulla macchina client:

sudo systemctl stop [email protected]

Conclusione

Congratulazioni! Spero che questo tutorial ti abbia aiutato a installare e configurare il server e il client VPN WireGuard su Ubuntu. Questa configurazione ti consente di navigare sul web in modo anonimo mantenendo privati ​​i tuoi dati di traffico.

Ti suggerisco caldamente di leggere la documentazione del progetto WireGuard qui.

Se hai trovato utile questo post o se stai riscontrando problemi, non esitare a lasciare un commento.


Ubuntu
  1. Come configurare Wireguard VPN su CentOS 8

  2. Come configurare WireGuard VPN su Ubuntu 20.04

  3. Come aggiornare Ubuntu 20.04 LTS a 22.04 LTS:una guida passo passo

  4. Come installare Ubuntu su VirtualBox:una guida passo passo

  5. Come configurare un server TeamSpeak su Ubuntu 16.04

Come configurare WireGuard VPN su Debian 10

Configura un server VPN Linux utilizzando OpenVPN – Guida passo passo

Come configurare il server VPN Pritunl su Ubuntu 20.04

Come configurare CUPS Print Server su Ubuntu 20.04

Configura il tuo server VPN WireGuard su Ubuntu 20.04/18.04

Come configurare un VPN Pptp sul proprio server Ubuntu?