WireGuard är ett populärt punkt-till-punkt-kommunikationsprotokoll med öppen källkod som används för att skapa en säker och snabb virtuell privat nätverkstunnel. Denna VPN har utformats för användning i Linux-kärnan. WireGuard är en lätt VPN som ger användare extremt snabba hastigheter.
Den här artikeln visar hur du installerar och konfigurerar WireGuard på ditt CentOS 8-system. Installationen och installationen av WireGuard är mycket enklare än de redan befintliga VPN-erna, som OpenVPN, och detta är en viktig anledning till dess växande popularitet i Linux-communityn.
Översikt
Denna artikel består av två avsnitt:
- I det första avsnittet installerar och konfigurerar vi en CentOS 8-maskin som fungerar som en WireGuard VPN-server.
- I det andra avsnittet kommer vi att installera och konfigurera en CentOS 8-maskin som fungerar som en WireGuard VPN-klient.
Installera och konfigurera WireGuard på en CentOS 8-server
I det här avsnittet kommer vi att ställa in en CentOS 8-maskin som fungerar som en server genom att installera WireGuard.
Steg 1: Lägg till EPEL och Elrepo Repositories
För att komma igång med installationen av WireGuard på CentOS 8, lägg först till EPEL- och Elrepo-förvaren för att installera kärnmodulerna och WireGuard-verktygen.
$ sudo dnf installera epel-release elrepo-release -y
Installera nu kärnmodulerna och WireGuard-verktygen, efter att du har installerat nödvändiga förvar.
Steg 2: Installera kärnmoduler och WireGuard-verktyg
Kärnmodulerna och WireGuard-verktygen kan installeras snabbt från EPEL- och Elrepo-förvaret genom att utfärda följande kommando:
$ sudo dnf installera kmod-wireguard wireguard-verktyg
När du uppmanas tillåtelse att importera och lägga till GPG-nycklarna i CentOS 8-systemet, tillåt denna åtgärd genom att skriva "Y" och trycka på "Enter.”
Efter framgångsrik installation av WireGuard-verktygen kommer vi nu att utföra några konfigurationer.
Steg 3: Skapa offentliga och privata nycklar
Först kommer vi att skapa en ny katalog '/ etc / wireguard' så att vi kan konfigurera VPN-servern i katalogen. För att skapa en ny katalog '/ etc / wireguard' i CentOS 8-systemet, utfärda följande kommando.
sudo mkdir / etc / wireguard
När du har skapat katalogen skapar du de offentliga och privata nycklarna med kommandoradsverktygen “wg” och “tee”. Kommandot för att skapa privata och offentliga nycklar är som följer.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Den genererade nyckeln kommer att skrivas ut när ovanstående kommando körs.
Steg 4: Konfiguration av tunnelenhet för dirigering av VPN-trafik
För att ställa in en enhet, skapa en konfigurationsfil i katalogen '/ etc / wireguard' och öppna filen med nano-redigeraren.
Innan du skapar konfigurationsfilen, hämta den privata nyckeln med följande kommando.
$ sudo cat / etc / wireguard / privatekey
Spara den privata nyckeln någonstans; du behöver den här nyckeln senare i konfigurationsfilen.
Skapa nu “wg0.conf ”-fil.
$ sudo nano / etc / wireguard / wg0.konf
Lägg till innehållet nedan i “/ etc / wireguard / wg0.conf ”-fil.
[Gränssnitt]## IP-adress för VPN-server ##
Adress = 192.168.18.200/24
## Spara konfigurationen när en ny klient lägger till ##
SaveConfig = true
## portnummer på VPN-server ##
ListenPort = 51820
## VPN-serverns privata nyckel ##
PrivateKey = SERVER_PRIVATE_KEY
## Kommando som ska köras innan gränssnittet startas ##
PostUp = brandvägg-cmd --zon = offentlig --add-port 51820 / udp && brandvägg-cmd --zon = offentlig --add-maskerad
## Kommando som ska utföras innan gränssnittet stängs av ##
PostDown = brandvägg-cmd - ta bort port 51820 / udp --zon = offentlig && brandvägg-cmd - ta bort-maskerad --zon = offentlig
Denna konfigurationsfil innehåller följande nyckeltermer:
- Adress - den privata IP-adressen för gränssnittet (wg0).
- SaveConfig = true - sparar gränssnittets tillstånd vid omstart eller avstängning av servern.
- ListenPort - hamnen där WireGuard-demonen lyssnar.
- PrivateKey - nyckeln som vi just har genererat.
- Skicka upp - detta kommando kommer att utföras innan gränssnittet avfyras
- PostDown - detta kommando kommer att utföras innan gränssnittet stängs av.
Nu när du förstår konfigurationsfilen ganska bra kan du spara filen och avsluta med kortkommandon (CTRL + S) och (CTRL + X).
Steg 5: Ställ in konfigurationsrättigheter och "privatekey" -fil
Nu kommer vi att göra VPN-servern lite säkrare. En grundläggande användare bör inte ha behörighet att läsa konfigurationsfilen och "privatekey" -filen. För att ge åtkomst till dessa filer ändrar vi läget för dessa två filer till 600. Kommandot för att ställa in behörigheter ges nedan.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Efter att ha slutfört behörigheterna startar vi gränssnittet (wg0) med kommandoradsverktyget wg-quick.
Steg 6: Starta gränssnittet
För att aktivera gränssnittet, utfärda kommandot nedan:
$ sudo wg-quick up wg0
Om du har fått utdata som visas i skärmdumpen ovan har du framgångsrikt startat gränssnittet. Vi kommer nu att kontrollera gränssnittets status.
$ sudo wg
Aktivera gränssnittet för att automatiskt starta gränssnittet vid start av CentOS 8-servern.
$ sudo systemctl aktiverar wg-quick @ wg0
I detta skede har serverinstallationen slutförts. Om du nu vill konfigurera denna VPN-server för NAT måste du aktivera IPv4-vidarebefordran.
Steg 7: Aktivera vidarebefordran av IPv4
För att aktivera IPv4 vidarebefordran för NAT, skapa en “99-anpassad.conf ”-fil i“ / etc / sysctl.d ”-katalog med nano-redigeraren.
$ sudo nano / etc / sysctl.d / 99-anpassad.konf
Lägg till följande innehåll i “/ etc / sysctl.d / 99-anpassad.conf ”
## för att aktivera IPv4 vidarebefordran ##netto.ipv4.ip_forward = 1
För att aktivera IPv6 vidarebefordran, lägg till följande innehåll i “/ etc / sysctl.d / 99-anpassad.conf ”-fil.
## för att aktivera IPv6 vidarebefordran ##netto.ipv6.konf.Allt.vidarebefordran = 1
Efter att ha aktiverat IPv4 vidarebefordran, spara filen och avsluta med genvägarna (CTRL + S) och (CTRL + X).
Låt oss nu gå vidare för att ställa in WireGuard Client-maskinen.
Installation och konfiguration av WireGuard VPN på CentOS 8 Client
I det här avsnittet kommer vi att ställa in en CentOS 8-maskin som fungerar som en klient. Processen med att installera och konfigurera WireGuard VPN-klienten kommer att vara nästan densamma som för WireGuard VPN-servern.
Steg 1: Lägg till EPEL och Elrepo Repositories
Först lägger vi till EPEL- och Elrepo-förvaret för att installera kärnmodulerna och WireGuard-verktygen:
$ sudo dnf installera epel-release elrepo-release -y
Efter installation av de nödvändiga förvaret kommer vi att installera kärnmodulerna och WireGuard Tools.
Steg 2: Installera kärnmoduler och WireGuard-verktyg
Kärnmodulerna och WireGuard-verktygen kan nu installeras från EPEL- och Elrepo-förvaret genom att utfärda följande kommando.
$ sudo dnf installera kmod-wireguard wireguard-verktyg
När du blir ombedd att få importera och lägga till GPG-nycklarna i CentOS 8-systemet, tillåt ändringarna genom att skriva "Y" och trycka på "Enter.”
Efter att WireGuard-verktygen har installerats måste CentOS 8 Client-maskinen också konfigureras.
Steg 3: Skapa offentliga och privata nycklar
I det här steget skapar vi en ny katalog '/ etc / wireguard' i klientmaskinen. För att skapa den nya katalogen '/ etc / wireguard' i ditt CentOS 8-system, ange följande kommando.
sudo mkdir / etc / wireguard
När du har skapat katalogen skapar du de offentliga och privata nycklarna med kommandoradsverktygen “wg” och “tee”. Kommandot för att skapa privata och offentliga nycklar ges nedan.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
De genererade nycklarna kommer nu att skrivas ut.
Steg 4: Konfiguration för dirigering av VPN-trafik
I det här steget skapar vi en konfigurationsfil i katalogen '/ etc / wireguard' och öppnar den med hjälp av nano-redigeraren.
Innan du skapar konfigurationsfilen, hämta den privata nyckeln med följande kommando.
$ sudo cat / etc / wireguard / privatekey
Spara den privata nyckeln någonstans; du behöver det senare i konfigurationsfilen.
Skapa nu “wg0.conf ”-fil.
$ sudo nano / etc / wireguard / wg0.konf
Lägg till innehållet nedan i “/ etc / wireguard / wg0.conf ”-fil
[Gränssnitt]## VPN-klientens privata nyckel ##
PrivateKey = 8D8puLQCbUw + 51wPE3Q7KutGxQhUvsy + a + DBgamb + 3o =
## VPN-klientens IP-adress ##
Adress = 192.168.18.201/24
[Jämlikar]
## Offentlig nyckel till CentOS 8 VPN-server ##
PublicKey = VWndJ4oB7ZJwC / 7UOm ++ OLDrbAxMPsR2yd0cl3sEkUI =
## ställa in ACL ##
Tillåtna IP: er = 0.0.0.0/0
## IP-adress och port för CentOS 8 VPN-server ##
Slutpunkt = 192.168.18.200: 51820
Konfigurationsfilen innehåller följande nyckeltermer:
- PrivateKey - nyckeln som genereras på klientmaskinen.
- Adress - IP-adressen för gränssnittet (wg0).
- PublicKey - den offentliga nyckeln till VPN-servermaskinen som vi vill ansluta till.
- Tillåtna IP: er - alla tillåtna IP-adresser för trafikflöde med VPN.
- Slutpunkt - Vi kommer att tillhandahålla IP-adressen och portnumret på CentOS 8-servermaskinen som vi vill ansluta till.
Vi har nu konfigurerat klientmaskinen också. Spara filen och avsluta med kortkommandon (CTRL + S) och (CTRL + X).
Steg 5: Ställ in privilegier för konfiguration och "privatekey" -fil
Nu kommer vi att ändra läge och ställa in privilegierna för konfigurationsfilen och "privatekey" -filen till 600. Ange följande kommando för att ställa in behörigheterna.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Nu när vi har slutfört behörigheterna kan vi aktivera gränssnittet (wg0) med kommandoradsverktyget "wg-quick".
Steg 6: Starta gränssnittet
För att aktivera gränssnittet, utfärda kommandot nedan:
$ sudo wg-quick up wg0
Vi har nu framgångsrikt startat gränssnittet. Därefter kontrollerar vi gränssnittets status.
$ sudo wg
Aktivera gränssnittet för att automatiskt starta gränssnittet vid start av CentOS 8-servern.
$ sudo systemctl aktiverar wg-quick @ wg0
I detta skede är också klienten inställd.
Steg 7: Lägg till IP-adress och klientens offentliga nyckel till CentOS 8 Server
Det sista steget är att lägga till IP-adressen och den offentliga nyckeln för VPN-klientmaskinen till konfigurationsfilen för CentOS 8 WireGuard VPN-servermaskinen.
Gå tillbaka till servermaskinen och lägg till följande innehåll i “/ etc / wireguard / wg0.conf ”-fil.
[Jämlikar]## Offentlig nyckel till VPN-klient ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA =
## IP-adress för VPN-klient ##
Tillåtna IP: er = 192.168.10.2/32
Efter att ha uppdaterat konfigurationsfilen för VPN-servern, spara filen och avsluta med kortkommandon (CTRL + S) och (CTRL + X).
Tunneln har nu etablerats och all trafik kommer att skickas genom CentOS 8 WireGuard VPN-servern.
Steg 8: Verifiera tunnelanslutning
För att verifiera att CentOS 8 WireGuard VPN-servern har installerats och konfigurerats korrekt, utfärdar du kommandot nedan för att verifiera att trafik flödar genom den konfigurerade WireGuard VPN-servern.
$ sudo wg
Och det är det! Du har konfigurerat och etablerat WireGuard VPN-servern framgångsrikt.
Slutsats
Den här artikeln visade dig hur du installerar och konfigurerar WireGuard VPN på din CentOS 8-maskin och ställer in systemet som en VPN-server. Vi visade dig också hur du ställer in en CentOS 8 WireGuard VPN-klient och konfigurerar klienten för att dirigera trafiken genom WireGuard VPN-servern.