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 si ho u nás objednať .
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.
Takže, server s operačným systémom Ubuntu 22.04 je pripravený, teraz sa k nemu pripájame cez SSH. Ak ste sa s týmto protokolom ešte nestretli, potom vám pomôže článok, v ktorom je tento proces podrobne popísaný. Druhý odsek článku je pre operačný systém Linux, tretí pre operačný systém 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ý textový editor pre Linux . Ja použijem nano. Na jeho inštaláciu je potrebné 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 si 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!