WireGuard is een populair point-to-point open-source communicatieprotocol dat wordt gebruikt om een veilige en snelle Virtual Private Network-tunnel te creëren. Deze VPN is ontworpen voor gebruik in de Linux Kernel. WireGuard is een lichtgewicht VPN die gebruikers extreem hoge snelheden biedt.
Dit artikel laat zien hoe u WireGuard installeert en instelt op uw CentOS 8-systeem. De installatie en configuratie van WireGuard zijn veel eenvoudiger dan de reeds bestaande VPN's, zoals OpenVPN, en dit is een belangrijke reden achter de groeiende populariteit in de Linux-gemeenschap.
Overzicht
Dit artikel bestaat uit twee delen:
- In de eerste sectie zullen we een CentOS 8-machine installeren en configureren die zal fungeren als een WireGuard VPN-server.
- In het tweede gedeelte zullen we een CentOS 8-machine installeren en configureren die zal fungeren als een WireGuard VPN-client.
WireGuard installeren en configureren op een CentOS 8-server
In deze sectie zullen we een CentOS 8-machine opzetten die als server zal fungeren door WireGuard te installeren.
Stap 1: EPEL- en Elrepo-repositories toevoegen
Om aan de slag te gaan met het installeren van WireGuard op CentOS 8, voegt u eerst de EPEL- en Elrepo-repositories toe om de kernelmodules en WireGuard-tools te installeren.
$ sudo dnf install epel-release elrepo-release -y
Installeer nu, na het installeren van de vereiste repositories, de kernelmodules en WireGuard-tools.
Stap 2: Installeer kernelmodules en WireGuard Tools
De kernelmodules en WireGuard-tools kunnen snel worden geïnstalleerd vanuit de EPEL- en Elrepo-repository's door het volgende commando uit te voeren:
$ sudo dnf installeer kmod-wireguard wireguard-tools
Wanneer u om toestemming wordt gevraagd om de GPG-sleutels te importeren en toe te voegen aan het CentOS 8-systeem, staat u deze actie toe door "Y" te typen en op "Enter" te drukken.”
Nadat we de WireGuard-tools met succes hebben geïnstalleerd, zullen we nu enkele configuraties uitvoeren.
Stap 3: Maak openbare en privésleutels
Eerst zullen we een nieuwe '/etc/wireguard'-map maken zodat we de VPN-server in de map kunnen configureren configure. Voer de volgende opdracht uit om een nieuwe '/etc/wireguard'-map in het CentOS 8-systeem te maken:.
sudo mkdir /etc/wireguard
Na het aanmaken van de directory, maakt u de publieke en private sleutels aan met behulp van de “wg” en “tee” commandoregeltools. De opdracht voor het maken van privé- en openbare sleutels is als volgt:.
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
De gegenereerde sleutel wordt afgedrukt bij het uitvoeren van de bovenstaande opdracht.
Stap 4: Configuratie van tunnelapparaat voor routering van VPN-verkeer
Om een apparaat in te stellen, maakt u een configuratiebestand in de map '/etc/wireguard' en opent u het bestand met de nano-editor.
Voordat u het configuratiebestand maakt, moet u de privésleutel verkrijgen met de volgende opdracht:.
$ sudo cat /etc/wireguard/privatekey
Bewaar de privésleutel ergens; je hebt deze sleutel later nodig in het configuratiebestand.
Maak nu de "wg0".conf" bestand.
$ sudo nano /etc/wireguard/wg0.conf
Voeg de onderstaande inhoud toe aan de "/etc/wireguard/wg0".conf" bestand.
[Koppel]## IP-adres van VPN-server ##
Adres = 192.168.18.200/24
## Sla de configuratie op wanneer een nieuwe client ## zal toevoegen
SaveConfig = waar
## poortnummer van VPN-server ##
Luisterpoort = 51820
## Privésleutel van VPN-server ##
PrivateKey = SERVER_PRIVATE_KEY
## Opdracht die moet worden uitgevoerd voordat de interface wordt gestart ##
PostUp = firewall-cmd --zone=public --add-port 51820/udp && firewall-cmd --zone=public --add-masquerade
## Opdracht die moet worden uitgevoerd voordat de interface wordt uitgeschakeld ##
PostDown = firewall-cmd --remove-port 51820/udp --zone=public && firewall-cmd --remove-masquerade --zone=public
Dit configuratiebestand bevat de volgende belangrijke termen:
- Adres - het privé IP-adres voor de interface (wg0).
- SaveConfig = true - slaat de status van de interface op bij het opnieuw opstarten of afsluiten van de server.
- LuisterPort - de poort waar de WireGuard-daemon luistert.
- Prive sleutel - de sleutel die we zojuist hebben gegenereerd.
- PostUp - deze opdracht wordt uitgevoerd voordat de interface wordt gestart
- PostDown - deze opdracht wordt uitgevoerd voordat de interface wordt uitgeschakeld.
Nu u het configuratiebestand redelijk goed begrijpt, kunt u het bestand opslaan en afsluiten met de sneltoetsen (CTRL + S) en (CTRL + X).
Stap 5: Stel de bevoegdheden van de configuratie en het "privatekey"-bestand in
Nu gaan we de VPN-server een beetje veiliger maken. Een basisgebruiker zou niet de rechten moeten hebben om het configuratiebestand en het 'privatekey'-bestand te lezen. Om toegang tot deze bestanden te bieden, zullen we de modus van deze twee bestanden wijzigen in 600. De opdracht voor het instellen van de rechten wordt hieronder gegeven:.
$ sudo chmod 600 /etc/wireguard/privatekey$ sudo chmod 600 /etc/wireguard/wg0.conf
Nadat we de machtigingen hebben voltooid, starten we de interface (wg0) met behulp van de wg-quick opdrachtregeltool.
Stap 6: Start de interface
Voer de onderstaande opdracht uit om de interface op te starten:
$ sudo wg-snel op wg0
Als je de uitvoer hebt verkregen die wordt weergegeven in de bovenstaande schermafbeelding, heb je de interface met succes gestart. We zullen nu de status van de interface controleren.
$ sudo wg
Schakel de interface in om de interface automatisch te starten bij het opstarten van de CentOS 8-server.
$ sudo systemctl activeer wg-quick@wg0
In dit stadium is de serverconfiguratie voltooid. Als u deze VPN-server nu voor NAT wilt instellen, moet u IPv4-forwarding inschakelen.
Stap 7: IPv4-doorsturen inschakelen
Om IPv4-forwarding voor de NAT in te schakelen, maakt u een "99-custom".conf" bestand in de "/etc/sysctl.d" map met behulp van de nano-editor.
$ sudo nano /etc/sysctl.d/99-aangepast.conf
Voeg de volgende inhoud toe aan de "/etc/sysctl.d/99-aangepast.conf”
## voor het inschakelen van IPv4-forwarding ##netto-.ipv4.ip_forward = 1
Om IPv6-doorsturen in te schakelen, voegt u de volgende inhoud toe aan de "/etc/sysctl.d/99-aangepast.conf” bestand, ook.
## voor het inschakelen van IPv6-forwarding ##netto-.ipv6.conf.alle.doorsturen = 1
Na het inschakelen van IPv4-forwarding, sla het bestand op en sluit af met behulp van de snelkoppelingen (CTRL +S) en (CTRL + X).
Laten we nu verder gaan met het instellen van de WireGuard Client-machine.
Installatie en configuratie van WireGuard VPN op CentOS 8 Client
In deze sectie zullen we een CentOS 8-machine instellen die als client zal fungeren. Het proces voor het installeren en configureren van de WireGuard VPN-client zal bijna hetzelfde zijn als voor de WireGuard VPN-server.
Stap 1: EPEL- en Elrepo-repositories toevoegen
Eerst zullen we de EPEL- en Elrepo-repository's toevoegen om de kernelmodules en WireGuard-tools te installeren:
$ sudo dnf install epel-release elrepo-release -y
Nu, na het installeren van de vereiste repositories, zullen we de kernelmodules en WireGuard Tools installeren.
Stap 2: Installeer kernelmodules en WireGuard Tools
De kernelmodules en WireGuard-tools kunnen nu worden geïnstalleerd vanuit de EPEL- en Elrepo-repository's door de volgende opdracht uit te voeren.
$ sudo dnf installeer kmod-wireguard wireguard-tools
Wanneer u om toestemming wordt gevraagd om de GPG-sleutels te importeren en toe te voegen aan het CentOS 8-systeem, staat u de wijzigingen toe door "Y" te typen en op "Enter" te drukken.”
Nadat de WireGuard-tools met succes zijn geïnstalleerd, moet ook de CentOS 8 Client-machine worden geconfigureerd.
Stap 3: Maak openbare en privésleutels
In deze stap zullen we een nieuwe map '/etc/wireguard' maken in de clientcomputer. Voer de volgende opdracht in om de nieuwe '/etc/wireguard'-directory in uw CentOS 8-systeem te maken:.
sudo mkdir /etc/wireguard
Maak na het aanmaken van de directory de publieke en private sleutels met behulp van de "wg" en "tee" opdrachtregelprogramma's. De opdracht voor het maken van privé- en openbare sleutels wordt hieronder gegeven:.
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
De gegenereerde sleutels worden nu afgedrukt.
Stap 4: Configuratie voor het routeren van VPN-verkeer
In deze stap zullen we een configuratiebestand maken in de map '/etc/wireguard' en dit openen met behulp van de nano-editor.
Voordat u het configuratiebestand maakt, haalt u de privésleutel op met de volgende opdracht:.
$ sudo cat /etc/wireguard/privatekey
Bewaar de privésleutel ergens; je hebt het later nodig in het configuratiebestand.
Maak nu de "wg0".conf" bestand.
$ sudo nano /etc/wireguard/wg0.conf
Voeg de onderstaande inhoud toe aan de "/etc/wireguard/wg0".conf" bestand
[Koppel]## Privésleutel van VPN-client ##
PrivateKey = 8D8puLQCbUw+51wPE3Q7KutGxQhUvsy+a+DBgamb+3o=
## IP-adres van VPN-client ##
Adres = 192.168.18.201/24
[Peer]
## Openbare sleutel van CentOS 8 VPN-server ##
PublicKey = VWndJ4oB7ZJwC/7UOm++OLDrbAxMPsR2yd0cl3sEkUI=
## ACL instellen ##
Toegestane IP's = 0.0.0.0/0
## IP-adres en poort van CentOS 8 VPN-server ##
Eindpunt = 192.168.18.200:51820
Het configuratiebestand bevat de volgende belangrijke termen:
- Prive sleutel - de sleutel gegenereerd op de clientcomputer.
- Adres - het IP-adres voor de interface (wg0).
- Publieke sleutel - de openbare sleutel van de VPN-servermachine waarmee we verbinding willen maken.
- Toegestane IP's - alle toegestane IP-adressen voor verkeersstroom met behulp van de VPN.
- Eindpunt - we zullen het IP-adres en poortnummer verstrekken van de CentOS 8-servermachine waarmee we verbinding willen maken.
We hebben nu ook de clientcomputer geconfigureerd. Sla het bestand op en sluit af met de sneltoetsen (CTRL + S) en (CTRL + X).
Stap 5: Stel de bevoegdheden van de configuratie en het "privatekey"-bestand in
Nu zullen we de modus wijzigen en de privileges van het configuratiebestand en het "privatekey" -bestand instellen op 600. Voer de volgende opdracht in om de machtigingen in te stellen:.
$ sudo chmod 600 /etc/wireguard/privatekey$ sudo chmod 600 /etc/wireguard/wg0.conf
Nu we de machtigingen hebben afgerond, kunnen we de interface (wg0) starten met behulp van de "wg-quick" opdrachtregeltool.
Stap 6: Start de interface
Voer de onderstaande opdracht uit om de interface op te starten:
$ sudo wg-snel op wg0
We zijn nu succesvol gestart met de interface. Vervolgens zullen we de status van de interface controleren.
$ sudo wg
Schakel de interface in om de interface automatisch te starten bij het opstarten van de CentOS 8-server.
$ sudo systemctl activeer wg-quick@wg0
In dit stadium is ook de klant ingesteld.
Stap 7: IP-adres en openbare sleutel van client toevoegen aan CentOS 8-server
De laatste stap is om het IP-adres en de openbare sleutel van de VPN-clientmachine toe te voegen aan het configuratiebestand van de CentOS 8 WireGuard VPN-servermachine.
Keer terug naar de servermachine en voeg de volgende inhoud toe aan de "/etc/wireguard/wg0".conf" bestand.
[Peer]## Openbare sleutel van VPN-client ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA=
## IP-adres van VPN-client ##
Toegestane IP's = 192.168.10.2/32
Nadat u het configuratiebestand van de VPN-server hebt bijgewerkt, slaat u het bestand op en sluit u af met de sneltoetsen (CTRL + S) en (CTRL + X).
De tunnel is nu tot stand gebracht en al het verkeer wordt door de CentOS 8 WireGuard VPN-server geleid.
Stap 8: Tunnelverbinding verifiëren
Om te controleren of de CentOS 8 WireGuard VPN-server correct is geïnstalleerd en geconfigureerd, geeft u de onderstaande opdracht op om te controleren of het verkeer door de geconfigureerde WireGuard VPN-server stroomt.
$ sudo wg
En dat is het! U hebt de WireGuard VPN-server met succes geconfigureerd en ingesteld.
Conclusie
Dit artikel liet u zien hoe u WireGuard VPN op uw CentOS 8-machine installeert en configureert en hoe u het systeem instelt als een VPN-server. We hebben u ook laten zien hoe u een CentOS 8 WireGuard VPN-client instelt en de client configureert om het verkeer door de WireGuard VPN-server te leiden.