Postavljanje WireGuarda na Windows | 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 radi na udaljenom Windows hostu, na primjer Windows VPS-u, i WireGuard klijenta koji radi na vašem lokalnom Windows računalu. Kad je tunel aktivan, dvije se računala razmjenjuju podacima putem šifrirane privatne veze, a po želji možete usmjeriti sav promet klijenta preko poslužitelja.

Kako bi se generiranje ključeva pojednostavilo, ovaj vodič stvara konfiguracije za poslužitelj i klijent unutar jedne WireGuard aplikacije, a zatim raspoređuje svaku konfiguracijsku datoteku na računalo kojem pripada. Konfiguracija poslužitelja radi na poslužitelju, a konfiguracija klijenta radi na klijentu. Poslužitelj i klijent uvijek su odvojena računala. Isti se postupak koristi za dodavanje bilo kojeg broja dodatnih klijenata.

Prije nego što počnete, instalirajte najnoviju verziju WireGuarda s stranice za preuzimanje WireGuarda na poslužitelj i klijent te provjerite imate li administratorska prava na svakom računalu.

Postavka 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

Izrada konfiguracije poslužitelja

Pokrenite C:\Program Files\WireGuard\wireguard.exe, kliknite na "Add tunnel" (Dodaj tunel) i odaberite "Add empty tunnel" (Dodaj prazan tunel). WireGuard automatski generira par ključeva. Javni ključ prikazan na vrhu prozora je javni ključ poslužitelja. Trebat će vam kasnije kada konfigurirate klijenta.

Dajte tunelu naziv i ispunite odjeljak sučelja privatnim ključem poslužitelja, portom 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

Koristite privatni podmrežni raspon za mrežu tunela i držite poslužitelj i sve klijente u istom rasponu. Uobičajen je izbor 10.0.0.1/24 za poslužitelj i 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 tretira kao dostupan 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 vlastitom sučelju i ne bi slanjao promet za druge adrese u tunelu kroz tunel.

U uređivaču tunela, ispod polja za konfiguraciju, možete po želji omogućiti opciju Blokiraj promet izvan tunela (kill-switch), koja blokira sav promet koji bi napustio tunel, i postaviti prethodno podijeljenu lozinku, što dodaje dodatni sloj sigurnosti. Obje su opcije neobavezne. Pogledajte odjeljak "Understanding AllowedIPs" za informacije o tome kada je kill-switch koristan i što blokira.

Izrada konfiguracije klijenta

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

Ispunite konfiguraciju klijenta:

[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

Odredište (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.

Redovi DNS i PersistentKeepalive su neobavezni. DNS postavlja DNS poslužitelje koji se koriste dok je tunel aktivan, što sprječava probleme s rješavanjem imena nakon povezivanja. Možete koristiti javne resolver servere kao što su 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.

Pažljivo kopirajte ključeve i Endpoint. Pogrešno upisani ključ ili pogrešan Endpoint najčešći su razlozi neuspjelog uspostavljanja tunela.

Dodavanje klijenta na poslužitelj

Ponovno otvorite konfiguraciju poslužitelja 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 konfiguraciji poslužitelja, AllowedIPs ima dvije uloge. On poslužitelju govori koja adresa tunela pripada ovom klijentu i djeluje kao lista ruta: svaki paket adresiran na te raspone šifriran je i poslan ovom peeru. Za jednog klijenta to je njegova adresa tunela, na primjer 10.0.0.2/32. Ako klijent treba učiniti i lokalnu mrežu dostupnom putem tunela, dodajte tu podmrežu i ovdje, na primjer 10.0.0.2/32, 192.168.1.0/24. Ponovite ovaj korak za svakog dodatnog klijenta.

Konfiguriranje Windows vatrozida na poslužitelju

Poslužitelj mora prihvaćati dolazni WireGuard promet na svom UDP priključku. Otvorite Windows Defender Firewall with Advanced Security, odaberite Inbound Rules i kliknite New Rule. Odaberite Port i kliknite Dalje. Odaberite UDP, unesite WireGuard port, na primjer 51820, i kliknite Dalje. Ako koristite više od jednog porta, navedite portove odvojene zarezom, na primjer 51820, 51821. Odaberite Dopusti vezu i kliknite Dalje. Odaberite profile na koje se pravilo primjenjuje. Ako je poslužitelj hostiran u podatkovnom centru, profil Javno je obično dovoljan, inače ostavite odabrane profile Domain, Privatno i Javno. Kliknite Dalje, dajte pravilu jasan naziv kao što je WireGuard UDP 51820 i kliknite Završi.

Ovo pravilo za dolazni promet potrebno je samo na poslužitelju, jer je poslužitelj strana koja prima dolazna povezivanja. Kod VPS-a također provjerite dopušta li vaš pružatelj usluga hostinga dolazni UDP promet na ovom priključku na razini mreže, a ne samo u Windows vatrozidu.

Izvoz i implementacija konfiguracija

Kada su obje konfiguracije spremne, kliknite na Izvoz svih tunela u ZIP, odaberite lokaciju i spremite.

Otvorite arhivu kako biste pronašli konfiguracijske datoteke za sve tunele. Postavite konfiguraciju poslužitelja na poslužitelj i dajte svakom klijentu njegovu vlastitu konfiguracijsku datoteku. Ako računalo sadrži mnogo tunela, možete izvesti i pojedinačni tunel iz 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 kreirate izravno na njezinu hostu, izvoz nije potreban i konfiguracijsku datoteku možete ručno kopirati.

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

Na klijentu kliknite Dodaj tunel, odaberite datoteku konfiguracije klijenta i otvorite je.

Zatim kliknite Aktiviraj.

Prvi klijent je sada konfiguriran. Dodajte ostale klijente na isti način: za svakog klijenta stvorite novi prazni tunel i dodajte odgovarajući odjeljak [Peer] s javnim ključem i adresom tunela tog klijenta u konfiguraciju poslužitelja, kao što je opisano u odjeljku "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-sesiju.

Provjera veze

Nakon što aktivirate tunel, Windows može prikazati WireGuard adapter kao "Nema mrežnog pristupa" ili "Nema pristupa internetu" u Centru za mrežu i dijeljenje. To je očekivano ponašanje jer Windows ne tretira VPN tunelske adaptere kao standardne internetske veze i to ne utječe na tunel. Windows određuje taj status provjerom povezanosti, koja ispituje određene Microsoftove URL-ove, pa se upozorenje može pojaviti i ako su ti zahtjevi blokirani ili ih vaš DNS ne rješava, čak i kada tunel radi.

Kako biste potvrdili da tunel radi, provjerite njegov status u WireGuard klijentu. Aktivni tunel prikazuje status "Active " zajedno s brojačima prometa. Ako se brojači povećavaju, tunel propušta 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 PowerShelu ekvivalent je:

Get-NetUDPEndpoint -LocalPort 51820

Zamijenite 51820 svojim WireGuard priključkom. Ako ne dobijete nikakav odgovor, tunel nije aktivan ili se priključak razlikuje od onog postavljenog u konfiguraciji poslužitelja.

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 handshakea

Rukovanje je najkorisniji pokazatelj pri dijagnosticiranju WireGuard veze. U aplikaciji WireGuard otvorite tunel i promatrajte polje " Latest handshake ". Na ispravno funkcionirajućem tunelu rukovanje se pojavljuje unutar nekoliko sekundi od aktivacije i zatim se povremeno ažurira dok se podaci prenose. Ako je tunel neaktivan, može proći neko vrijeme između ruke, pa je kratka pauza normalna. Ako polje ostane prazno, peerovi se ne mogu međusobno povezati, što obično ukazuje na pogrešan Endpoint, zatvoreni UDP port ili neusklađene ključeve.

Također možete provjeriti ruku iz naredbenog retka pomoću alata wg koji dolazi s WireGuardom:

wg show

Ispis navodi svakog peer-a zajedno s vremenom njegova posljednjeg handshakea i brojačima prijenosa.

Razumijevanje AllowedIPs

Vrijednost AllowedIPs u konfiguraciji klijenta određuje koji se promet šalje kroz tunel. Ukratko, kod klijenta AllowedIPs postavlja koje se pakete šalje u tunel, dok se kod poslužitelja njime određuje koji se paketi prihvaćaju od određenog klijenta i gdje se usmjeravaju.

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

Vrijednost poput 10.0.0.0/24 usmjerava samo promet interne mreže kroz tunel, dok obični internetski promet i dalje koristi normalnu vezu. Koristite je kada trebate pristupiti samo određenim resursima na udaljenoj mreži.

Možete navesti nekoliko podmreža odvojenih zarezima, na primjer 10.0.0.0/24, 192.168.1.0/24.

Tip

Opcija "Block untunneled traffic (kill-switch) " u uređivaču tunela u potpunosti stupa na snagu s postavkom AllowedIPs = 0.0.0.0/0. Ona blokira sav promet koji bi išao izvan tunela, što također blokira lokalnu mrežu. Ako trebate pristup pisačima ili drugim LAN uređajima, ostavite kill-switch onemogućen.

Warning

Postavljanjem AllowedIPs = 0.0.0.0/0 svaka se veza usmjerava kroz tunel. Ako to primijenite na udaljenom poslužitelju kojim upravljate putem RDP-a, RDP sesija može biti prekinuta u trenutku kada tunel postane aktivan, jer se promet poslužitelja preusmjerava. Na poslužitelju kojem pristupate putem RDP-a, usmjerite samo one podmreže koje su vam potrebne i testirajte s ograničenom vrijednošću AllowedIPs prije nego što prijeđete na 0.0.0.0/0.

Konfiguriranje NAT-a na poslužitelju za potpuno tuneliranje

Ako klijenti koriste AllowedIPs = 0.0.0.0/0 i želite da njihov promet doista stigne na internet putem poslužitelja, poslužitelj mora prevesti interne WireGuard adrese na svoju vanjsku adresu. Na Windowsu se to radi pomoću naredbe New-NetNat, a ne pomoću skripti PostUp i PostDown koje se koriste na Linuxu.

Otvorite PowerShell kao administrator na poslužitelju i pokrenite sljedeću naredbu, 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 tunelskom podmrežom i provjerite pokriva li prefiks svaku IP adresu koju dodjeljujete klijentima. Klijent izvan tog raspona, na primjer 10.0.1.2, ne bi bio pokriven ovom 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 rukovanjem uspije, ali njihov internetski promet i dalje ne prolazi kroz poslužitelj, omogućite prosljeđivanje IP-a na sučeljima koja sudjeluju u usmjeravanju i ponovno testirajte. Točan oblik ovisi o verziji sustava Windows, na primjer:

Set-NetIPInterface -InterfaceAlias "Ethernet" -Forwarding Enabled

Primijenite ga na vanjski sučelje koji prenosi internetski promet i na WireGuard sučelje, koristeći njihova stvarna imena iz naredbe Get-NetIPInterface.

Info

New-NetNat zahtijeva Windows 10, Windows 11 ili Windows Server 2016 i novije verzije, a na nekim sustavima potrebna je omogućena značajka Hyper-V čak i ako inače ne koristite Hyper-V. Na nekim VPS planovima Hyper-V se ne može omogućiti, što blokira ovu metodu. O tome je li dovoljan samo New-NetNat ili je potrebno omogućiti i prosljeđivanje IP-a može ovisiti o verziji sustava Windows, stoga to provjerite na svom poslužitelju kada potpuno tuneliranje ne radi

Rješavanje problema

Tunel je aktivan, ali nema veze sa poslužiteljem. Provjerite je li WireGuard UDP priključak, na primjer 51820, otvoren u vatrozidu na poslužitelju. Potvrdite da su javna ključa ispravno kopirana između konfiguracija poslužitelja i klijenta. Provjerite da Endpoint u konfiguraciji klijenta 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 sučelja klijenta:

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

Brojači paketa se ne povećavaju. Tunel ne propušta podatke. Provjerite je li AllowedIPs ispravno postavljen na obje strane, ne sukobljavaju li se interne WireGuard adrese s postojećom lokalnom mrežom i nije li ListenPort već u upotrebi od strane druge aplikacije.

Potrebno je više detalja za dijagnosticiranje problema. Otvorite tunel u aplikaciji WireGuard i pogledajte karticu "Log" (Zapisnik), koja bilježi uspostavljanje veze, pogreške i događaje povezivanja kako se događaju. Odatle možete izvesti zapisnik ako ga trebate podijeliti.

Automatski pokretanje WireGuarda nakon ponovnog pokretanja poslužitelja

Kako bi tunel radio i nakon ponovnog pokretanja, instalirajte ga kao Windows uslugu. Kada je tunel instaliran kao usluga, automatski se pokreće nakon ponovnog pokretanja. Otvorite naredbeni redak (Command Prompt) ili PowerShell kao administrator i pokrenite sljedeću naredbu, koristeći putanju do konfiguracijske datoteke vašeg poslužitelja:

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

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

wireguard /uninstalltunnelservice wg_server

Za ponovno pokretanje usluge, na primjer nakon uređivanja konfiguracije, pokrenite naredbu za deinstalaciju, a zatim ponovno naredbu za instalaciju.

Info

Budući da tunel radi kao usluga, nije potreban zaseban zadatak zakazivača zadataka (Task Scheduler).

Ponovno pokrenite poslužitelj i provjerite pokreće li se tunel samostalno.

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