Come installare WireGuard VPN su CentOS 8

Come installare WireGuard VPN su CentOS 8

WireGuard è un popolare protocollo di comunicazione a source open source che viene utilizzato per creare un tunnel di rete privato virtuale sicuro e veloce. Questa VPN è stata progettata per l'uso nel kernel Linux. WireGuard è una VPN leggera che offre velocità estremamente veloci agli utenti.

Questo articolo mostra come installare e impostare Wireguard sul tuo sistema CentOS 8. L'installazione e la configurazione di Wireguard sono molto più facili delle VPN già esistenti, come OpenVPN, e questa è una delle ragioni principali dietro la sua crescente popolarità nella comunità di Linux.

Panoramica

Questo articolo è composto da due sezioni:

  • Nella prima sezione, installeremo e configureremo una macchina CentOS 8 che fungerà da Server VPN WireGuard.
  • Nella seconda sezione, installeremo e configureremo una macchina CentOS 8 che fungerà da Client VPN WireGuard.

Installazione e configurazione di Wireguard su un server CentOS 8

In questa sezione, imposteremo una macchina CentOS 8 che fungerà da server installando Wireguard.

Passaggio 1: aggiungi i repository di Epel ed Elrepo

Per iniziare con l'installazione di Wireguard su CentOS 8, in primo luogo, aggiungi i repository di Epel ed Elrepo per installare i moduli del kernel e gli strumenti di guardia del filo.

$ sudo dnf installa epel-release elrepo-release -y

Ora, dopo aver installato i repository richiesti, installare i moduli del kernel e gli strumenti di guardia wire.

Passaggio 2: installare moduli del kernel e strumenti di guardia wire

I moduli del kernel e gli strumenti Wireguard possono essere installati rapidamente dai repository di Epel ed Elrepo emettendo il seguente comando:

$ sudo dnf installa kmod wireguard wireguard-tools

Quando viene richiesto il permesso di importare e aggiungere le chiavi GPG al sistema CentOS 8, consentire questa azione digitando "Y" e colpendo "Inserisci."

Dopo aver installato correttamente gli strumenti Wireguard, ora eseguiremo alcune configurazioni.

Passaggio 3: creare chiavi pubbliche e private

Innanzitutto, creeremo una nuova directory '/etc/wireguard' in modo da poter configurare il server VPN nella directory. Per creare una nuova directory "/etc/wireguard" nel sistema CentOS 8, emette il seguente comando.

sudo mkdir /etc /wireguard

Dopo aver creato la directory, creare le chiavi pubbliche e private utilizzando gli strumenti di riga di comando "WG" e "TEE". Il comando per la creazione di chiavi private e pubbliche è il seguente.

$ WG Genkey | sudo tee/etc/wireguard/privateKey | WG PUBKEY | sudo tee/etc/wireguard/publickey

La chiave generata verrà stampata al momento dell'esecuzione del comando sopra.

Passaggio 4: configurazione del dispositivo tunnel per il percorso del traffico VPN

Per impostare un dispositivo, creare un file di configurazione nella directory '/etc/wireguard' e aprire il file utilizzando nano editor.

Prima di creare il file di configurazione, ottenere la chiave privata utilizzando il comando seguente.

$ sudo cat/etc/wireguard/privateky

Salva la chiave privata da qualche parte; Avrai bisogno di questa chiave più avanti nel file di configurazione.

Ora, crea il "WG0.FILE CONF ”.

$ sudo nano/etc/wireguard/wg0.conf

Aggiungi il contenuto indicato di seguito al “/etc/wireguard/wg0.FILE CONF ”.

[Interfaccia]
## Indirizzo IP del server VPN ##
Indirizzo = 192.168.18.200/24
## Salva la configurazione quando un nuovo client aggiungerà ##
SaveConfig = true
## Numero porta del server VPN ##
Ascoltport = 51820
## chiave privata del server VPN ##
PrivateKey = server_private_key
Comando ## da eseguire prima di avviare l'interfaccia ##
PostUp = Firewall-cmd --zone = public --add-port 51820/udp && firewall-cmd --zone = public --add-masquerade
Comando ## da eseguire prima di disattivare l'interfaccia ##
Postdown = firewall-cmd--remove-port 51820/udp --zone = public && firewall-cmd--remove-masquerade --zone =

Questo file di configurazione contiene i seguenti termini chiave:

  • Indirizzo - L'indirizzo IP privato per l'interfaccia (WG0).
  • SaveConfig = True - salva lo stato dell'interfaccia al riavvio o arresto del server.
  • Ascolta - La porta in cui il demone della guardia del filo guardano ascolta.
  • PrivateKey - la chiave che abbiamo appena generato.
  • Affiggere - Questo comando verrà eseguito prima di accendere l'interfaccia
  • POSTdown - Questo comando verrà eseguito prima di disattivare l'interfaccia.

