WireGuard je populární otevřený komunikační protokol point-to-point, který se používá k vytvoření bezpečného a rychlého tunelu virtuální privátní sítě. Tato VPN byla navržena pro použití v linuxovém jádře. WireGuard je lehká VPN, která uživatelům poskytuje extrémně vysoké rychlosti.
Tento článek ukazuje, jak nainstalovat a nastavit WireGuard na vašem systému CentOS 8. Instalace a nastavení systému WireGuard jsou mnohem jednodušší než u již existujících sítí VPN, jako je OpenVPN, a to je hlavní důvod jeho rostoucí popularity v komunitě Linuxu.
Přehled
Tento článek se skládá ze dvou částí:
- V první části nainstalujeme a nakonfigurujeme stroj CentOS 8, který bude fungovat jako WireGuard VPN Server.
- Ve druhé části nainstalujeme a nakonfigurujeme stroj CentOS 8, který bude fungovat jako WireGuard VPN klient.
Instalace a konfigurace WireGuard na serveru CentOS 8
V této části nastavíme stroj CentOS 8, který bude fungovat jako server instalací WireGuard.
Krok 1: Přidejte úložiště EPEL a Elrepo
Chcete-li začít s instalací WireGuard na CentOS 8, nejprve přidejte úložiště EPEL a Elrepo a nainstalujte moduly jádra a nástroje WireGuard.
$ sudo dnf install epel-release elrepo-release -y
Nyní, po instalaci požadovaných úložišť, nainstalujte moduly jádra a nástroje WireGuard.
Krok 2: Nainstalujte moduly jádra a nástroje WireGuard
Moduly jádra a nástroje WireGuard lze rychle nainstalovat z úložišť EPEL a Elrepo vydáním následujícího příkazu:
$ sudo dnf nainstalujte kmod-wireguard wireguard-tools
Po zobrazení výzvy k povolení importu a přidání klíčů GPG do systému CentOS 8 povolte tuto akci zadáním „Y“ a stisknutím klávesy „Enter.“
Po úspěšné instalaci nástrojů WireGuard nyní provedeme některé konfigurace.
Krok 3: Vytvoření veřejného a soukromého klíče
Nejprve vytvoříme nový adresář '/ etc / wireguard', abychom mohli nakonfigurovat server VPN v adresáři. Chcete-li vytvořit nový adresář '/ etc / wireguard' v systému CentOS 8, zadejte následující příkaz.
sudo mkdir / etc / wireguard
Po vytvoření adresáře vytvořte veřejný a soukromý klíč pomocí nástrojů příkazového řádku „wg“ a „tee“. Příkaz pro vytvoření soukromého a veřejného klíče je následující.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Vygenerovaný klíč se vytiskne po provedení výše uvedeného příkazu.
Krok 4: Konfigurace tunelového zařízení pro směrování provozu VPN
Chcete-li nastavit zařízení, vytvořte konfigurační soubor v adresáři '/ etc / wireguard' a otevřete jej pomocí nano editoru.
Před vytvořením konfiguračního souboru získáte privátní klíč pomocí následujícího příkazu.
$ sudo cat / etc / wireguard / privatekey
Uložte někde soukromý klíč; tento klíč budete potřebovat později v konfiguračním souboru.
Nyní vytvořte „wg0.conf “soubor.
$ sudo nano / etc / wireguard / wg0.konf
Přidejte níže uvedený obsah do „/ etc / wireguard / wg0.conf “soubor.
[Rozhraní]## IP adresa serveru VPN ##
Adresa = 192.168.18.200/24
## Uložte konfiguraci, když přidá nový klient ##
SaveConfig = true
## číslo portu serveru VPN ##
ListenPort = 51820
## Soukromý klíč serveru VPN ##
PrivateKey = SERVER_PRIVATE_KEY
## Příkaz, který se má provést před spuštěním rozhraní ##
PostUp = firewall-cmd --zone = public --add-port 51820 / udp && firewall-cmd --zone = public --add-maškaráda
## Příkaz, který se má provést před vypnutím rozhraní ##
PostDown = firewall-cmd --remove-port 51820 / udp --zone = public && firewall-cmd --remove-maškaráda --zone = public
Tento konfigurační soubor obsahuje následující klíčové pojmy:
- Adresa - soukromá IP adresa rozhraní (wg0).
- SaveConfig = true - uloží stav rozhraní při restartu nebo vypnutí serveru.
- ListenPort - port, kde poslouchá démon WireGuard.
- PrivateKey - klíč, který jsme právě vygenerovali.
- Zveřejnit - tento příkaz bude proveden před spuštěním rozhraní
- PostDown - tento příkaz bude proveden před vypnutím rozhraní.
Nyní, když docela dobře rozumíte konfiguračnímu souboru, můžete soubor uložit a ukončit pomocí klávesových zkratek (CTRL + S) a (CTRL + X).
Krok 5: Nastavte oprávnění konfigurace a souboru „privatekey“
Nyní uděláme server VPN o něco bezpečnějším. Základní uživatel by neměl mít oprávnění ke čtení konfiguračního souboru a souboru 'privatekey'. Abychom poskytli přístup k těmto souborům, změníme režim těchto dvou souborů na 600. Příkaz pro nastavení oprávnění je uveden níže.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Po dokončení oprávnění spustíme rozhraní (wg0) pomocí nástroje příkazového řádku wg-quick.
Krok 6: Spusťte rozhraní
Chcete-li spustit rozhraní, zadejte následující příkaz:
$ sudo wg-quick up wg0
Pokud jste získali výstup zobrazený na výše uvedeném snímku obrazovky, úspěšně jste spustili rozhraní. Nyní zkontrolujeme stav rozhraní.
$ sudo wg
Povolte rozhraní, aby automaticky spustilo rozhraní při spuštění serveru CentOS 8.
$ sudo systemctl povolit wg-quick @ wg0
V této fázi bylo nastavení serveru dokončeno. Nyní, pokud chcete nastavit tento server VPN pro NAT, budete muset povolit přesměrování IPv4.
Krok 7: Povolte předávání protokolu IPv4
Chcete-li povolit předávání IPv4 pro NAT, vytvořte „99-custom.conf “v souboru„ / etc / sysctl.d ”pomocí nano editoru.
$ sudo nano / etc / sysctl.d / 99-zvyk.konf
Přidejte následující obsah do souboru „/ etc / sysctl.d / 99-zvyk.conf “
## pro povolení předávání IPv4 ##síť.ipv4.ip_forward = 1
Chcete-li povolit předávání protokolu IPv6, přidejte následující obsah do souboru „/ etc / sysctl.d / 99-zvyk.conf “.
## pro povolení předávání IPv6 ##síť.ipv6.konf.Všechno.přesměrování = 1
Po povolení přesměrování IPv4 soubor uložte a ukončete pomocí zkratek (CTRL + S) a (CTRL + X).
Pojďme nyní k nastavení klientského počítače WireGuard.
Instalace a konfigurace WireGuard VPN na CentOS 8 Client
V této části nastavíme stroj CentOS 8, který bude fungovat jako klient. Proces instalace a konfigurace klienta WireGuard VPN bude téměř stejný jako u serveru WireGuard VPN.
Krok 1: Přidejte úložiště EPEL a Elrepo
Nejprve přidáme úložiště EPEL a Elrepo k instalaci modulů jádra a nástrojů WireGuard:
$ sudo dnf install epel-release elrepo-release -y
Nyní po instalaci požadovaných úložišť nainstalujeme moduly jádra a nástroje WireGuard.
Krok 2: Nainstalujte moduly jádra a nástroje WireGuard
Moduly jádra a nástroje WireGuard lze nyní nainstalovat z repozitářů EPEL a Elrepo vydáním následujícího příkazu.
$ sudo dnf nainstalujte kmod-wireguard wireguard-tools
Když budete požádáni o povolení k importu a přidání klíčů GPG do systému CentOS 8, povolte změny zadáním „Y“ a stisknutím „Enter.“
Po úspěšné instalaci nástrojů WireGuard je také třeba nakonfigurovat klientský počítač CentOS 8.
Krok 3: Vytvoření veřejného a soukromého klíče
V tomto kroku vytvoříme na počítači klienta nový adresář '/ etc / wireguard'. Chcete-li ve svém systému CentOS 8 vytvořit nový adresář '/ etc / wireguard', zadejte následující příkaz.
sudo mkdir / etc / wireguard
Po vytvoření adresáře vytvořte veřejný a soukromý klíč pomocí nástrojů příkazového řádku „wg“ a „tee“. Níže je uveden příkaz pro vytváření soukromých a veřejných klíčů.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Vygenerované klíče se nyní vytisknou.
Krok 4: Konfigurace pro směrování provozu VPN
V tomto kroku vytvoříme konfigurační soubor v adresáři '/ etc / wireguard' a otevřete jej pomocí nano editoru.
Před vytvořením konfiguračního souboru získejte privátní klíč pomocí následujícího příkazu.
$ sudo cat / etc / wireguard / privatekey
Uložte někde soukromý klíč; budete ji potřebovat později v konfiguračním souboru.
Nyní vytvořte „wg0.conf “soubor.
$ sudo nano / etc / wireguard / wg0.konf
Přidejte níže uvedený obsah do „/ etc / wireguard / wg0.conf “soubor
[Rozhraní]## Soukromý klíč klienta VPN ##
PrivateKey = 8D8puLQCbUw + 51wPE3Q7KutGxQhUvsy + a + DBgamb + 3o =
## IP adresa klienta VPN ##
Adresa = 192.168.18.201/24
[Peer]
## Veřejný klíč serveru VPN CentOS 8 ##
PublicKey = VWndJ4oB7ZJwC / 7UOm ++ OLDrbAxMPsR2yd0cl3sEkUI =
## nastavit ACL ##
AllowedIPs = 0.0.0.0/0
## IP adresa a port serveru CentOS 8 VPN Server ##
Koncový bod = 192.168.18.200: 51820
Konfigurační soubor obsahuje následující klíčové pojmy:
- PrivateKey - klíč vygenerovaný na klientském počítači.
- Adresa - IP adresa rozhraní (wg0).
- PublicKey - veřejný klíč stroje serveru VPN, ke kterému se chceme připojit.
- Povolené IP - všechny povolené IP adresy pro tok provozu pomocí VPN.
- Koncový bod - poskytneme IP adresu a číslo portu serveru serveru CentOS 8, ke kterému se chceme připojit.
Nyní jsme také nakonfigurovali klientský počítač. Uložte soubor a ukončete jej pomocí klávesových zkratek (CTRL + S) a (CTRL + X).
Krok 5: Nastavte oprávnění konfigurace a souboru „privatekey“
Nyní změníme režim a nastavíme oprávnění konfiguračního souboru a souboru „privatekey“ na 600. Zadejte následující příkaz pro nastavení oprávnění.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.konf
Nyní, když jsme dokončili oprávnění, můžeme spustit rozhraní (wg0) pomocí nástroje příkazového řádku „wg-quick“.
Krok 6: Spusťte rozhraní
Chcete-li spustit rozhraní, zadejte následující příkaz:
$ sudo wg-quick up wg0
Nyní jsme úspěšně spustili rozhraní. Dále zkontrolujeme stav rozhraní.
$ sudo wg
Povolte rozhraní pro automatické spuštění rozhraní při spuštění serveru CentOS 8.
$ sudo systemctl povolit wg-quick @ wg0
V této fázi je také nastaven klient.
Krok 7: Přidejte IP adresu a veřejný klíč klienta na server CentOS 8
Posledním krokem je přidání IP adresy a veřejného klíče klientského počítače VPN do konfiguračního souboru stroje serveru CentOS 8 WireGuard VPN.
Vraťte se na serverový počítač a přidejte následující obsah do souboru „/ etc / wireguard / wg0.conf “soubor.
[Peer]## Veřejný klíč klienta VPN ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA =
## IP adresa klienta VPN ##
Povolené IPs = 192.168.10.2/32
Po aktualizaci konfiguračního souboru serveru VPN soubor uložte a ukončete pomocí klávesových zkratek (CTRL + S) a (CTRL + X).
Tunel byl nyní vytvořen a veškerý provoz bude předán přes server VPN CentOS 8 WireGuard.
Krok 8: Ověřte připojení tunelu
Chcete-li ověřit, že byl server CentOS 8 WireGuard VPN nainstalován a správně nakonfigurován, vydejte níže uvedený příkaz a ověřte, že provoz proudí nakonfigurovaným serverem WireGuard VPN.
$ sudo wg
A to je vše! Úspěšně jste nakonfigurovali a založili server VPN WireGuard.
Závěr
Tento článek vám ukázal, jak nainstalovat a nakonfigurovat WireGuard VPN na vašem počítači CentOS 8 a nastavit systém jako server VPN. Také jsme vám ukázali, jak nastavit klienta CentOS 8 WireGuard VPN a nakonfigurovat klienta tak, aby směroval provoz přes server VPN WireGuard.