Tento článok podrobne popisuje, ako nastaviť Wireguard VPN na vašom serveri. Môže to byť virtuálny alebo súkromný server - na tom až tak nezáleží.
Tento sprievodca nastavením VPN Wireguard je určený pre používateľov, ktorí nemajú veľa skúseností, takže všetky kroky budú dosť podrobné a po nich budú nasledovať snímky obrazovky.
Prevádzka prechádzajúca cez náš tunel bude šifrovaná a internet zobrazí IP adresu nášho VPN servera, nie adresu poskytovateľa, cez ktorý pristupujeme do siete.
Predpokladá sa, že už máte VPS. Ak nie, môžete poriadok to od nás.
Na náš server nainštalujeme operačný systém Ubuntu 22.04. Ak máte server s iným operačným systémom, môžete ho jednoducho preinštalovať podľa pokynov inštrukcie.
Server s operačným systémom Ubuntu 22.04 je teda pripravený, teraz sa k nemu pripájame cez SSH. Ak ste sa zrazu s týmto protokolom predtým nestretli, pomôže vám článok, v ktorom je tento proces podrobne popísaný. Druhý odsek článok je pre OS Linux, tretí je pre OS Windows.
Nastavte server Wireguard
Po úspešnom pripojení napíšem niekoľko príkazov a popis toho, čo produkujú, aby som pochopil proces:
Aktualizujeme zoznam balíkov v úložiskách
apt update
Obnova samotných balíčkov
apt upgrade -y
Nainštalujte balík Wireguard
apt install -y wireguard
Naša konfigurácia bude uložená v adresári /etc/wireguard/, musíme zadať adresár:
cd /etc/wireguard/
Budeme potrebovať verejný a súkromný kľúč pre náš server. Vygenerujeme ich po nastavení správnych práv pri vytváraní súborov a adresárov príkazmi:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Teraz nastavíme práva pre súkromný kľúč:
chmod 600 privatekey
Pred vytvorením konfiguračného súboru potrebujeme názov nášho sieťového rozhrania. Ak ho chcete zistiť, použite príkaz:
ip a
Potrebujeme rozhranie s IP adresou, ktorá sa používa pre aktuálne pripojenie. Pravdepodobne sa vo vašom prípade bude volať ens3, ale môže existovať aj iný názov.
Budeme tiež potrebovať verejný a súkromný kľúč. Na ich zobrazenie používam chvost
tail privatekey publickey
Vyzerá to takto:
Na úpravu môžete použiť ľubovoľné Linuxový textový editor. Budem používať nano. Ak ho chcete nainštalovať, musíte spustiť príkaz:
apt install -y nano
Upravujeme konfiguračný súbor:
nano /etc/wireguard/wg0.conf
Poznámky
na uloženie súboru použijeme kombináciu tlačidiel ctrl+o
pre ukončenie - ctrl+x
Mal by vyzerať 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 mojom prípade to vyzerá takto
Zapneme preposielanie IP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Spustiť službu Wireguard:
systemctl start [email protected]
Ak chceme, aby sa služba spustila po reštarte servera, urobíme nasledovné:
systemctl enable [email protected]
Ak chcete zobraziť stav služby:
systemctl status [email protected]
Stav by mal byť aktívny ako na snímke obrazovky:
Ak ste pozorne postupovali podľa našich pokynov, v tejto fáze máte všetko, čo potrebujete na to, aby serverová časť VPN Wireguard fungovala.
Nastavenie klienta Wireguard
Zostáva už len konfigurácia klientskej časti. Napríklad a jednoduchosť vygenerujem kľúče pre klientsku časť aj na serveri. Ale z bezpečnostných dôvodov by bolo správnejšie generovať kľúče na strane klienta. Na generovanie používam príkazy:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Tiež vygenerujem kľúče na používanie VPN v telefóne:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Je potrebné poznamenať, že toto všetko je potrebné urobiť počas pobytu v katalógu
/etc/wireguard/
Môžete spustiť aj v inom katalógu. Ale pre jednoduchosť vykonáme inštrukcie v /etc/wireguard/
Na výpis súborov v adresári používame príkaz ls. Mám to takto:
Zobrazme verejné kľúče na obrazovke. Budeme ich potrebovať na pridanie uzlov do našej siete:
tail mypc_publickey myphone_publickey
U mňa to vyzerá takto:
Upravme náš konfiguračný súbor:
nano wg0.conf
Pridajte nasledujúce riadky:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Teraz konfiguračný súbor vyzerá takto:
Uložte súbor a reštartujte našu službu:
systemctl restart wg-quick@wg0
Skontrolujte, či bolo všetko úspešné:
systemctl status wg-quick@wg0
Stav musí byť aktívny
Opätovné načítanie služby sa vyžaduje vždy po úprave konfiguračného súboru servera (wg0.conf)
Ďalej vytvoríme konfigurácie pre klientov (v mojom prípade môj PC a telefón). To isté urobím na serveri.
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 vidieť IP adresu servera - je to IP adresa, ktorú sme použili na pripojenie cez SSH. Ak chcete zobraziť rozhrania a adresy, môžete použiť príkaz ip a.
Nastavte Wireguard pre mobil
Vytvárame podobnú konfiguráciu pre náš telefón. Stačí zmeniť adresu. Pre PC to bolo 10.30.0.2/32 a v konfigurácii pre telefón urobíme 10.30.0.3/32. Tiež, ak chceme používať VPN na iných zariadeniach, mali by sme pri vytváraní konfigurácií pridať ďalšie adresy do poľa Adresa v konfiguračných súboroch a konfiguračného súboru servera wg0.conf, poľa AllowedIPs
Súbory vyzerajú v mojom prípade takto:
mypc.conf
myphone.conf
Pre pripojenie nainštalujeme klienta wireguard https://www.wireguard.com/install/
V aplikácii Windows pridáme nový tunel a zadáme vytvorenú konfiguráciu v súbore mypc.conf
Spustíme tunel a prejdeme do prehliadača na webovú stránku, ktorá zobrazuje našu adresu
Ak chcete do telefónu pohodlne pridať sieť VPN, nainštalujte si na server program na generovanie qr kódov:
apt install -y qrencode
V konfiguračnom adresári urobte nasledujúci krok:
qrencode -t ansiutf8 -r myphone.conf
Potom v telefóne vstúpime do aplikácie Wireguard, stlačením + vytvoríme nový tunel, vyberieme skenovanie QR kódu, naskenujeme ho, zapneme VPN. Ďalej skontrolujeme, či zobrazujeme adresu nášho servera pomocou akéhokoľvek prostriedku, ktorý zobrazuje výstupnú IP adresu.
Urobil si to!