GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavte si svůj vlastní WireGuard VPN server na Ubuntu 20.04/18.04

Tento tutoriál vám ukáže, jak nastavit svůj vlastní server WireGuard VPN na Ubuntu. WireGuard je vyroben speciálně pro linuxové jádro. Běží uvnitř linuxového jádra a umožňuje vám vytvořit rychlý, moderní a bezpečný tunel VPN.

Funkce WireGuard VPN

  • Lehký a super rychlý, vyfoukne OpenVPN z vody.
  • Více platforem. WireGuard lze spustit na systémech Linux, BSD, macOS, Windows, Android, iOS a OpenWRT.
  • Autentizace uživatele se provádí výměnou veřejných klíčů, podobně jako klíče SSH.
  • Přiděluje klientům VPN statické adresy IP tunelu. Některým lidem se to nemusí líbit, ale v některých případech to může být velmi užitečné.
  • Mobilní zařízení mohou plynule přepínat mezi Wi-Fi a mobilní sítí, aniž by došlo k přerušení připojení.
  • Jeho cílem je nahradit OpenVPN a IPSec ve většině případů použití.

WireGuard je můj protokol VPN, který jsem si vybral, abych eliminoval potřebu nastavovat šifrování TLS pro mé soukromé sítě.

Požadavky

Abyste mohli postupovat podle tohoto návodu, budete potřebovat VPS (virtuální privátní server), který může volně přistupovat k blokovaným webovým stránkám (mimo vaši zemi nebo systém filtrování internetu). Doporučuji Kamatera VPS, která obsahuje:

  • 30denní bezplatná zkušební verze.
  • Začíná na 4 USD měsíčně (1 GB RAM)
  • Vysoce výkonný VPS založený na KVM
  • 9 datových center po celém světě, včetně Spojených států, Kanady, Spojeného království, Německa, Nizozemska, Hong Kongu a Isrealu.

Podle níže uvedeného návodu vytvořte svůj Linux VPS server na Kamatera.

  • Jak vytvořit Linux VPS server na Kamateře

Jakmile budete mít VPS se systémem Ubuntu, postupujte podle pokynů níže.

Tento výukový program předpokládá, že server VPN i klient VPN používají Ubuntu operační systém.

Krok 1:Nainstalujte WireGuard na server a plochu Ubuntu

Přihlaste se ke svému serveru Ubuntu a poté spusťte následující příkazy k instalaci WireGuard.

Ubuntu 20.04

Ubuntu 20.04 se dodává s linuxovým jádrem 5.4, které má vestavěný modul wireguard.

sudo apt updatesudo apt install wireguard wireguard-tools

Ubuntu 18.04

Ubuntu 18.04 se dodává s linuxovým jádrem 4.15, takže uživatelé si musí nejprve nainstalovat jádro s podporou hardwaru (HWE), které nainstaluje jádro 5.4 do vašeho systému.

sudo apt updatesudo apt install linux-generic-hwe-18.04-edge

Restartujte server Ubuntu 18.04 a nainstalujte WireGuard.

sudo shutdown -r nowsudo apt install wireguard wireguard-tools wireguard-dkms

Poté pomocí stejných příkazů nainstalujte WireGuard na místní počítač Ubuntu (klient VPN). Všimněte si, že je také nutné nainstalovat openresolv balíček na klientovi pro konfiguraci serveru DNS.

sudo apt install openresolv

Krok 2:Vygenerujte veřejný/soukromý klíčový pár

Server

Spusťte následující příkaz na serveru Ubuntu a vytvořte pár veřejného/soukromého klíče, který bude uložen pod /etc/wireguard/ adresář.

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Klient

Spusťte následující příkaz k vytvoření páru veřejného/soukromého klíče na místním počítači Ubuntu (klient VPN).

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Krok 3:Vytvořte konfigurační soubor WireGuard

Server

Pomocí textového editoru příkazového řádku, jako je Nano, vytvořte konfigurační soubor WireGuard na serveru Ubuntu. wg0 bude název síťového rozhraní.

sudo nano /etc/wireguard/wg0.conf

