Postavljanje WireGuarda na Windowsu | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Postavljanje WireGuarda na Windows

Ovaj vodič objašnjava kako postaviti WireGuard VPN tunel između dva Windows računala: WireGuard poslužitelja koji se izvodi na udaljenom Windows hostu, na primjer na Windows VPS-u, i WireGuard klijenta koji se izvodi na vašem lokalnom Windows računalu. Kada je tunel aktivan, oba računala razmjenjuju podatke putem šifrirane privatne veze, a po želji možete usmjeriti sav promet klijenta kroz poslužitelj.

Kako bi generiranje ključeva bilo jednostavno, ovaj vodič stvara i poslužiteljsku i klijentsku konfiguraciju unutar jedne WireGuard aplikacije, a zatim svaku konfiguracijsku datoteku postavlja na računalo kojemu pripada. Poslužiteljska konfiguracija izvodi se na poslužitelju, a klijentska na klijentu. Poslužitelj i klijent uvijek su zasebna računala. Isti se postupak koristi za dodavanje bilo kojeg broja dodatnih klijenata.

Prije nego što počnete, instalirajte najnoviju verziju WireGuarda sa službene stranice za instalaciju (https://www.wireguard.com/install/) i na poslužitelju i na klijentu te se uvjerite da na svakom računalu imate administratorska prava.

Postava u ovom vodiču izgleda ovako:

Server (public IP, listening on UDP 51820) Tunnel address 10.0.0.1/24 | | encrypted WireGuard tunnel | Client Tunnel address 10.0.0.2/32

Stvaranje poslužiteljske konfiguracije

Pokrenite C:\Program Files\WireGuard\wireguard.exe, kliknite Add tunnel i odaberite Add empty tunnel. WireGuard automatski generira par ključeva. Javni ključ prikazan na vrhu prozora javni je ključ poslužitelja. Trebat će vam kasnije, pri konfiguraciji klijenta.

Dajte tunelu naziv i ispunite odjeljak interface privatnim ključem poslužitelja, priključkom na kojem će WireGuard slušati i internom adresom koju će poslužitelj koristiti unutar tunela.

[Interface] PrivateKey = # private key of the WireGuard server ListenPort = # port that WireGuard will listen on Address = # internal IP address of the WireGuard server, for example 10.0.0.1/24

Za mrežu tunela koristite privatnu podmrežu i držite poslužitelj i sve klijente u istom rasponu. Uobičajen je izbor 10.0.0.1/24 za poslužitelj te 10.0.0.2/32, 10.0.0.3/32 i tako dalje za svakog klijenta. Poslužitelj koristi prefiks /24, pa cijeli raspon tunela smatra dostupnim putem WireGuard sučelja. Svaki klijent koristi /32, jer klijent predstavlja jednu adresu, a ne podmrežu. Klijent postavljen na /24 pretpostavio bi da je cijeli raspon na njegovu vlastitom sučelju i ne bi kroz tunel slao promet namijenjen drugim adresama tunela.

U uređivaču tunela, ispod konfiguracijskog polja, možete dodatno omogućiti Block untunneled traffic (kill-switch), koji blokira svaki promet koji bi izašao izvan tunela, i postaviti Pre-shared key, koji dodaje dodatni sloj sigurnosti. Obje su opcije neobvezne. Pogledajte odjeljak „Razumijevanje AllowedIPs" za to kada je kill-switch koristan i što blokira.

Stvaranje klijentske konfiguracije

Kliknite Add tunnel i odaberite Add empty tunnel po drugi put, ovaj put za klijenta. Javni ključ prikazan za ovaj tunel javni je ključ klijenta, koji poslužitelj treba kako bi prihvatio klijenta.

Ispunite klijentsku konfiguraciju:

[Interface] PrivateKey = # private key of the WireGuard client Address = # internal IP address of the WireGuard client, for example 10.0.0.2/32 DNS = 1.1.1.1, 1.0.0.1 [Peer] PublicKey = # public key of the WireGuard server AllowedIPs = # 0.0.0.0/0 for a full tunnel, or 10.0.0.0/24 for a split tunnel Endpoint = # public IP address and port of the WireGuard server PersistentKeepalive = 25

Endpoint mora biti stvarna javna IP adresa poslužitelja zajedno s priključkom postavljenim u ListenPort poslužitelja, a ne interna adresa tunela. Za pomoć pri odabiru vrijednosti AllowedIPs pogledajte odjeljak „Razumijevanje AllowedIPs" u nastavku.

Retci DNS i PersistentKeepalive neobvezni su. DNS postavlja DNS poslužitelje koji se koriste dok je tunel aktivan, čime se sprječavaju problemi s razrješavanjem naziva nakon povezivanja. Možete koristiti javne razrješivače poput 1.1.1.1, 1.0.0.1 ili 8.8.8.8, 8.8.4.4, ili DNS poslužitelj same VPN mreže. PersistentKeepalive = 25 šalje mali paket svakih 25 sekundi i pomaže održati vezu otvorenom kada je klijent iza NAT-a.

Kopirajte ključeve i Endpoint vrlo pažljivo. Pogrešno upisan ključ ili netočan Endpoint najčešći je razlog zašto se tunel ne uspijeva povezati.

Dodavanje klijenta na poslužitelj

Ponovno otvorite poslužiteljsku konfiguraciju i dodajte odjeljak [Peer] za klijenta, koristeći javni ključ klijenta iz prethodnog koraka.

[Peer] PublicKey = # public key of the WireGuard client AllowedIPs = # internal IP address of the client

U poslužiteljskoj konfiguraciji AllowedIPs ima dvije uloge. Poslužitelju govori koja adresa tunela pripada ovom klijentu i djeluje kao popis usmjeravanja: svaki paket adresiran na te raspone šifrira se i šalje ovom peeru. Za pojedinačnog klijenta to je njegova adresa tunela, na primjer 10.0.0.2/32. Ako klijent treba kroz tunel učiniti dostupnom i lokalnu mrežu, ovdje dodajte i tu podmrežu, na primjer 10.0.0.2/32, 192.168.1.0/24. Ponovite ovaj korak za svakog dodatnog klijenta.

Konfiguracija Vatrozida sustava Windows na poslužitelju

Poslužitelj mora prihvaćati dolazni WireGuard promet na svom UDP priključku. Otvorite Vatrozid Windows Defender s naprednom sigurnošću, odaberite Dolazna pravila i kliknite Novo pravilo. Odaberite Priključak i kliknite Dalje. Odaberite UDP, unesite WireGuard priključak, na primjer 51820, i kliknite Dalje. Ako koristite više priključaka, navedite ih odvojene zarezima, na primjer 51820, 51821. Odaberite Dopusti vezu i kliknite Dalje. Odaberite profile na koje se pravilo primjenjuje. Ako je poslužitelj smješten u podatkovnom centru, obično je dovoljan profil Javno; u suprotnom ostavite odabrane profile Domena, Privatno i Javno. Kliknite Dalje, dajte pravilu jasan naziv poput WireGuard UDP 51820 i kliknite Završi.

Ovo dolazno pravilo potrebno je samo na poslužitelju, jer je poslužitelj strana koja prima dolazne veze. Na VPS-u također provjerite dopušta li vaš davatelj usluga hostinga dolazni UDP promet na ovom priključku na razini mreže, a ne samo u Vatrozidu sustava Windows.

Izvoz i implementacija konfiguracija

Kada su obje konfiguracije spremne, kliknite Export all tunnels to zip, odaberite lokaciju i spremite.

Otvorite arhivu kako biste pronašli konfiguracijske datoteke svih tunela. Postavite poslužiteljsku konfiguraciju na poslužitelj i svakom klijentu dajte njegovu vlastitu konfiguracijsku datoteku. Ako računalo sadrži mnogo tunela, pojedinačni tunel možete izvesti i iz njegova kontekstnog izbornika. Izvoz u zip datoteku praktičan je kada su oba tunela stvorena na istom računalu, kao u ovom vodiču. Ako svaku konfiguraciju stvarate izravno na njezinu vlastitom hostu, izvoz nije potreban i konfiguracijsku datoteku možete kopirati ručno.

Na poslužitelju odaberite poslužiteljsku konfiguraciju i kliknite Aktiviraj.

Na klijentu kliknite Add Tunnel, odaberite klijentsku konfiguracijsku datoteku i otvorite je.

Zatim kliknite Aktiviraj.

Prvi je klijent sada konfiguriran. Dodajte daljnje klijente na isti način: za svakog klijenta stvorite novi prazni tunel i u poslužiteljsku konfiguraciju dodajte odgovarajući odjeljak [Peer] s javnim ključem i adresom tunela tog klijenta, kako je opisano u „Dodavanje klijenta na poslužitelj".

Warning: Ako konfigurirate WireGuard na udaljenom poslužitelju putem RDP sesije, pročitajte odjeljak „Razumijevanje AllowedIPs" prije nego što aktivirate tunel koji usmjerava sav promet. Konfiguracija s AllowedIPs = 0.0.0.0/0 može preusmjeriti vlastiti promet poslužitelja u tunel i prekinuti vašu RDP vezu.

Provjera veze

Nakon što aktivirate tunel, Windows može prikazati WireGuard prilagodnik kao „Nema pristupa mreži" ili „Nema pristupa internetu" u Centru za mrežu i zajedničko korištenje. To je očekivano ponašanje, jer Windows ne tretira prilagodnike VPN tunela kao standardne internetske veze, i ne utječe na tunel. Windows taj status određuje svojom provjerom povezivosti, koja ispituje određene Microsoftove URL-ove, pa se upozorenje može pojaviti i ako su te provjere blokirane ili ih vaš DNS ne razrješava, čak i kada tunel radi.

Da biste potvrdili da tunel radi, provjerite njegov status u WireGuard klijentu. Aktivan tunel prikazuje status Aktivan zajedno s brojačima prijenosa podataka. Ako brojači rastu, tunel prenosi promet.

Na poslužitelju također možete potvrditi da WireGuard sluša na svom UDP priključku dok je tunel aktivan:

netstat -ano | findstr 51820

U PowerShellu ekvivalent je:

Get-NetUDPEndpoint -LocalPort 51820

Zamijenite 51820 svojim WireGuard priključkom. Ako ništa nije vraćeno, tunel nije aktivan ili se priključak razlikuje od onoga postavljenog u poslužiteljskoj konfiguraciji.

Zatim otvorite naredbeni redak i pingajte internu adresu tunela poslužitelja:

ping 10.0.0.1

Zamijenite 10.0.0.1 stvarnom internom IP adresom koju ste postavili za poslužitelj. Odgovori potvrđuju da tunel radi.

Ako klijent koristi AllowedIPs = 0.0.0.0/0, možete također potvrditi da se promet usmjerava kroz tunel:

tracert 8.8.8.8

Prvi skok trebao bi biti interna IP adresa WireGuard poslužitelja.

Provjera WireGuard rukovanja

Rukovanje (handshake) najkorisniji je pokazatelj pri dijagnosticiranju WireGuard veze. U WireGuard aplikaciji otvorite tunel i promatrajte polje Latest handshake. Na tunelu koji radi rukovanje se pojavljuje u roku od nekoliko sekundi nakon aktivacije, a zatim se povremeno ažurira tijekom prijenosa podataka. Ako tunel miruje, između rukovanja može proći neko vrijeme, pa je kratka stanka uobičajena. Ako polje ostane prazno, peerovi se ne mogu međusobno dosegnuti, što obično upućuje na netočan Endpoint, zatvoren UDP priključak ili ključeve koji se ne podudaraju.

Rukovanje možete provjeriti i iz naredbenog retka pomoću alata wg koji dolazi uz WireGuard:

wg show

Ispis navodi svaki peer zajedno s vremenom njegova posljednjeg rukovanja i njegovim brojačima prijenosa.

Razumijevanje AllowedIPs

Vrijednost AllowedIPs u klijentskoj konfiguraciji odlučuje koji se promet šalje kroz tunel. Ukratko, na klijentu AllowedIPs određuje koji se paketi šalju u tunel, dok na poslužitelju određuje koji se paketi prihvaćaju od određenog klijenta i kamo se usmjeravaju.

AllowedIPs = 0.0.0.0/0 usmjerava sav promet kroz tunel, uključujući uobičajeno pregledavanje interneta. Koristite ga kada želite potpunu zaštitu prometa. Da bi taj promet dosegnuo internet, poslužitelj ga mora prevesti. Pogledajte „Konfiguracija NAT-a na poslužitelju za potpuno tuneliranje" u nastavku.

AllowedIPs = 10.0.0.0/24 kroz tunel usmjerava samo promet interne mreže, dok uobičajeni internetski promet i dalje koristi standardnu vezu. Koristite ga kada trebate doseći samo određene resurse u udaljenoj mreži.

Možete navesti više podmreža odvojenih zarezima, na primjer AllowedIPs = 10.0.0.0/24, 192.168.1.0/24.

Tip: Opcija Block untunneled traffic (kill-switch) u uređivaču tunela ima puni učinak uz AllowedIPs = 0.0.0.0/0. Blokira sve što bi putovalo izvan tunela, što blokira i lokalnu mrežu. Ako trebate pristup pisačima ili drugim uređajima na LAN-u, ostavite kill-switch onemogućen.
Warning: Postavljanje AllowedIPs = 0.0.0.0/0 šalje svaku vezu kroz tunel. Ako to primijenite na udaljenom poslužitelju kojim upravljate putem RDP-a, RDP sesija može se prekinuti u trenutku kada tunel postane aktivan, jer se promet poslužitelja preusmjerava. Na poslužitelju kojem se pristupa putem RDP-a usmjeravajte samo podmreže koje su vam potrebne i testirajte s uskom vrijednošću AllowedIPs prije nego što prijeđete na 0.0.0.0/0.

Konfiguracija NAT-a na poslužitelju za potpuno tuneliranje

Ako klijenti koriste AllowedIPs = 0.0.0.0/0 i želite da njihov promet zaista dosegne internet putem poslužitelja, poslužitelj mora prevesti interne WireGuard adrese u svoju vlastitu vanjsku adresu. U sustavu Windows to se radi naredbom New-NetNat, a ne skriptama PostUp i PostDown koje se koriste u Linuxu.

Otvorite PowerShell kao administrator na poslužitelju i pokrenite sljedeće, koristeći podmrežu tunela koju ste dodijelili poslužitelju:

New-NetNat -Name WireGuardNAT -InternalIPInterfaceAddressPrefix 10.0.0.0/24

Zamijenite 10.0.0.0/24 svojom podmrežom tunela i pobrinite se da prefiks obuhvaća svaku adresu klijenta koju dodijelite. Klijent izvan ovog raspona, na primjer 10.0.1.2, ne bi bio obuhvaćen ovim pravilom. Aktivna pravila možete pregledati u bilo kojem trenutku:

Get-NetNat

Da biste kasnije uklonili NAT pravilo, pokrenite:

Remove-NetNat -Name WireGuardNAT

Ako se klijenti povežu i rukovanje uspije, ali njihov internetski promet i dalje ne prolazi kroz poslužitelj, omogućite IP prosljeđivanje na sučeljima uključenima u usmjeravanje i ponovno testirajte. Točan oblik ovisi o verziji sustava Windows, na primjer:

Set-NetIPInterface -InterfaceAlias "Ethernet" -Forwarding Enabled

Primijenite ga na vanjsko sučelje koje prenosi internetski promet i na WireGuard sučelje, koristeći njihove stvarne nazive dobivene s Get-NetIPInterface.

Info: New-NetNat zahtijeva Windows 10, Windows 11 ili Windows Server 2016 i novije, a na nekim sustavima zahtijeva omogućenu značajku Hyper-V, čak i ako Hyper-V inače ne koristite. Na nekim VPS planovima Hyper-V se ne može omogućiti, što blokira ovu metodu. Hoće li sam New-NetNat biti dovoljan ili treba omogućiti i IP prosljeđivanje može ovisiti o verziji sustava Windows, pa to provjerite na svom poslužitelju kada potpuno tuneliranje ne radi.

Rješavanje problema

Tunel je aktivan, ali nema veze s poslužiteljem. Provjerite je li UDP priključak WireGuarda, na primjer 51820, otvoren u vatrozidu na poslužitelju. Potvrdite da su javni ključevi ispravno kopirani između poslužiteljske i klijentske konfiguracije. Uvjerite se da Endpoint u klijentskoj konfiguraciji upućuje na stvarnu javnu IP adresu poslužitelja, a ne na internu adresu tunela.

DNS ne radi nakon povezivanja. Dodajte DNS poslužitelj u odjeljak interface klijenta:

[Interface] PrivateKey = ... Address = ... DNS = 1.1.1.1, 1.0.0.1

Brojači paketa ne rastu. Tunel ne prenosi podatke. Provjerite je li AllowedIPs ispravno postavljen na obje strane, ne sukobljavaju li se interne WireGuard adrese s postojećom lokalnom mrežom i ne koristi li ListenPort već neka druga aplikacija.

Trebate više pojedinosti za dijagnosticiranje problema. Otvorite tunel u WireGuard aplikaciji i pogledajte karticu Log, koja bilježi rukovanja, pogreške i događaje povezivanja kako se odvijaju. Odande možete izvesti zapisnik ako ga trebate podijeliti.

Automatsko pokretanje WireGuarda nakon ponovnog pokretanja poslužitelja

Kako bi tunel nastavio raditi nakon ponovnih pokretanja, instalirajte ga kao Windows uslugu. Kada je tunel instaliran kao usluga, pokreće se automatski nakon ponovnog pokretanja. Otvorite naredbeni redak ili PowerShell kao administrator i pokrenite sljedeće, koristeći putanju do svoje poslužiteljske konfiguracijske datoteke:

wireguard /installtunnelservice "C:\Program Files\WireGuard\wg_server.conf"

Nakon instalacije tunel se pojavljuje na popisu Usluga sustava Windows kao WireGuard Manager, sa statusom Pokrenuto i vrstom pokretanja Automatski, što potvrđuje da će se pokrenuti sam nakon ponovnog pokretanja.

Ovu naredbu pokrenite samo jednom, a ne pri svakom pokretanju. Aktiviranje tunela iz WireGuard aplikacije obično instalira istu uslugu, pa je u mnogim slučajevima dovoljno aktivirati ga jednom. Da biste uslugu kasnije uklonili, koristite naziv tunela, koji je naziv konfiguracijske datoteke bez nastavka .conf:

wireguard /uninstalltunnelservice wg_server

Da biste ponovno pokrenuli uslugu, na primjer nakon uređivanja konfiguracije, pokrenite naredbu za deinstalaciju, a zatim ponovno naredbu za instalaciju.

Info: Budući da se tunel izvodi kao usluga, zasebni zadatak u Planeru zadataka nije potreban.

Ponovno pokrenite poslužitelj i potvrdite da se tunel pokreće sam.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA