Wireguard je spolehlivý a pokročilý software pro tunelování VPN s otevřeným zdrojovým kódem, který můžete nainstalovat a používat právě teď k vytvoření zabezpečeného připojení k serveru typu point-to-point. Je multiplatformní a může běžet téměř kdekoli, včetně Linuxu, Windows, Androidu a macOS. Wireguard je peer-to-peer VPN. nepoužívá model klient-server. V závislosti na své konfiguraci může peer fungovat jako tradiční server nebo klient.
Zde v LinuxAPT, jako součást našich služeb správy serveru, pravidelně pomáháme našim zákazníkům provádět související dotazy týkající se instalace softwaru.
V této souvislosti se podíváme na to, jak nainstalovat Wireguard na Ubuntu 20.04 LTS.
Kroky k instalaci a konfiguraci Wireguard na Ubuntu 20.04 LTS Focal Fossa
1. Proveďte aktualizaci systému
Nejprve se ujistěte, že všechny vaše systémové balíčky jsou aktuální spuštěním následujících příkazů apt v terminálu:
$ sudo apt update
$ sudo apt upgrade
2. Nainstalujte Wireguard do systému
WireGuard je k dispozici z výchozích úložišť Ubuntu. Spusťte následující příkazy a nainstalujte jej:
$ sudo apt install wireguard
3. Nakonfigurujte WireGuard
Nejprve spusťte následující příkaz pro vygenerování dvojice klíčů:
$ wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
Poté vytvořte nový soubor s názvem wg0.conf a přidejte následující obsah:
$ sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
Výše uvedené termíny ze souboru wg0.conf jsou definovány níže:
- Adresa – seznam IP adres v4 nebo v6 pro rozhraní wg0 oddělených čárkami. Používejte adresy IP z rozsahu, který je vyhrazen pro privátní sítě (10.0.0.0/8, 172.16.0.0/12 nebo 192.168.0.0/16).
- ListenPort – port, na kterém bude WireGuard přijímat příchozí připojení.
- PrivateKey – soukromý klíč generovaný příkazem wg genkey. (Chcete-li zobrazit obsah souboru, spusťte:sudo cat /etc/wireguard/privatekey)
- SaveConfig – při nastavení na hodnotu true se aktuální stav rozhraní při vypnutí uloží do konfiguračního souboru.
- PostUp – příkaz nebo skript, který se provede před spuštěním rozhraní. V tomto příkladu používáme iptables k povolení maskování. To umožní provozu opustit server a klientům VPN poskytne přístup k Internetu.
- PostDown – příkaz nebo skript, který se provede před spuštěním rozhraní. Pravidla iptables budou odstraněna, jakmile bude rozhraní vypnuto.
Soubory wg0.conf a soukromý klíč by neměly být čitelné pro normální uživatele. Pomocí chmod nastavte oprávnění na 600:
$ sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
Po dokončení zvedněte rozhraní wg0 pomocí atributů uvedených v konfiguračním souboru:
$ sudo wg-quick up wg0
[#] 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 FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Chcete-li přenést rozhraní WireGuard při spouštění, spusťte následující příkaz:
$ sudo systemctl enable wg-quick@wg0
4. Nakonfigurujte bránu firewall
Musíte otevřít provoz UDP na portu 51820:
$ sudo ufw allow 51820/udp
Nakonec můžeme spustit službu Wireguard pomocí následujícího příkazu:
$ sudo wg-quick up wg0