Ora che hai compreso abbastanza bene il file di configurazione, puoi salvare il file ed uscire utilizzando le scorciatoie da tastiera (CTRL + S) e (CTRL + X).

Passaggio 5: impostare i privilegi di configurazione e file "privatekey"

Ora renderemo il server VPN un po 'più sicuro. Un utente di base non dovrebbe avere i privilegi per leggere il file di configurazione e il file "privatekey". Per fornire l'accesso a questi file, cambieremo la modalità di questi due file su 600. Di seguito è riportato il comando per l'impostazione delle autorizzazioni.

$ sudo chmod 600/etc/wireguard/privatekey
$ sudo chmod 600/etc/wireguard/wg0.conf

Dopo aver finalizzato le autorizzazioni, accenderemo l'interfaccia (WG0) utilizzando lo strumento WG-QUICK-Line.

Passaggio 6: avviare l'interfaccia

Per accendere l'interfaccia, emette il comando indicato di seguito:

$ sudo wg-quick up wg0

Se hai ottenuto l'output mostrato nello screenshot sopra, hai avviato correttamente l'interfaccia. Ora controlleremo lo stato dell'interfaccia.

$ sudo wg

Abilita l'interfaccia per avviare automaticamente l'interfaccia sul avvio del server CentOS 8.

$ sudo systemctl abilita wg-quick@wg0

In questa fase, la configurazione del server è stata completata. Ora, se si desidera impostare questo server VPN per NAT, dovrai abilitare l'inoltro IPv4.

Passaggio 7: Abilita l'inoltro IPv4

Per abilitare l'inoltro IPv4 per il NAT, creare un “99-restom.FILE CONF ”nel“/etc/sysctl.Directory d ”usando il nano editor.

$ sudo nano /etc /sysctl.D/99-Custom.conf

Aggiungi i seguenti contenuti al “/etc/sysctl.D/99-Custom.conflitto

## per abilitare l'inoltro IPv4 ##
netto.IPv4.ip_forward = 1

Per abilitare l'inoltro IPv6, aggiungere i seguenti contenuti al “/etc/sysctl.D/99-Custom.File Conf ”, anche.

## per abilitare l'inoltro IPv6 ##
netto.IPv6.conf.Tutto.inoltro = 1

Dopo aver abilitato l'inoltro IPv4, salva il file ed esci utilizzando le scorciatoie (CTRL + S) e (CTRL + X).

Andiamo ora per impostare la macchina client WireGuard.

Installazione e configurazione di WireGuard VPN sul client CentOS 8

In questa sezione, imposteremo una macchina CentOS 8 che fungerà da cliente. Il processo di installazione e configurazione del client VPN WireGuard sarà quasi lo stesso per il WireGuard VPN Server.

Passaggio 1: aggiungi i repository di Epel ed Elrepo

Innanzitutto, aggiungeremo i repository di Epel ed Elrepo per installare i moduli del kernel e gli strumenti di guardia wire:

$ sudo dnf installa epel-release elrepo-release -y

Ora, dopo aver installato i repository richiesti, installeremo i moduli del kernel e gli strumenti di guardia wire.

Passaggio 2: installare moduli del kernel e strumenti di guardia wire

I moduli del kernel e gli strumenti Wireguard possono ora essere installati dai repository di Epel ed Elrepo emettendo il seguente comando.

$ sudo dnf installa kmod wireguard wireguard-tools

Quando ti viene chiesto il permesso di importare e aggiungere le chiavi GPG al sistema CentOS 8, consentire le modifiche digitando "Y" e premendo "Inserisci."

Dopo che gli strumenti Wireguard sono stati installati correttamente, anche la macchina client CentOS 8 deve essere configurata.

Passaggio 3: creare chiavi pubbliche e private

In questo passaggio, creeremo una nuova directory "/etc/wireguard" nella macchina client. Per creare la nuova directory '/etc/wireguard' nel sistema CentOS 8, immettere il seguente comando.

sudo mkdir /etc /wireguard

Dopo aver creato la directory, creare le chiavi pubbliche e private utilizzando gli strumenti di riga di comando "WG" e "TEE". Di seguito è riportato il comando per la creazione di chiavi private e pubbliche.

$ WG Genkey | sudo tee/etc/wireguard/privateKey | WG PUBKEY | sudo tee/etc/wireguard/publickey

Le chiavi generate saranno ora stampate.

Passaggio 4: configurazione per il routing del traffico VPN

