GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit WireGuard VPN na Ubuntu 20.04

WireGuard je open source a na bezpečnost zaměřená virtuální privátní síť navržená pro jednoduchost a snadné použití. Podporuje různé operační systémy včetně Linuxu, macOS, Windows, BSD a Androidu. Jedná se o jednoduchou a univerzální VPN, kterou lze snadno nasadit na malá zařízení na špičkové servery. Jedná se o dvoubodový server VPN namísto modelu klient-server. K autentizaci klienta používá mechanismus výměny veřejného klíče.

Pokud hledáte lehkou a rychlou VPN, pak je pro vás WireGuard VPN tou nejlepší volbou. V tomto tutoriálu vám ukážeme, jak nainstalovat server a klienta WireGuard VPN na Ubuntu 20.04.

Předpoklady

  • Dva servery se serverem Ubuntu 20.04.
  • Na obou serverech je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve se doporučuje aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:

apt-get update -y

Jakmile budou všechny balíčky aktualizovány, budete muset nainstalovat Iptables do vašeho systému. Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install iptables -y

Po dokončení instalace můžete přejít k dalšímu kroku.

Instalovat WireGuard VPN Server

Ve výchozím nastavení je balíček WireGuard dostupný ve výchozím úložišti Ubuntu 20.04. Můžete jej nainstalovat spuštěním následujícího příkazu:

apt-get install wireguard -y

Jakmile je balíček WireGuard nainstalován, můžete přejít k dalšímu kroku.

Konfigurace serveru WireGuard

WireGuard funguje na principu výměny veřejných klíčů mezi každým zařízením v síti WireGuard. Budete tedy muset na serveru vytvořit veřejný a soukromý klíč.

WireGuard poskytuje wg a wg-rychlý nástroj příkazového řádku pro vytvoření klíče a správu rozhraní.

Pomocí následujícího příkazu můžete vytvořit veřejný i soukromý klíč:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Jakmile jsou oba klíče vytvořeny, můžete je zkontrolovat pomocí následujícího příkazu:

ls /etc/wireguard

Měli byste vidět následující výstup:

privatekey publickey

Obsah soukromého klíče můžete zobrazit pomocí následujícího příkazu:

cat /etc/wireguard/privatekey

Měli byste vidět následující výstup:

4M1l65NIaoR2+fQ6xVnIdwj6iVjsSPDkEMuzVnbFh3A=

Obsah veřejného klíče můžete zobrazit pomocí následujícího příkazu:

cat /etc/wireguard/publickey

Měli byste vidět následující výstup:

00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=

Dále budete muset vytvořit síťové rozhraní pro WireGuard. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/wireguard/wg0.conf

Přidejte následující řádky:

[Interface]Address =10.0.0.1/24SaveConfig =trueListenPort =51820PrivateKey =server-private-keyPostUp =iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown =iptables -D VPŘED -i %i -j PŘIJMOUT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Po dokončení uložte a zavřete soubor.

Kde :

  • Adresa: Soukromá IP adresa pro rozhraní wg0.
  • ListenPort: Zadejte naslouchací port WireGuard.
  • Soukromý klíč: Soukromý klíč uložený v souboru /etc/wireguard/privatekey.
  • PostUp: Zadejte příkaz, který umožní provozu opustit server a poskytnout klientům VPN přístup k Internetu. Také nahraďte eth0 názvem vašeho síťového rozhraní.

Dále nastavte správná oprávnění pro privátní klíč a soubor wg0.

chmod 600 /etc/wireguard/{privatekey,wg0.conf}

Dále povolte rozhraní wg0 spuštěním následujícího příkazu:

wg-quick up wg0

Měli byste získat následující výstup:

