Tento článek podrobně popisuje, jak nastavit Wireguard VPN na vašem serveru. Může to být virtuální nebo privátní server - na tom tolik nezáleží.
Tento průvodce nastavením VPN Wireguard je určen pro uživatele, kteří nemají mnoho zkušeností, takže všechny kroky budou poměrně podrobné a budou následovat snímky obrazovky.
Provoz procházející naším tunelem bude šifrovaný a internet zobrazí IP adresu našeho VPN serveru, nikoli adresu poskytovatele, přes kterého k síti přistupujeme.
Předpokládá se, že již máte VPS. Pokud ne, můžete objednat to od nás.
Na náš server nainstalujeme operační systém Ubuntu 22.04. Pokud máte server s jiným operačním systémem, můžete jej snadno přeinstalovat podle následujícího instrukce.
Server s operačním systémem Ubuntu 22.04 je tedy připraven, nyní se k němu připojujeme přes SSH. Pokud jste se náhle s tímto protokolem ještě nesetkali, pomůže vám článek, ve kterém je tento proces podrobně popsán. Druhý odstavec článek je pro OS Linux, třetí je pro OS Windows.
Nastavte server Wireguard
Po úspěšném připojení napíšu několik příkazů a popis toho, co vytvářejí, abych pochopil proces:
Aktualizujeme seznam balíčků v úložištích
apt update
Obnova samotných balíčků
apt upgrade -y
Nainstalujte balíček wireguard
apt install -y wireguard
Naše konfigurace bude uložena v adresáři /etc/wireguard/, musíme zadat adresář:
cd /etc/wireguard/
Pro náš server budeme potřebovat veřejný a soukromý klíč. Vygenerujeme je po nastavení správných práv při vytváření souborů a adresářů pomocí příkazů:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Nyní nastavíme práva pro soukromý klíč:
chmod 600 privatekey
Před vytvořením konfiguračního souboru potřebujeme název našeho síťového rozhraní. Chcete-li to zjistit, použijte příkaz:
ip a
Potřebujeme rozhraní s IP adresou, která se používá pro aktuální připojení. Pravděpodobně se ve vašem případě bude jmenovat ens3, ale může existovat i jiné jméno.
Budeme také potřebovat veřejný a soukromý klíč. K jejich zobrazení používám ocas
tail privatekey publickey
Vypadá to takto:
Pro úpravy můžete použít jakýkoli Linuxový textový editor. Budu používat nano. Chcete-li jej nainstalovat, musíte spustit příkaz:
apt install -y nano
Upravujeme konfigurační soubor:
nano /etc/wireguard/wg0.conf
Hodnocení
pro uložení souboru použijeme kombinaci tlačítek ctrl+o
pro ukončení - ctrl+x
Mělo by vypadat takto:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
V mém případě to vypadá takto
Zapneme přesměrování IP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Spustit službu Wireguard:
systemctl start [email protected]
Pokud chceme, aby se služba spustila po restartu serveru, uděláme následující:
systemctl enable [email protected]
Pro zobrazení stavu služby:
systemctl status [email protected]
Stav by měl být aktivní jako na snímku obrazovky:
Pokud jste pečlivě dodržovali naše pokyny, pak v této fázi máte vše, co potřebujete, aby serverová část VPN Wireguard fungovala.
Nastavení klienta Wireguard
Zbývá pouze nakonfigurovat klientskou část. Pro příklad a jednoduchost vygeneruji klíče pro klientskou část i na serveru. Ale z bezpečnostních důvodů by bylo správnější generovat klíče na straně klienta. Ke generování používám příkazy:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Také vygeneruji klíče pro použití VPN v telefonu:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Je třeba poznamenat, že toto vše je nutné provést během pobytu v katalogu
/etc/wireguard/
Můžete také běžet v jiném katalogu. Ale pro jednoduchost provedeme instrukce v /etc/wireguard/
K výpisu souborů v adresáři používáme příkaz ls. Mám to takhle:
Pojďme zobrazit veřejné klíče na obrazovce. Budeme je potřebovat, abychom mohli přidat uzly do naší sítě:
tail mypc_publickey myphone_publickey
U mě to vypadá takto:
Upravme náš konfigurační soubor:
nano wg0.conf
Přidejte následující řádky:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Nyní konfigurační soubor vypadá takto:
Uložte soubor a restartujte naši službu:
systemctl restart wg-quick@wg0
Zkontrolujeme, že vše proběhlo úspěšně:
systemctl status wg-quick@wg0
Stav musí být aktivní
Po každé úpravě konfiguračního souboru serveru (wg0.conf) je nutné službu znovu načíst
Dále vytvoříme konfigurace pro klienty (v mém případě můj PC a telefon). To samé udělám na serveru.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
V poli Endpoint můžete vidět IP adresu serveru - to je IP adresa, kterou jsme použili pro připojení přes SSH. Chcete-li zobrazit rozhraní a adresy, můžete použít příkaz ip a.
Nastavte Wireguard pro mobil
Vytváříme podobnou konfiguraci pro náš telefon. Stačí změnit adresu. Pro PC to bylo 10.30.0.2/32 a v konfiguraci pro telefon uděláme 10.30.0.3/32. Také, pokud chceme používat VPN na jiných zařízeních, měli bychom přidat další adresy do pole Adresa v konfiguračních souborech a konfiguračního souboru serveru wg0.conf, pole AllowedIPs při vytváření konfigurací
Soubory vypadají v mém případě takto:
mypc.conf
myphone.conf
Pro připojení nainstalujeme klienta wireguard https://www.wireguard.com/install/
V aplikaci Windows přidáme nový tunel a zadáme konfiguraci vytvořenou v souboru mypc.conf
Spustíme tunel a přejdeme do prohlížeče na webovou stránku, která zobrazuje naši adresu
Chcete-li do telefonu pohodlně přidat VPN, nainstalujte si na server program pro generování qr kódů:
apt install -y qrencode
V konfiguračním adresáři proveďte následující krok:
qrencode -t ansiutf8 -r myphone.conf
Poté vstoupíme do aplikace Wireguard na telefonu, stisknutím + vytvoříme nový tunel, vybereme naskenovat QR kód, naskenovat, zapnout VPN. Dále zkontrolujeme, že zobrazujeme adresu našeho serveru pomocí jakéhokoli prostředku, který zobrazuje výstupní IP adresu.
Udělal jsi to!