WireGuard er en populær punkt-til-punkt-kildekode-kommunikasjonsprotokoll som brukes til å lage en sikker og rask Virtual Private Network-tunnel. Denne VPN-en ble designet for bruk i Linux-kjernen. WireGuard er en lett VPN som gir brukerne ekstremt høye hastigheter.
Denne artikkelen viser hvordan du installerer og konfigurerer WireGuard på CentOS 8-systemet. Installasjonen og oppsettet av WireGuard er mye enklere enn de allerede eksisterende VPN-ene, som OpenVPN, og dette er en viktig årsak bak den økende populariteten i Linux-samfunnet.
Oversikt
Denne artikkelen består av to seksjoner:
- I den første delen vil vi installere og konfigurere en CentOS 8-maskin som fungerer som en WireGuard VPN-server.
- I den andre delen vil vi installere og konfigurere en CentOS 8-maskin som fungerer som en WireGuard VPN-klient.
Installere og konfigurere WireGuard på en CentOS 8-server
I denne delen vil vi sette opp en CentOS 8-maskin som vil fungere som en server ved å installere WireGuard.
Trinn 1: Legg til EPEL og Elrepo Repositories
For å komme i gang med å installere WireGuard på CentOS 8, legg først til EPEL- og Elrepo-arkivene for å installere kjernemodulene og WireGuard-verktøyene.
$ sudo dnf installer epel-release elrepo-release -y
Nå, etter at du har installert de nødvendige lagringsplassene, installerer du kjernemodulene og WireGuard-verktøyene.
Trinn 2: Installer kjernemoduler og WireGuard-verktøy
Kjernemodulene og WireGuard-verktøyene kan installeres raskt fra EPEL- og Elrepo-repositoriene ved å utstede følgende kommando:
$ sudo dnf installer kmod-wireguard wireguard-verktøy
Når du blir bedt om tillatelse til å importere og legge til GPG-nøklene i CentOS 8-systemet, tillater du denne handlingen ved å skrive "Y" og trykke "Enter.”
Etter å ha installert WireGuard-verktøyene, vil vi nå utføre noen konfigurasjoner.
Trinn 3: Opprett offentlige og private nøkler
Først vil vi lage en ny '/ etc / wireguard' katalog slik at vi kan konfigurere VPN-serveren i katalogen. For å opprette en ny '/ etc / wireguard' katalog i CentOS 8-systemet, send ut følgende kommando.
sudo mkdir / etc / wireguard
Etter at du har opprettet katalogen, oppretter du offentlige og private nøkler ved å bruke kommandolinjeverktøyene “wg” og “tee”. Kommandoen for å lage private og offentlige nøkler er som følger.
$ wg nøkkel | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Den genererte nøkkelen blir skrevet ut ved utførelse av kommandoen ovenfor.
Trinn 4: Konfigurasjon av tunnelenhet for ruting av VPN-trafikk
For å sette opp en enhet, opprett en konfigurasjonsfil i katalogen '/ etc / wireguard' og åpne filen ved hjelp av nano-editoren.
Før du oppretter konfigurasjonsfilen, skaff deg den private nøkkelen med følgende kommando.
$ sudo cat / etc / wireguard / privatekey
Lagre den private nøkkelen et sted; du trenger denne nøkkelen senere i konfigurasjonsfilen.
Lag nå “wg0.conf ”-fil.
$ sudo nano / etc / wireguard / wg0.konf
Legg til innholdet gitt nedenfor i “/ etc / wireguard / wg0.conf ”-fil.
[Grensesnitt]## IP-adresse til VPN-server ##
Adresse = 192.168.18.200/24
## Lagre konfigurasjonen når en ny klient vil legge til ##
SaveConfig = true
## portnummer på VPN-server ##
ListenPort = 51820
## Privat nøkkel til VPN-server ##
PrivateKey = SERVER_PRIVATE_KEY
## Kommando som skal utføres før du starter grensesnittet ##
PostUp = firewall-cmd --zone = public --add-port 51820 / udp && firewall-cmd --zone = public --add-masquerade
## Kommando som skal utføres før du slår av grensesnittet ##
PostDown = brannmur-cmd - fjern-port 51820 / udp --zone = offentlig && brannmur-cmd - fjern-maskerade - sone = offentlig
Denne konfigurasjonsfilen inneholder følgende nøkkelord:
- Adresse - den private IP-adressen for grensesnittet (wg0).
- Lagre konfigurasjon = true - lagrer tilstanden til grensesnittet ved omstart eller avslutning av serveren.
- ListenPort - porten der WireGuard-demonen lytter.
- PrivateKey - nøkkelen vi nettopp har generert.
- PostUp - denne kommandoen vil bli utført før du skyter av grensesnittet
- PostDown - denne kommandoen vil bli utført før du slår av grensesnittet.
Nå som du forstår konfigurasjonsfilen ganske bra, kan du lagre filen og avslutte ved hjelp av hurtigtaster (CTRL + S) og (CTRL + X).
Trinn 5: Angi privilegier for konfigurasjon og "privatekey" -fil
Nå skal vi gjøre VPN-serveren litt sikrere. En grunnleggende bruker skal ikke ha privilegiene til å lese konfigurasjonsfilen og 'privatekey' -filen. For å gi tilgang til disse filene endrer vi modusen til disse to filene til 600. Kommandoen for å stille inn tillatelsene er gitt nedenfor.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Etter å ha fullført tillatelsene, vil vi skyte opp grensesnittet (wg0) ved hjelp av wg-quick kommandolinjeverktøyet.
Trinn 6: Start grensesnittet
For å fyre opp grensesnittet, send kommandoen nedenfor:
$ sudo wg-quick up wg0
Hvis du har fått utdataene som vises på skjermbildet ovenfor, har du startet grensesnittet. Vi vil nå sjekke status for grensesnittet.
$ sudo wg
Aktiver grensesnittet for å starte grensesnittet automatisk ved oppstart av CentOS 8-serveren.
$ sudo systemctl aktiver wg-quick @ wg0
På dette stadiet er serveroppsettet fullført. Nå, hvis du vil konfigurere denne VPN-serveren for NAT, må du aktivere IPv4-videresending.
Trinn 7: Aktiver videresending av IPv4
For å aktivere IPv4-videresending for NAT, opprett en “99-tilpasset.conf ”-filen i“ / etc / sysctl.d ”-katalogen ved hjelp av nano-editoren.
$ sudo nano / etc / sysctl.d / 99-tilpasset.konf
Legg til følgende innhold i “/ etc / sysctl.d / 99-tilpasset.conf ”
## for aktivering av IPv4-videresending ##nett.ipv4.ip_forward = 1
For å aktivere IPv6-videresending, legg til følgende innhold i “/ etc / sysctl.d / 99-tilpasset.conf ”-fil.
## for aktivering av videresending av IPv6nett.ipv6.konf.alle.videresending = 1
Etter at du har aktivert IPv4-videresending, lagrer du filen og avslutter ved hjelp av snarveiene (CTRL + S) og (CTRL + X).
La oss nå gå videre til å sette opp WireGuard Client-maskinen.
Installasjon og konfigurering av WireGuard VPN på CentOS 8 Client
I denne delen vil vi sette opp en CentOS 8-maskin som vil fungere som en klient. Prosessen med å installere og konfigurere WireGuard VPN-klienten vil være nesten den samme som den var for WireGuard VPN-serveren.
Trinn 1: Legg til EPEL og Elrepo Repositories
Først vil vi legge til EPEL- og Elrepo-arkivene for å installere kjernemodulene og WireGuard-verktøyene:
$ sudo dnf installer epel-release elrepo-release -y
Nå, etter å ha installert de nødvendige lagringsplassene, installerer vi kjernemodulene og WireGuard Tools.
Trinn 2: Installer kjernemoduler og WireGuard Tools
Kjernemodulene og WireGuard-verktøyene kan nå installeres fra EPEL- og Elrepo-repositoriene ved å utstede følgende kommando.
$ sudo dnf installer kmod-wireguard wireguard-verktøy
Når du blir bedt om tillatelse til å importere og legge til GPG-nøklene i CentOS 8-systemet, tillater du endringene ved å skrive “Y” og trykke “Enter.”
Etter at WireGuard-verktøyene er installert, må CentOS 8 Client-maskinen også konfigureres.
Trinn 3: Opprett offentlige og private nøkler
I dette trinnet vil vi opprette en ny '/ etc / wireguard' katalog i klientmaskinen. For å opprette den nye '/ etc / wireguard' katalogen i CentOS 8-systemet, skriv inn følgende kommando.
sudo mkdir / etc / wireguard
Etter at du har opprettet katalogen, oppretter du offentlige og private nøkler ved å bruke kommandolinjeverktøyene “wg” og “tee”. Kommandoen for å lage private og offentlige nøkler er gitt nedenfor.
$ wg nøkkel | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
De genererte tastene blir nå skrevet ut.
Trinn 4: Konfigurasjon for ruting av VPN-trafikk
I dette trinnet oppretter vi en konfigurasjonsfil i katalogen '/ etc / wireguard' og åpner den ved hjelp av nano-editoren.
Før du oppretter konfigurasjonsfilen, må du hente privatnøkkelen med følgende kommando.
$ sudo cat / etc / wireguard / privatekey
Lagre den private nøkkelen et sted; du trenger det senere i konfigurasjonsfilen.
Lag nå “wg0.conf ”-fil.
$ sudo nano / etc / wireguard / wg0.konf
Legg til innholdet nedenfor i “/ etc / wireguard / wg0.conf ”-fil
[Grensesnitt]## Privat nøkkel til VPN-klient ##
PrivateKey = 8D8puLQCbUw + 51wPE3Q7KutGxQhUvsy + a + DBgamb + 3o =
## IP-adresse til VPN-klient ##
Adresse = 192.168.18.201/24
[Likemann]
## Offentlig nøkkel til CentOS 8 VPN-server ##
PublicKey = VWndJ4oB7ZJwC / 7UOm ++ OLDrbAxMPsR2yd0cl3sEkUI =
## sett ACL ##
Tillatte IP-er = 0.0.0.0/0
## IP-adresse og Port of CentOS 8 VPN Server ##
Sluttpunkt = 192.168.18.200: 51820
Konfigurasjonsfilen inneholder følgende nøkkelord:
- PrivateKey - nøkkelen som genereres på klientmaskinen.
- Adresse - IP-adressen til grensesnittet (wg0).
- PublicKey - den offentlige nøkkelen til VPN-servermaskinen som vi vil koble til.
- Tillatte IP-er - alle tillatte IP-adresser for trafikkflyt ved hjelp av VPN.
- Endepunkt - Vi vil oppgi IP-adressen og portnummeret til CentOS 8-servermaskinen som vi vil koble til.
Vi har nå konfigurert klientmaskinen. Lagre filen og avslutt ved hjelp av hurtigtaster (CTRL + S) og (CTRL + X).
Trinn 5: Angi privilegier for konfigurasjon og "privatekey" -fil
Nå vil vi endre modus og sette privilegiene til konfigurasjonsfilen og "privatekey" -filen til 600. Skriv inn følgende kommando for å angi tillatelsene.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Nå som vi har fullført tillatelsene, kan vi skyte opp grensesnittet (wg0) ved hjelp av kommandolinjeverktøyet "wg-quick".
Trinn 6: Start grensesnittet
For å fyre opp grensesnittet, send kommandoen nedenfor:
$ sudo wg-quick up wg0
Vi har nå startet grensesnittet. Deretter vil vi sjekke statusen på grensesnittet.
$ sudo wg
Aktiver grensesnittet for å starte grensesnittet automatisk ved oppstart av CentOS 8-serveren.
$ sudo systemctl aktiver wg-quick @ wg0
På dette stadiet er også klienten satt opp.
Trinn 7: Legg til IP-adresse og offentlig nøkkel til klient til CentOS 8 Server
Det siste trinnet er å legge til IP-adressen og den offentlige nøkkelen til VPN-klientmaskinen i konfigurasjonsfilen til CentOS 8 WireGuard VPN-servermaskinen.
Gå tilbake til servermaskinen og legg til følgende innhold i “/ etc / wireguard / wg0.conf ”-fil.
[Likemann]## Offentlig nøkkel til VPN-klient ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA =
## IP-adresse til VPN-klient ##
Tillatte IP-er = 192.168.10.2/32
Etter å ha oppdatert konfigurasjonsfilen til VPN-serveren, lagrer du filen og avslutter ved hjelp av hurtigtastene (CTRL + S) og (CTRL + X).
Tunnelen er nå etablert, og all trafikken vil bli ført gjennom CentOS 8 WireGuard VPN-serveren.
Trinn 8: Bekreft tilkobling av tunnel
For å bekrefte at CentOS 8 WireGuard VPN-serveren er installert og konfigurert riktig, utsteder du kommandoen nedenfor for å bekrefte at trafikken strømmer gjennom den konfigurerte WireGuard VPN-serveren.
$ sudo wg
Og det er det! Du har konfigurert og etablert WireGuard VPN-serveren.
Konklusjon
Denne artikkelen viste deg hvordan du installerer og konfigurerer WireGuard VPN på CentOS 8-maskinen din og konfigurerer systemet som en VPN-server. Vi viste deg også hvordan du setter opp en CentOS 8 WireGuard VPN-klient og konfigurerer klienten til å dirigere trafikken gjennom WireGuard VPN-serveren.