[#] ip link add wg0 type wireguard[#] wg setconf wg0 /dev/fd/63[#] ip -4 address add 10.0.0.1/24 dev wg0[#] ip link set mtu 1420 up dev wg0 [#] iptables -A VPŘED -i wg0 -j PŘIJMOUT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Službu WireGuard můžete také spustit pomocí systemd, jak je uvedeno níže:

systemctl start [email protected]

Dále povolte spuštění služby WireGuard při restartu systému pomocí následujícího příkazu:

systemctl enable [email protected]

Dále ověřte stav služby WireGuard pomocí následujícího příkazu:

stav systemctl [e-mail chráněn]

Měli byste získat následující výstup:

? [chráněno e-mailem] – WireGuard přes wg-quick(8) pro wg0 Načteno:načteno (/lib/systemd/system/[chráněn e-mailem]; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (ukončeno) od čt 2020-12- 10 11:42:14 UTC; Před 7 s Dokumenty:man:wg-quick(8) man:wg(8) https://www.wireguard.com/ https://www.wireguard.com/quickstart/ https://git.zx2c4.com/ wireguard-tools/about/src/man/wg-quick.8 https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8 Proces:2173 ExecStart=/usr/bin/wg- quick up wg0 (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:2173 (kód=ukončeno, stav=0/ÚSPĚCH) 10. prosince 11:42:14 ubuntu2004 systemd[1]:Spouštění WireGuard přes wg-quick(8 ) pro wg0...Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] ip link add wg0 type wireguardDec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] wg setconf /dev/fd/63Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] ip -4 address add 10.0.0.1/24 dev wg0Dec 10 11:42:14 ubuntu2004 wg-quick [2173quick] #] ip link set mtu 1420 up dev wg0Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEDec 10 11:42:14 ubuntu2004 systemd[1]:Dokončeno WireGuard přes wg-quick(8) pro wg0.

Stav rozhraní wg0 můžete také zkontrolovat pomocí následujícího příkazu:

wg show wg0

Měli byste získat následující výstup:

rozhraní:wg0 veřejný klíč:00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=soukromý klíč:(skrytý) naslouchací port:51820

Stav IP adresy rozhraní wg0 můžete získat následujícím příkazem:

ip a show wg0

Měli byste získat následující výstup:

13:wg0: mtu 1420 stav noqueue qdisc NEZNÁMÝ výchozí skupina qlen 1000 link/žádný inet 10.0.0.1/24 rozsah globální wg0 valid_lft navždy preferovaný_lft navždy

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Povolit přesměrování IP

Dále budete muset povolit předávání IP na vašem serveru pro směrování paketů mezi klienty VPN a Internetem. Můžete to povolit úpravou souboru /etc/sysctl.conf:

nano /etc/sysctl.conf

Změňte následující řádek:

net.ipv4.ip_forward=1

Uložte a zavřete soubor a poté spusťte následující příkaz pro použití změn konfigurace:

sysctl -p

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalace a konfigurace klienta WireGuard

Nejprve budete muset nainstalovat balíček WireGuard na klientský počítač. Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install wireguard -y

Po instalaci balíčku WireGuard vytvořte soukromý klíč a veřejný klíč pomocí následujícího příkazu:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Jakmile jsou oba klíče vytvořeny, budete muset vytvořit nový konfigurační soubor.

Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/wireguard/wg0.conf

Přidejte následující řádky:

[Interface]PrivateKey =client-private-keyAddress =10.0.0.2/24[Peer]PublicKey =server-public-keyEndpoint =server-ip-address:51820AllowedIPs =0.0.0.0/0

Po dokončení uložte a zavřete soubor.

Kde :

  • Adresa: Soukromá IP adresa pro rozhraní wg0.
  • Soukromý klíč: Zadejte soukromý klíč na klientském počítači.
  • PublicKey: Zadejte veřejný klíč na serveru.
  • Koncový bod: Zadejte IP adresu serveru.
  • Povolené IP: Zadejte seznam povolených IP adres.

Dále budete muset přidat klientský veřejný klíč a IP adresu na serveru.

Na počítači serveru spusťte následující příkaz pro přidání obou:

wg set wg0 peer client-public-key enabled-ips 10.0.0.2

Dále budete muset vyvolat rozhraní wg0 na klientském počítači.

Na klientském počítači spusťte následující příkaz pro zobrazení rozhraní:

wg-quick up wg0

Měli byste získat následující výstup:

[#] ip link add wg0 type wireguard[#] wg setconf wg0 /dev/fd/63[#] ip -4 address add 10.0.0.2/24 dev wg0[#] ip link set mtu 1420 up dev wg0 [#] wg set wg0 fwmark 51820

V tomto okamžiku je váš klientský počítač připojen k serveru WireGuard VPN. Stav připojení můžete zkontrolovat pomocí následujícího příkazu:

wg

Měli byste získat následující výstup:

Rozhraní:WG0 Public Key:3FXBDPAO4VADO1TDJLTVQT+JNOCA+W2PileFYQ8KYB4 =PRIVATE KEY:(Skrytý) Poslechový port:38830 FWARK:697.016330:60.010:63.010:63.0130:630. /0 poslední handshake:před 41 sekundami přenos:5,27 KiB přijato, 12,97 KiB odesláno

Závěr

Blahopřejeme! úspěšně jste nainstalovali a nakonfigurovali WireGuard VPN server a klienta na serveru Ubuntu 20.04. Nyní by měl být provoz z vašeho klientského počítače směrován přes váš serverový stroj. Nyní můžete surfovat po internetu anonymně a uchovávat svá data v soukromí.


Ubuntu
  1. Jak nastavit Wireguard VPN na CentOS 8

  2. Jak nastavit WireGuard VPN na CentOS 8

  3. Jak na Ubuntu nainstaluji a nastavím Git?

  1. Jak nastavit WireGuard VPN na Ubuntu (průvodce krok za krokem)

  2. Jak nastavit WireGuard na Ubuntu 22.04

  3. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  1. Jak nainstalovat Redis na Ubuntu 20.04 / 18.04

  2. Jak vytvořit VPN na Ubuntu 20.04 pomocí Wireguard

  3. Jak nastavit server OpenVPN na Ubuntu 18.04