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.
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:
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>5182Ulož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/32Pomocí následujícího příkazu můžete zkontrolovat, zda IP adresy patří k síťovému rozhraní.
ip -c aPozná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á“.