WireGuard je univerzálna VPN (Virtual Private Network), ktorá využíva najmodernejšiu kryptografiu. V porovnaní s inými populárnymi riešeniami VPN, ako sú IPsec a OpenVPN, je WireGuard všeobecne rýchlejší, ľahšie konfigurovateľný a má menšiu stopu. Má viac platforiem a môže bežať takmer kdekoľvek, vrátane Linuxu, Windows, Androidu a macOS.
Wireguard je peer-to-peer VPN; nepoužíva model klient-server. V závislosti od konfigurácie môže rovnocenný server fungovať ako tradičný server alebo klient. Funguje to tak, že sa na každom partnerskom zariadení vytvára sieťové rozhranie, ktoré funguje ako tunel. Rovesníci sa navzájom autentifikujú výmenou a overovaním verejných kľúčov, čím napodobňujú model SSH. Verejné kľúče sú mapované so zoznamom adries IP, ktoré sú v tuneli povolené. Prevádzka VPN je zapuzdrená v UDP.
Tento článok vysvetľuje, ako nainštalovať a nakonfigurovať WireGuard na Debiane 10, ktorý bude fungovať ako server VPN. Ukážeme vám tiež, ako nakonfigurovať WireGuard ako klienta v systémoch Linux, Windows a macOS. Prevádzka klienta bude smerovaná cez server Debian 10.
Toto nastavenie možno použiť ako ochranu pred útokmi Man in the Middle, anonymným surfovaním po webe, obchádzaním obsahu s obmedzeným geografickým prístupom alebo umožnením bezpečného pripojenia vašich kolegov, ktorí pracujú z domu, k firemnej sieti.
Predpoklady #
Ak chcete postupovať podľa tejto príručky, budete potrebovať počítač s nainštalovaným Debianom 10. Potrebujete tiež root alebo [sudo access] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / na inštaláciu balíkov a vykonávanie zmien v systéme.
Nastavenie servera WireGuard #
Začneme inštaláciou balíka WireGuard na stroj Debian a jeho nastavením tak, aby fungoval ako server. Budeme tiež konfigurovať systém tak, aby cez neho smeroval prenosy klientov.
Nainštalujte si WireGuard na Debian 10 #
WireGuard je k dispozícii v úložiskách backportov Debianu. Ak chcete pridať úložisko do svojho systému, spustite:
echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.zoznam.d / buster-backports.zoznam
Po povolení úložiska aktualizujte apt cache a nainštalujte modul a nástroje WireGuard:
WireGuard beží ako modul jadra.sudo apt aktualizácia
sudo apt nainštalovať wireguard
Konfigurácia WireGuard #
Rozhrania WireGuard môžete konfigurovať a spravovať pomocou wg
a rýchlo-rýchlo
nástroje príkazového riadku.
Každé zariadenie v sieti WireGuard VPN musí mať súkromný a verejný kľúč. Spustením nasledujúceho príkazu vygenerujte pár kľúčov:
wg genkey | sudo tričko / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Súbory sa generujú v / etc / wireguard
adresár. Použi kat
alebo menej
príkazy na prezeranie obsahu súborov. Súkromný kľúč by nikdy nemal byť zdieľaný s nikým a mal by byť vždy chránený.
Wireguard tiež podporuje vopred zdieľaný kľúč, ktorý pridáva ďalšiu vrstvu kryptografie so symetrickým kľúčom. Tento kľúč je voliteľný a musí byť jedinečný pre každý partnerský pár.
Ďalším krokom je konfigurácia tunelového zariadenia, ktoré bude smerovať prenos VPN.
Zariadenie je možné nastaviť buď z príkazového riadku pomocou ip
a wg
príkazmi alebo ručným vytvorením konfiguračného súboru. Konfiguráciu vytvoríme pomocou textového editora.
Otvorte editor a vytvorte nový súbor s názvom wg0.konf
s nasledujúcim obsahom:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Rozhranie] Adresa = 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 VPRED -i% i -j AKCEPTOVAŤ; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
Rozhranie môžete pomenovať, ako chcete. Odporúča sa však použiť niečo ako wg0
alebo wgvpn0
.
Nastavenia v časti rozhrania majú nasledujúci význam:
Adresa - Zoznam adries IP v4 alebo v6 oddelených čiarkami pre server
wg0
rozhranie. Môžete IP adresu z rozsahu vyhradeného pre súkromné siete (10.0.0.0/8, 172.16.0.0/12 alebo 192.168.0.0/16).ListenPort - načúvací port.
PrivateKey - súkromný kľúč vygenerovaný
wg genkey
príkaz. (Ak chcete zobraziť obsah typu súboru:sudo cat / etc / wireguard / privatekey
)SaveConfig - Ak je nastavená hodnota true, aktuálny stav rozhrania sa po vypnutí uloží do konfiguračného súboru.
PostUp - príkaz alebo skript, ktorý sa vykoná pred uvedením rozhrania. V tomto príklade používame iptables na povolenie maskovania. To umožňuje prenosu opustiť server a umožniť klientom VPN prístup na internet.
Uistite sa, že ste vymenili
ens3
po-POSTROUTING
aby zodpovedal názvu vášho rozhrania verejnej siete. Rozhranie môžete ľahko nájsť pomocou:trasa ip -o -4 predvolená | awk 'print $ 5'
PostDown - Príkaz alebo skript, ktorý sa vykoná pred odstránením rozhrania. Keď bude rozhranie nefunkčné, pravidlá iptables budú odstránené.
The wg0.konf
a privatekey
súbory by nemali byť čitateľné pre bežných používateľov. Použite chmod
nastaviť povolenie súborov na 600
:
sudo chmod 600 / etc / wireguard / privatekey, wg0.conf
Po dokončení prineste wg0
rozhranie pomocou atribútov uvedených v konfiguračnom súbore:
sudo wg-quick up wg0
Výstup bude vyzerať asi takto:
[#] ip link pridať ochranný kryt typu wg0 [#] wg setconf wg0 / dev / fd / 63 [#] adresa ip -4 pridať 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A VPRED -i wg0 -j AKCEPTOVAŤ; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Ak chcete skontrolovať stav a konfiguráciu rozhrania, spustite:
sudo wg show wg0
rozhranie: wg0 verejný kľúč: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = súkromný kľúč: (skrytý) načúvací port: 51820
Môžete tiež overiť stav rozhrania pomocou ip show wg0
:
ip show wg0
4: wg0: mtu 1420 stav diskov qdisc NEZNÁMY predvolená skupina qlen 1000 odkaz / žiadny inet 10.0.0.Globálny rozsah 1/24 wg0 valid_lft navždy preferovaný_lft navždy
WireGuard je možné spravovať pomocou Systemd. Ak chcete rozhranie WireGuard spustiť v čase zavádzania, spustite nasledujúci príkaz:
sudo systemctl povoliť wg-quick @ wg0
Sieť servera a konfigurácia brány firewall #
Aby fungovalo NAT, musí byť povolené presmerovanie IP. Otvor / etc / sysctl.konf
súbor a pridajte alebo odkomentujte nasledujúci riadok:
sudo nano / etc / sysctl.konf
/ etc / sysctl.konfsieť.ipv4.ip_forward = 1
Uložte súbor a použite zmenu:
sudo sysctl -p
sieť.ipv4.ip_forward = 1
Ak na správu svojho firewallu používate UFW, musíte otvoriť prenos UDP na porte 51820
:
sudo ufw povoliť 51820 / udp
To je všetko. Bol nastavený rovnocenný server Debianu, ktorý bude fungovať ako server.
Nastavenie klientov Linux a macOS #
Pokyny na inštaláciu pre všetky podporované platformy sú k dispozícii na https: // wireguard.com / install / . V systémoch Linux môžete balík nainštalovať pomocou správcu distribučných balíkov a v systémoch macOS s variť
.
Po nainštalovaní nakonfigurujte klientske zariadenie podľa nasledujúcich pokynov.
Proces nastavenia klienta so systémom Linux a macOS je v podstate rovnaký ako v prípade servera. Najskôr vygenerujte verejný a súkromný kľúč:
wg genkey | sudo tričko / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Vytvorte súbor wg0.konf
a pridajte nasledujúci obsah:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Rozhranie] PrivateKey = CLIENT_PRIVATE_KEY Adresa = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
Nastavenia v časti rozhrania majú rovnaký význam ako pri nastavovaní servera:
- Adresa - Zoznam adries IP v4 alebo v6 oddelených čiarkami pre server
wg0
rozhranie. - PrivateKey - obsah súboru na klientskom počítači zobrazíte spustením:
sudo cat / etc / wireguard / privatekey
Sekcia peer obsahuje nasledujúce polia:
- PublicKey - verejný kľúč partnera, ku ktorému sa chcete pripojiť. (Obsah servera
/ etc / wireguard / publickey
súbor). - Koncový bod - IP alebo názov hostiteľa partnera, ku ktorému sa chcete pripojiť, nasledovaný dvojbodkou a potom číslom portu, na ktorom vzdialený partner počúva.
- AllowedIPs - Čiarkami oddelený zoznam adries IP v4 alebo v6, z ktorých je povolená prichádzajúca komunikácia pre peer a na ktorú smeruje odchádzajúca komunikácia pre tohto peer. Používame 0.0.0.0/0, pretože smerujeme prenos a chceme, aby rovnocenný server odosielal pakety s ľubovoľnou zdrojovou IP.
Ak potrebujete nakonfigurovať ďalších klientov, opakujte rovnaké kroky s použitím inej súkromnej adresy IP.
Nastavenie klientov Windows #
Stiahnite a nainštalujte si balík Windows msi z webovej stránky WireGuard .
Po nainštalovaní otvorte aplikáciu WireGuard a kliknite na „Pridať tunel“ -> „Pridať prázdny tunel ...“, ako je to znázornené na obrázku nižšie:
Zverejnený pár sa automaticky vytvorí a zobrazí na obrazovke.
Zadajte názov tunela a upravte konfiguráciu takto:
[Rozhranie] PrivateKey = CLIENT_PRIVATE_KEY Adresa = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AllowedIPs = 0.0.0.0/0
V časti rozhranie pridajte nový riadok na definovanie adresy tunela klienta.
V sekcii peer pridajte nasledujúce polia:
- PublicKey - Verejný kľúč servera Debian (
/ etc / wireguard / publickey
súbor). - Koncový bod - IP adresa servera Debian nasledovaná dvojbodkou a portom WireGuard (51820).
- Povolené IP - 0.0.0.0/0
Po dokončení kliknite na tlačidlo „Uložiť“.
Pridajte klienta Peer na server #
Posledným krokom je pridanie verejného kľúča a IP adresy klienta na server. Za týmto účelom spustite na serveri Debian nasledujúci príkaz:
sudo wg set wg0 peer CLIENT_PUBLIC_KEY enabled-ips 10.0.0.2
Nezabudnite zmeniť CLIENT_PUBLIC_KEY
s verejným kľúčom, ktorý ste vygenerovali na klientskom počítači (sudo cat / etc / wireguard / publickey
) a upravte IP adresu klienta, ak je iná. Používatelia systému Windows môžu kopírovať verejný kľúč z aplikácie WireGuard.
Po dokončení sa vráťte späť do klientskeho počítača a otvorte rozhranie tunelovania.
Klienti systému Linux a macOS #
Spustením nasledujúceho príkazu vyvolajte rozhranie:
sudo wg-quick up wg0
Teraz by ste mali byť pripojení k serveru Debian a mala by sa cez neho smerovať komunikácia z vášho klientskeho počítača. Pripojenie môžete skontrolovať pomocou:
sudo wg
rozhranie: wg0 verejný kľúč: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = súkromný kľúč: (skrytý) načúvací port: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uA8 = PG.XXX.XXX.XXX: 51820 povolených ips: 0.0.0.0/0 najnovšie podanie ruky: pred 53 sekundami prenos: 3.23 prijatých KiB, 3.Bolo odoslaných 50 KiB
Môžete tiež otvoriť prehľadávač, napísať „what is my ip“ a mala by sa zobraziť adresa IP vášho servera Debian.
Tunelovanie zastavíte spustením wg0
rozhranie:
sudo wg-quick down wg0
Klienti Windows #
Ak ste nainštalovali WireGuard na Windows, kliknite na tlačidlo „Aktivovať“. Po pripojení rovnocenných zariadení sa stav tunela zmení na Aktívny:
Záver #
Ukázali sme vám, ako nainštalovať WireGuard na Debian 10 a nakonfigurovať ho ako server VPN. Toto nastavenie umožňuje anonymné surfovanie po webe tak, že vaše prevádzkové údaje budú súkromné.
Ak čelíte problémom, neváhajte zanechať komentár.