Zkopírujte následující text a vložte jej do konfiguračního souboru. Musíte použít svůj vlastní soukromý klíč serveru a veřejný klíč klienta.

 [Rozhraní] Adresa =10.10.10.1/24ListenPort =51820PrivateKey =CD + ZjXiVIX + 0iSX1PNijl4a + 88lCbDgw7kO78oXXLEc =[Peer] PublicKey =AYQJf6HbkQ0X0Xyt + cTMTuJe3RFwbuCMF46LKgTwzz4 =AllowedIPs =10.10.10.2/32 

Kde:

  • Adresa :Zadejte soukromou IP adresu serveru VPN. Zde používám síťový rozsah 10.10.10.0/24, takže nebude v konfliktu s dosahem vaší domácí sítě. (Většina domácích routerů používá 192.168.0.0/24 nebo 192.168.1.0/24). 10.10.10.1 je soukromá IP adresa serveru VPN.
  • Soukromý klíč :Soukromý klíč serveru VPN, který lze nalézt v /etc/wireguard/server_private.key soubor na serveru.
  • ListenPort :Server WireGuard VPN bude naslouchat na portu UDP 51820, což je výchozí nastavení.
  • PublicKey :Veřejný klíč klienta VPN, který lze nalézt v /etc/wireguard/client_public.key soubor na klientském počítači.
  • Povolené adresy IP :IP adresy, které může klient VPN používat. V tomto příkladu může klient použít pouze IP adresu 10.10.10.2 uvnitř tunelu VPN.

Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O a poté stiskněte Enter pro potvrzení. Stiskněte Ctrl+X pro ukončení.)

Změňte režim oprávnění k souboru tak, aby soubory mohl číst pouze uživatel root.

sudo chmod 600 /etc/wireguard/ -R

Klient

Pomocí textového editoru příkazového řádku, jako je Nano, vytvořte konfigurační soubor WireGuard na místním počítači Ubuntu. wg-client0 bude název síťového rozhraní.

sudo nano /etc/wireguard/wg-client0.conf

Zkopírujte následující text a vložte jej do konfiguračního souboru. Musíte použít svůj vlastní soukromý klíč klienta a veřejný klíč serveru.

[rozhraní] adresa =10.10.10.2/24dns =10.10.10.1PrivateKey =cofa+x5uvhf+a3xj6enlatg+doe3i5phmgkrmkkuyxi =[peer] publicKey =efbj0i =efbj0i =efbj0i =efbj0i/efbj0i/efbj0i =efbj0i/efbj0i. 56,78:51820PersistentKeepalive =25

Kde:

  • Adresa :Zadejte soukromou IP adresu klienta VPN.
  • DNS :zadejte 10.10.10.1 (VPN server) jako DNS server. Nakonfiguruje se pomocí resolvconf příkaz. Můžete také zadat více serverů DNS pro redundanci takto:DNS = 10.10.10.1 8.8.8.8
  • Soukromý klíč :Soukromý klíč klienta, který lze nalézt v /etc/wireguard/client_private.key soubor na klientském počítači.
  • PublicKey :Veřejný klíč serveru, který lze nalézt v /etc/wireguard/server_public.key soubor na serveru.
  • Povolené adresy IP :0.0.0.0/0 představuje celý internet, což znamená, že veškerý provoz na internetu by měl být směrován přes VPN.
  • Koncový bod :Veřejná IP adresa a číslo portu serveru VPN. Nahraďte 12.34.56.78 skutečnou veřejnou IP adresou vašeho serveru.
  • PersistentKeepalive :Odešlete ověřený prázdný paket peeru každých 25 sekund, aby spojení zůstalo živé. Pokud PersistentKeepalive není povoleno, server VPN nemusí být schopen pingnout klienta VPN.

Uložte a zavřete soubor.

Změňte režim souborů tak, aby soubory mohl číst pouze uživatel root.

sudo chmod 600 /etc/wireguard/ -R

Krok 4:Povolte předávání IP na serveru

Aby server VPN směroval pakety mezi klienty VPN a internetem, musíme povolit předávání IP. Upravte sysctl.conf soubor.

sudo nano /etc/sysctl.conf

Přidejte následující řádek na konec tohoto souboru.

net.ipv4.ip_forward =1