In questo passaggio, creeremo un file di configurazione nella directory '/etc/wireguard' e lo apriremo usando il nano editor.

Prima di creare il file di configurazione, ottenere la chiave privata utilizzando il comando seguente.

$ sudo cat/etc/wireguard/privateky

Salva la chiave privata da qualche parte; Ne avrai bisogno più avanti nel file di configurazione.

Ora, crea il "WG0.FILE CONF ”.

$ sudo nano/etc/wireguard/wg0.conf

Aggiungi il contenuto indicato di seguito al “/etc/wireguard/wg0.FILE CONF ”

[Interfaccia]
## chiave privata del client VPN ##
PrivateKey = 8D8PULQCBUW+51WPE3Q7KUTGXQHUVSY+A+DBGAMB+3O =
## Indirizzo IP del client VPN ##
Indirizzo = 192.168.18.201/24
[Pari]
## Chiave pubblica di CentOS 8 VPN Server ##
PUBLICKey = VWNDJ4OB7ZJWC/7UOM ++ OldRBAXMPSR2YD0CL3SEKUI =
## imposta ACL ##
Permessip = 0.0.0.0/0
## Indirizzo IP e porta di CentOS 8 VPN Server ##
Endpoint = 192.168.18.200: 51820

Il file di configurazione contiene i seguenti termini chiave:

  • PrivateKey - La chiave generata sulla macchina client.
  • Indirizzo - L'indirizzo IP per l'interfaccia (WG0).
  • Chiave pubblica - La chiave pubblica della macchina del server VPN a cui vogliamo connetterci.
  • Permesso - Tutti gli indirizzi IP consentiti per il flusso di traffico utilizzando la VPN.
  • Endpoint - Forniremo l'indirizzo IP e il numero di porta della macchina del server CentOS 8 a cui vogliamo connetterci.

Ora abbiamo configurato anche la macchina client. Salva il file ed esci utilizzando le scorciatoie da tastiera (Ctrl + S) e (Ctrl + X).

Passaggio 5: impostare i privilegi di configurazione e file "privatekey"

Ora cambieremo la modalità e imposteremo i privilegi del file di configurazione e del file "privatekey" su 600. Immettere il comando seguente per impostare le autorizzazioni.

$ sudo chmod 600/etc/wireguard/privatekey
$ sudo chmod 600/etc/wireguard/wg0.conf

Ora che abbiamo finalizzato le autorizzazioni, possiamo accendere l'interfaccia (WG0) usando lo strumento di riga di comando "WG-QUICK".

Passaggio 6: avviare l'interfaccia

Per accendere l'interfaccia, emette il comando indicato di seguito:

$ sudo wg-quick up wg0

Ora abbiamo avviato con successo l'interfaccia. Successivamente, controlleremo lo stato dell'interfaccia.

$ sudo wg

Abilita l'interfaccia per avviare automaticamente l'interfaccia sul avvio del server CentOS 8.

$ sudo systemctl abilita wg-quick@wg0

In questa fase, anche il client è impostato.

Passaggio 7: aggiungi l'indirizzo IP e la chiave pubblica del client a CentOS 8 Server

Il passaggio finale è quello di aggiungere l'indirizzo IP e la chiave pubblica della macchina client VPN al file di configurazione della macchina server VPN CentOS 8.

Torna alla macchina del server e aggiungi i seguenti contenuti a “/etc/wireguard/wg0.FILE CONF ”.

[Pari]
## chiave pubblica del client VPN ##
PUBLICKey = dmfo9Pirb315Slxogxxtmrbwaqpy07c57evpks1ikza =
## Indirizzo IP del client VPN ##
Permessiptips = 192.168.10.2/32

Dopo aver aggiornato il file di configurazione del server VPN, salva il file ed esci utilizzando le scorciatoie da tastiera (CTRL + S) e (CTRL + X).

Il tunnel è stato stabilito e tutto il traffico verrà passato attraverso il server CentOS 8 WireGuard VPN.

Passaggio 8: verificare la connessione del tunnel

Per verificare che il server CentOS 8 WireGuard VPN sia stato installato e configurato correttamente, emettere il comando indicato di seguito per verificare che il traffico stia fluendo attraverso il server VPN WireGuard configurato.

$ sudo wg

E questo è tutto! Hai configurato e stabilito correttamente il server VPN WireGuard.

Conclusione

Questo articolo ha mostrato come installare e configurare WireGuard VPN sulla macchina CentOS 8 e impostare il sistema come server VPN. Ti abbiamo anche mostrato come impostare un client CentOS 8 WireGuard VPN e configurare il client per instradare il traffico attraverso il server VPN WireGuard.