Wireguard è un software di tunneling VPN avanzato, affidabile e open source che puoi installare e utilizzare subito per creare una connessione punto a punto sicura a un server. È multipiattaforma e può essere eseguito quasi ovunque, inclusi Linux, Windows, Android e macOS. Wireguard è una VPN peer-to-peer. non utilizza il modello client-server. A seconda della sua configurazione, un peer può fungere da server o client tradizionale.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a eseguire le relative query di installazione del software.
In questo contesto, esamineremo come installare Wireguard su Ubuntu 20.04 LTS.
Passaggi per installare e configurare Wireguard su Ubuntu 20.04 LTS Focal Fossa
1. Esegui l'aggiornamento del sistema
Innanzitutto, assicurati che tutti i pacchetti di sistema siano aggiornati eseguendo i seguenti comandi apt nel terminale:
$ sudo apt update
$ sudo apt upgrade
2. Installa Wireguard sul sistema
WireGuard è disponibile dai repository Ubuntu predefiniti. Esegui i seguenti comandi per installarlo:
$ sudo apt install wireguard
3. Configura WireGuard
Innanzitutto, esegui il comando seguente per generare la coppia di chiavi:
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
Quindi, crea un nuovo file chiamato wg0.conf e aggiungi i seguenti contenuti:
$ sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
I termini sopra riportati dal file wg0.conf sono definiti di seguito:
- Indirizzo:un elenco separato da virgole di indirizzi IP v4 o v6 per l'interfaccia wg0. Utilizza gli IP di un intervallo riservato alle reti private (10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16).
- ListenPort:la porta su cui WireGuard accetterà le connessioni in entrata.
- PrivateKey – una chiave privata generata dal comando wg genkey. (Per vedere il contenuto del file esegui:sudo cat /etc/wireguard/privatekey)
- SaveConfig:se impostato su true, lo stato corrente dell'interfaccia viene salvato nel file di configurazione all'arresto.
- PostUp – comando o script che viene eseguito prima di aprire l'interfaccia. In questo esempio, utilizziamo iptables per abilitare il masquerading. Ciò consentirà al traffico di lasciare il server, fornendo ai client VPN l'accesso a Internet.
- PostDown – comando o script che viene eseguito prima di abbassare l'interfaccia. Le regole di iptables verranno rimosse una volta che l'interfaccia sarà inattiva.
I file wg0.conf e della chiave privata non dovrebbero essere leggibili dagli utenti normali. Usa chmod per impostare i permessi su 600:
$ sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
Una volta fatto, apri l'interfaccia wg0 usando gli attributi specificati nel file di configurazione:
$ sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Per portare l'interfaccia WireGuard all'avvio, eseguire il comando seguente:
$ sudo systemctl enable wg-quick@wg0
4. Configura Firewall
Devi aprire il traffico UDP sulla porta 51820:
$ sudo ufw allow 51820/udp
Infine, possiamo avviare il servizio Wireguard utilizzando il seguente comando:
$ sudo wg-quick up wg0