Uložte a zavřete soubor. Poté aplikujte změny pomocí níže uvedeného příkazu. Klávesa -p možnost načte nastavení sysctl z /etc/sysctl.conf soubor. Tento příkaz zachová naše změny po restartování systému.

sudo sysctl -p

Krok 5:Nakonfigurujte maskování IP na serveru

Musíme nastavit maskování IP ve firewallu serveru, aby se server stal virtuálním routerem pro klienty VPN. Budu používat UFW, což je frontend k firewallu iptables. Nainstalujte UFW na Ubuntu pomocí:

sudo apt install ufw

Nejprve musíte povolit provoz SSH.

sudo ufw allow 22/tcp

Dále najděte název hlavního síťového rozhraní vašeho serveru.

ip -c a

Jak vidíte, jmenuje se enp3s0 na mém serveru Ubuntu.

Abychom nakonfigurovali maskování IP adres, musíme přidat příkaz iptables do konfiguračního souboru UFW.

sudo nano /etc/ufw/before.rules

Ve výchozím nastavení existují určitá pravidla pro filter stůl. Přidejte následující řádky na konec tohoto souboru. Nahraďte enp3s0 s vaším vlastním názvem síťového rozhraní.

# pravidla tabulky NAT*nat:POSTROUTING ACCEPT [0:0]-A POSTROUTING -s 10.10.10.0/24 -o enp3s0 -j ​​MASQUERADE# Ukončete každou tabulku řádkem 'COMMIT', jinak tato pravidla nebudou platit zpracován COMMIT

V textovém editoru Nano můžete přejít na konec souboru stisknutím Ctrl+W a poté stiskněte Ctrl+V .

Výše uvedené řádky se připojí (-A ) pravidlo do konce POSTROUTING řetěznat stůl. Propojí vaši virtuální privátní síť s internetem. A také skryjte svou síť před vnějším světem. Internet tedy vidí pouze IP adresu vašeho VPN serveru, ale nevidí IP vašeho VPN klienta, stejně jako váš domácí router skrývá vaši soukromou domácí síť.

Ujistěte se, že na začátku každého řádku nejsou žádné mezery.

Ve výchozím nastavení UFW zakazuje předávání paketů. Můžeme povolit přeposílání pro naši privátní síť. Najděte ufw-before-forward řetězec v tomto souboru a přidejte následující 3 řádky, které budou přijímat předávání paketů, pokud je zdrojová IP nebo cílová IP v 10.10.10.0/24 rozsah.

# povolit přesměrování pro důvěryhodnou síť-A ufw-before-forward -s 10.10.10.0/24 -j ACCEPT-A ufw-before-forward -d 10.10.10.0/24 -j ACCEPT

Uložte a zavřete soubor. Poté povolte UFW.

povolit sudo ufw

Pokud jste již dříve povolili UFW, můžete k restartování UFW použít systemctl.

sudo systemctl restart ufw

Pokud nyní vypíšete pravidla v řetězci POSTROUTING tabulky NAT pomocí následujícího příkazu:

sudo iptables -t nat -L POSTROUTING

Můžete vidět pravidlo maškarády.

UFW může nějakou dobu trvat, než zpracuje pravidla brány firewall. Pokud se pravidlo maškarády nezobrazí, restartujte UFW znovu (sudo systemctl restart ufw ).

Krok 6:Nainstalujte DNS Resolver na server

Protože server VPN zadáváme jako server DNS pro klienta, musíme na serveru VPN spustit překladač DNS. Můžeme nainstalovat server bind9 DNS.

sudo apt install bind9

Jakmile je nainstalován, BIND se automaticky spustí. Jeho stav můžete zkontrolovat pomocí:

systemctl status bind9

Ukázkový výstup:

● named.service - BIND Domain Name Server Načten:načten (/lib/systemd/system/named.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od Ne 2020-05-17 08:11 :26 UTC; Před 37s Dokumenty:muž:pojmenovaný(8) Hlavní PID:13820 (pojmenovaný) Úkoly:5 (limit:1074) Paměť:14,3M CGroup:/system.slice/named.service └─13820 /usr/sbin/named -f -u vázat

Pokud neběží, spusťte jej:

sudo systemctl start bind9

Upravte konfigurační soubor serveru BIND DNS.

sudo nano /etc/bind/named.conf.options

Přidejte následující řádek, aby klienti VPN mohli odesílat rekurzivní dotazy DNS.

allow-recursion { 127.0.0.1; 10.10.10.0/24; };

Uložte a zavřete soubor. Restartujte BIND9, aby se změny projevily.

sudo systemctl restart bind9

Poté musíte spustit následující příkaz, aby se klienti VPN mohli připojit k portu 53.

sudo ufw insert 1 povolit od 10.10.10.0/24

Krok 7:Otevřete port WireGuard v bráně firewall

Spuštěním následujícího příkazu otevřete port UDP 51820 na serveru.

sudo ufw povolit 51820/udp

Krok 8:Spusťte WireGuard

server

Spuštěním následujícího příkazu na serveru spusťte WireGuard.

sudo systemctl start [email protected]

Povolte automatické spouštění při spouštění systému.

povolení sudo systemctl [chráněno e-mailem]

Zkontrolujte jeho stav pomocí následujícího příkazu. Jeho stav by měl být active (exited) .

stav systemctl [e-mail chráněn]

Nyní je server WireGuard připraven přijímat klientská připojení.

Klient

Spusťte WireGuard.

sudo systemctl start [email protected]

Povolte automatické spouštění při spouštění systému.

povolení sudo systemctl [chráněno e-mailem]

Zkontrolujte jeho stav:

stav systemctl [e-mail chráněn]

Nyní přejděte na tento web:https://icanhazip.com/ a zkontrolujte svou veřejnou IP adresu. Pokud vše proběhlo v pořádku, měla by zobrazovat veřejnou IP adresu vašeho VPN serveru namísto veřejné IP adresy vašeho klientského počítače.

Pro získání aktuální veřejné IP adresy můžete také spustit následující příkaz.

curl https://icanhazip.com

Tipy pro odstraňování problémů

Nelze ping

Můžete pingnout ze serveru VPN na klienta VPN (ping 10.10.10.2 ), abyste zjistili, zda tunel funguje. Pokud v příkazu ping uvidíte následující chybovou zprávu,

ping:sendmsg:Požadovaný klíč není k dispozici

může to být tím, že AllowedIPs parametr je chybný, jako překlep. Po opravě překlepu restartujte server VPN i klienta VPN.

Dalším důvodem může být, že jste zapomněli přidat ListenPort = 51820 v konfiguračním souboru serveru.

Veřejná IP se nemění

Pokud je tunel VPN úspěšně vytvořen, ale veřejná IP adresa klienta se nezmění, je to proto, že pravidlo maskování nebo předávání ve vašem konfiguračním souboru UFW nefunguje. Jednou jsem měl překlep v /etc/ufw/before.rules soubor, což způsobilo, že můj počítač nemohl procházet internet.

Všimněte si, že nedoporučuji používat SaveConfig=true v [Interface] části konfiguračního souboru WireGuard. SaveConfig řekne WireGuard, aby při vypnutí uložil konfiguraci runtime. Pokud tedy přidáte další [Peer] v konfiguračním souboru a poté restartujte WireGuard, vaše nově přidané konfigurace budou přepsány.

Povolit protokolování ladění v jádře Linux

Pokud používáte Linux kernel 5.6+, můžete povolit protokolování ladění pro WireGuard pomocí následujícího příkazu.

sudo su -echo module wireguard +p>
 /sys/kernel/debug/dynamic_debug/control

Poté můžete zobrazit protokoly ladění pomocí

sudo dmesg -wH

nebo

sudo journalctl -kf

Restartovat

Pokud vaše VPN stále nefunguje, zkuste restartovat server VPN.

restart sudo systemctl [chráněno e-mailem]

Poté zastavte klienta VPN.

sudo systemctl stop [e-mail chráněn]

A upgradujte softwarové balíčky na klientovi VPN.

aktualizace sudo apt; upgrade sudo apt

Dále restartujte klienta VPN.

sudo shutdown -r nowsudo systemctl start [chráněno e-mailem]

Pokud vaše WireGuard VPN může fungovat až po restartu, zvažte přidání úlohy cron pro automatické restartování služby.

sudo crontab -e

Přidejte do tohoto souboru následující řádek.

Restart @daily systemctl [e-mail chráněn]

Porovnání rychlosti mezi WireGuard a OpenConnect

Na jeden z mých VPS serverů jsem nainstaloval WireGuard i OpenConnect VPN server. Rychlostní test je následující. Možná se vám to nezdá jako rychlé, protože spojení mezi mým počítačem a serverem VPN je velmi špatné. Jak rychle můžete dosáhnout, závisí na latenci a rychlosti ztráty paketů mezi klientem VPN a serverem VPN.

  • WireGuard je vítězem. Je téměř 3krát rychlejší než OpenConnect.
  • OpenConnect přes TCP je rychlejší než OpenConnect přes UDP. Překvapení?

WireGuard je schopen dosáhnout 52296 Kbps (asi 51 Mbit/s) při přehrávání videí YouTube.

OpenConnect (TLS s algoritmem TCP BBR) je schopen dosáhnout 16504 Kbps (asi 16 Mbit/s) při přehrávání videí YouTube.

OpenConnect (TLS na UDP) je schopen dosáhnout 12997 Kbps (asi 12,7 Mbit/s) při přehrávání videí YouTube.

Přidání dalších klientů VPN

WireGuard je navržen tak, aby přidružil jednu IP adresu k jednomu VPN klientovi. Chcete-li přidat další klienty VPN, musíte pro každého klienta vytvořit jedinečný pár soukromých/veřejných klíčů a poté přidat veřejný klíč každého klienta VPN do konfiguračního souboru serveru (/etc/wireguard/wg0.conf ) takto:

[rozhraní] Adresa =10.10.10.1/24PrivateKey =uifh+xxjj0g0uazj6vpqsbb/o68syvqdmyjpy/flgfA =poslousteport =51820 [peer] publicKey =avoltics12gzjt/kra =krals62gzjtcjt/kra =yolIts12gzjt/kra =yowtzjt/kra =yrowlgzjt/kra =yrowlgzjt/kra =yolIps12gjxjt/kra =yrowngjt/kra =yrowlgzjt/kra =yolIps. 1Z/3rtl0i7cJorcinB7T4UOIzScifPNEIESFD8=PovolenéIPs =10.10.10.3/32[Peer]PublicKey =EVstHZc6QamzPgefDGPLFEjGyedJk6SZbC832=prez10.IP3Allow=prez1.

Každý klient VPN bude mít statickou privátní IP adresu (10.10.10.2, 10.10.10.3, 10.10.10.4 atd.). Restartujte server WireGuard, aby se změny projevily.

restart sudo systemctl [chráněno e-mailem]

Poté přidejte konfiguraci WireGuard na každého klienta VPN jako obvykle.

Automatický restart při výpadku připojení VPN

Někdy se připojení VPN z různých důvodů přerušilo. Můžete spustit následující příkaz a zkontrolovat, zda klient VPN může pingnout na soukromou IP adresu VPN serveru (10.10.10.1). Pokud je ping neúspěšný, provede se příkaz vpravo pro restart klienta VPN. || je operátor OR v Bash. Provede příkaz vpravo pouze v případě, že příkaz vlevo vrátil chybu.

ping -c9 10.10.10.1> /dev/null || systemctl restart [email protected]

Ping bude proveden 9krát, tj. 9 sekund. Můžete použít cyklus for v prostředí Bash, aby se celý příkaz spustil 6krát, tj. 54 sekund.

pro ((i=1; i<=6; i++)) dělat (ping -c9 10.10.10.1> /dev/null || restart systemctl [chráněno e-mailem]) hotovo 

Nyní můžeme vytvořit úlohu Cron pro automatizaci této úlohy. Upravte soubor crontab uživatele root na klientovi VPN.

sudo crontab -e

Bash není výchozí shell v Cronu. Na začátek souboru Crontab můžete přidat následující řádek, aby byl výchozí.

SHELL=/bin/bash

Poté přidejte následující řádek na konec tohoto souboru.

* * * * * pro ((i=1; i<=6; i++)) dělat (ping -c9 10.10.10.1> /dev/null || restart systemctl [chráněno e-mailem]) hotovo 

Tato úloha Cron bude probíhat každou minutu a každou minutu bude probíhat 6 kontrol. Uložte a zavřete soubor.

Pokročilé použití

Nyní vám ukážu, jak používat směrování zásad , rozdělené tunelování a Přepínač deaktivace VPN s WireGuard VPN. Poznámka že se nedoporučuje používat je ve vzájemném spojení. Pokud používáte směrování zásad, neměli byste povolit rozdělené tunelování nebo přepínač zabíjení VPN a naopak. Tato sekce je určena pro pokročilé uživatele. Pokud jste začátečník s WireGuard a nevíte, k čemu se používají, nepoužívejte pokyny v této části.

Směrování zásad

Ve výchozím nastavení bude veškerý provoz na klientovi VPN směrován přes server VPN. Někdy můžete chtít směrovat pouze určitý typ provozu na základě protokolu transportní vrstvy a cílového portu. Toto je známé jako směrování zásad.

Směrování zásad je nakonfigurováno na klientském počítači a nejprve musíme zastavit připojení VPN.

sudo systemctl stop [e-mail chráněn]

Poté upravte konfigurační soubor klienta.

sudo nano /etc/wireguard/wg-client0.conf

Pokud například přidáte následující 3 řádky do [interface] poté WireGuard vytvoří směrovací tabulku s názvem „1234“ a přidá do směrovací tabulky pravidlo ip. V tomto příkladu bude provoz směrován přes server VPN pouze v případě, že se jako protokol transportní vrstvy použije TCP a cílový port je 25, tj. když klientský počítač odesílá e-maily.

Tabulka =1234PostUp =pravidlo ip přidat tabulku ipproto tcp dport 25 1234PreDown =odstranit pravidlo ip ipproto tcp dport 25 tabulku 1234

Poznámka :Klient by měl používat Ubuntu 20.04 nebo vyšší, aby bylo možné nakonfigurovat směrování zásad. ip nástroj na Ubuntu 18.04 nepodporuje ipproto a dport argument.

Uložte a zavřete soubor. Poté spusťte klienta WireGuard.

sudo systemctl start [email protected]

Pokud chcete směrovat provoz pro porty TCP 80 a 443, použijte následující syntaxi.

Tabulka =1234PostUp =pravidlo ip přidat ipproto tcp dport 80 tabulka 1234; ip rule add ipproto tcp dport 443 table 1234PreDown =ip rule delete ipproto tcp dport 80 table 1234; ip rule delete ipproto tcp dport 443 table 1234

Pamatujte, že před změnou pravidel směrování zásad byste měli zastavit připojení WireGuard VPN.

Můžete také zadat rozsah portů, jak je uvedeno níže (port TCP 26 až port TCP 10240).

Tabulka =1234PostUp =pravidlo ip přidat tabulku ipproto tcp dport 26-10240 1234PreDown =odstranit pravidlo ip ipproto tcp dport 26-10240 tabulku 1234

Pokud chcete zadat porty TCP i UDP, odeberte ipproto tcp .

Tabulka =1234PostUp =pravidlo ip přidat tabulku dport 26-10240 1234PreDown =odstranit pravidlo ip dport 26-10240 tabulku 1234

Možná budete chtít nakonfigurovat klienta VPN tak, aby používal tunel VPN pouze v případě, že je provoz směrován na určité adresy IP. Můžete tak učinit pomocí to možnost.

Tabulka =1234PostUp =přidání pravidla ip do tabulky 10.0.0.0/24 1234PreDown =odstranění pravidla ip do tabulky 10.0.0.0/24 1234

Rozdělené tunelování

Ve výchozím nastavení bude veškerý provoz na klientovi VPN směrován přes server VPN. Zde je návod, jak povolit rozdělené tunelování, takže provoz pouze na 10.10.10.0/24 Rozsah IP adres bude tunelován prostřednictvím WireGuard VPN. To je užitečné, když chcete vybudovat privátní síť pro několik cloudových serverů, protože klienti VPN poběží na cloudových serverech a pokud používáte úplný VPN tunel, pravděpodobně ztratíte připojení ke cloudovým serverům.

Upravte konfigurační soubor klienta.

sudo nano /etc/wireguard/wg-client0.conf

Změnit

AllowedIPs =0.0.0.0/0

Komu

PovolenéIPs =10.10.10.0/24

Provoz bude tedy směrován přes VPN pouze tehdy, když je cílová adresa v rozsahu IP 10.10.10.0/24. Uložte a zavřete soubor. Poté restartujte klienta WireGuard.

restart sudo systemctl [chráněno e-mailem]

Můžete také povolit více rozsahů IP. Řekněme, že server VPN také spravuje 10.10.20.0/24 síti, pak můžete nakonfigurovat AllowedIPs na klientovi VPN takto:

Povolené IP =10.10.10.0/24, 10.10.20.0/24

Klient VPN tedy může dosáhnout 10.10.20.0/24 sítě prostřednictvím serveru VPN a naopak.

Chcete-li přidat jednu adresu IP, použijte následující syntaxi.

PovolenéIP =10.10.10.0/24, 10.10.20.0/24, 8.8.8.8/32

To říká klientovi, aby při komunikaci s 8.8.8.8 použil server VPN.

VPN Kill Switch

Ve výchozím nastavení má váš počítač v případě přerušení připojení VPN přístup k internetu přes normální bránu. Možná budete chtít povolit funkci kill switch, která zabrání toku nešifrovaných paketů přes rozhraní bez WireGuard.

Zastavte proces klienta WireGuard.

sudo systemctl stop [e-mail chráněn]

Upravte konfigurační soubor klienta.

sudo nano /etc/wireguard/wg-client0.conf

Přidejte následující dva řádky do [interface] sekce.

PostUp =iptables -I OUTPUT! -o %i -m značka ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECTPreDown =iptables -D VÝSTUP ! -o %i -m značka ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT

Takhle:

[Interface]Adresa =10.10.10.2/24DNS =10.10.10.1PrivateKey =cOFA+x5UvHF+a3xJ6enLatG+DoE3I5PhMgKrMKkUyXI=PostUp =iptables -I OUTPUT -o %i -m značka ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECTPreDown =iptables -D VÝSTUP ! -o %i -m značka ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT[Peer]PublicKey =RaoAdsIEIwgV9DHNSubxWVG+nZ1GP/c3OU6A/efBJ0I=PovolenéIPs =0.0.0.0/0Koncový bod =12.34.56.78:5182Ppalivee>5182 

Uložte a zavřete soubor. Poté spusťte klienta WireGuard.

sudo systemctl start [email protected]

Více adres v rozhraní WireGuard

Rozhraní WireGuard může mít více IP adres. Na klientovi VPN můžete mít například dvě adresy IP.

[Rozhraní]Adresa =10.10.10.2/24Adresa =10.10.10.3/24....

V tomto případě musíte tomuto konkrétnímu klientovi povolit více IP adres na serveru VPN, jinak se klient VPN nemusí být schopen připojit k serveru VPN.

[Peer]...PovolenéIP =10.10.10.2/32, 10.10.10.3/32

Pomocí následujícího příkazu můžete zkontrolovat, zda IP adresy patří k síťovému rozhraní.

ip -c a

Poznámka

  • Položka ifconfig příkaz může zobrazit pouze IP adresu pro síťové rozhraní.
  • Pokud v novém souboru .conf nastavíte další rozhraní WireGuard soubor, pak se potřebuje navázat na jiný port než 51820, jinak se zobrazí chyba „Adresa se již používá“.

Ubuntu
  1. Jak nastavit WireGuard VPN na Ubuntu 20.04

  2. Jak nastavit WireGuard VPN na Ubuntu (průvodce krok za krokem)

  3. Jak nastavit WireGuard na Ubuntu 22.04

  1. Nastavte VPN server na vašem počítači se systémem Linux

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Jak nastavit WireGuard VPN na Ubuntu 18.04

  1. Jak nastavit WireGuard VPN na Ubuntu 20.04

  2. Nainstalujte Ubuntu Server 16.04 pro nastavení vašeho vlastního serveru médií

  3. Nastavte si svůj vlastní WireGuard VPN server na Debianu 11 a Debianu 10