Nastavitev WireGuard za Windows | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Nastavitev WireGuard za Windows

Ta vodnik pojasnjuje, kako vzpostaviti WireGuard VPN-tunel med dvema računalnikoma Windows: strežnikom WireGuard, ki teče na oddaljenem gostitelju Windows, na primer na Windows VPS, in odjemalcem WireGuard, ki teče na vašem lokalnem računalniku Windows. Ko je tunel aktiven, oba računalnika izmenjujeta podatke prek šifrirane zasebne povezave, po želji pa lahko ves promet odjemalca usmerite skozi strežnik.

Za poenostavitev ustvarjanja ključev ta vodnik ustvari tako strežniško kot odjemalsko konfiguracijo znotraj ene aplikacije WireGuard in nato vsako konfiguracijsko datoteko namesti na računalnik, ki mu pripada. Strežniška konfiguracija teče na strežniku, odjemalska pa na odjemalcu. Strežnik in odjemalec sta vedno ločena računalnika. Z istim postopkom dodate poljubno število dodatnih odjemalcev.

Pred začetkom namestite najnovejšo različico WireGuard z uradne namestitvene strani (https://www.wireguard.com/install/) tako na strežnik kot na odjemalec ter se prepričajte, da imate na vsakem računalniku skrbniške pravice.

Postavitev v tem vodniku je videti takole:

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

Ustvarjanje strežniške konfiguracije

Zaženite C:\Program Files\WireGuard\wireguard.exe, kliknite Add tunnel in izberite Add empty tunnel. WireGuard samodejno ustvari par ključev. Javni ključ, prikazan na vrhu okna, je javni ključ strežnika. Potrebovali ga boste pozneje pri konfiguraciji odjemalca.

Tunelu dodelite ime in izpolnite razdelek interface z zasebnim ključem strežnika, vrati, na katerih bo WireGuard poslušal, in notranjim naslovom, ki ga bo strežnik uporabljal znotraj 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 omrežje tunela uporabite zasebno podomrežje in strežnik ter vse odjemalce obdržite v istem obsegu. Pogosta izbira je 10.0.0.1/24 za strežnik ter 10.0.0.2/32, 10.0.0.3/32 in tako naprej za vsak odjemalec. Strežnik uporablja predpono /24, zato celoten obseg tunela obravnava kot dosegljiv prek vmesnika WireGuard. Vsak odjemalec uporablja /32, ker odjemalec predstavlja en sam naslov in ne podomrežja. Odjemalec, nastavljen na /24, bi predpostavil, da je celoten obseg na njegovem lastnem vmesniku, in prometa za druge naslove tunela ne bi pošiljal skozi tunel.

V urejevalniku tunela, pod konfiguracijskim poljem, lahko izbirno omogočite Block untunneled traffic (kill-switch), ki blokira ves promet, ki bi šel zunaj tunela, in nastavite Pre-shared key, ki doda dodatno raven varnosti. Obe možnosti sta izbirni. Glejte razdelek „Razumevanje AllowedIPs" za to, kdaj je kill-switch koristen in kaj blokira.

Ustvarjanje odjemalske konfiguracije

Drugič kliknite Add tunnel in izberite Add empty tunnel, tokrat za odjemalec. Javni ključ, prikazan za ta tunel, je javni ključ odjemalca, ki ga strežnik potrebuje, da odjemalec sprejme.

Izpolnite odjemalsko konfiguracijo:

[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 pravi javni naslov IP strežnika skupaj z vrati, nastavljenimi v strežnikovem ListenPort, ne pa notranji naslov tunela. Za pomoč pri izbiri vrednosti AllowedIPs glejte razdelek „Razumevanje AllowedIPs" spodaj.

Vrstici DNS in PersistentKeepalive sta izbirni. DNS nastavi strežnike DNS, ki se uporabljajo, dokler je tunel aktiven, kar preprečuje težave z razreševanjem imen po povezavi. Uporabite lahko javne razreševalnike, kot so 1.1.1.1, 1.0.0.1 ali 8.8.8.8, 8.8.4.4, ali strežnik DNS samega omrežja VPN. PersistentKeepalive = 25 vsakih 25 sekund pošlje majhen paket in pomaga ohranjati povezavo odprto, kadar je odjemalec za NAT.

Ključe in Endpoint kopirajte zelo skrbno. Napačno vnesen ključ ali napačen Endpoint je najpogostejši razlog, da se tunel ne poveže.

Dodajanje odjemalca na strežnik

Znova odprite strežniško konfiguracijo in dodajte razdelek [Peer] za odjemalec, pri čemer uporabite javni ključ odjemalca iz prejšnjega koraka.

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

V strežniški konfiguraciji ima AllowedIPs dve vlogi. Strežniku pove, kateri naslov tunela pripada temu odjemalcu, in deluje kot seznam usmerjanja: vsak paket, naslovljen na te obsege, se šifrira in pošlje temu peeru. Za posameznega odjemalca je to njegov naslov tunela, na primer 10.0.0.2/32. Če naj odjemalec skozi tunel dosega tudi lokalno omrežje, sem dodajte tudi tisto podomrežje, na primer 10.0.0.2/32, 192.168.1.0/24. Ta korak ponovite za vsak dodaten odjemalec.

Konfiguracija požarnega zidu Windows na strežniku

Strežnik mora sprejemati dohodni promet WireGuard na svojih vratih UDP. Odprite Požarni zid Windows Defender z napredno varnostjo, izberite Pravila za dohodni promet in kliknite Novo pravilo. Izberite Vrata in kliknite Naprej. Izberite UDP, vnesite vrata WireGuard, na primer 51820, in kliknite Naprej. Če uporabljate več vrat, jih naštejte, ločena z vejicami, na primer 51820, 51821. Izberite Dovoli povezavo in kliknite Naprej. Izberite profile, za katere pravilo velja. Če je strežnik gostovan v podatkovnem središču, običajno zadošča profil Javno; sicer pustite izbrane profile Domena, Zasebno in Javno. Kliknite Naprej, pravilu dodelite jasno ime, kot je WireGuard UDP 51820, in kliknite Dokončaj.

To dohodno pravilo je potrebno samo na strežniku, ker je strežnik tista stran, ki sprejema dohodne povezave. Na VPS poskrbite tudi, da vaš ponudnik gostovanja dovoljuje dohodni promet UDP na teh vratih na omrežni ravni, ne le v požarnem zidu Windows.

Izvoz in uvajanje konfiguracij

Ko sta obe konfiguraciji pripravljeni, kliknite Export all tunnels to zip, izberite mesto in shranite.

Odprite arhiv, da najdete konfiguracijske datoteke vseh tunelov. Strežniško konfiguracijo namestite na strežnik in vsakemu odjemalcu dajte njegovo lastno konfiguracijsko datoteko. Če računalnik vsebuje veliko tunelov, lahko posamezen tunel izvozite tudi iz njegovega kontekstnega menija. Izvoz v datoteko zip je priročen, kadar sta bila oba tunela ustvarjena na istem računalniku, kot v tem vodniku. Če vsako konfiguracijo ustvarite neposredno na njenem lastnem gostitelju, izvoz ni potreben in konfiguracijsko datoteko lahko prekopirate ročno.

Na strežniku izberite strežniško konfiguracijo in kliknite Aktiviraj.

Na odjemalcu kliknite Add Tunnel, izberite odjemalsko konfiguracijsko datoteko in jo odprite.

Nato kliknite Aktiviraj.

Prvi odjemalec je zdaj konfiguriran. Dodatne odjemalce dodajte na enak način: za vsak odjemalec ustvarite nov prazen tunel in v strežniško konfiguracijo dodajte ustrezen razdelek [Peer] z javnim ključem in naslovom tunela tega odjemalca, kot je opisano v razdelku „Dodajanje odjemalca na strežnik".

Warning: Če WireGuard konfigurirate na oddaljenem strežniku prek seje RDP, pred aktivacijo tunela, ki usmerja ves promet, preberite razdelek „Razumevanje AllowedIPs". Konfiguracija z AllowedIPs = 0.0.0.0/0 lahko strežnikov lastni promet preusmeri v tunel in prekine vašo povezavo RDP.

Preverjanje povezave

Ko aktivirate tunel, lahko Windows v Središču za omrežje in skupno rabo prikaže vmesnik WireGuard kot „Ni dostopa do omrežja" ali „Ni dostopa do interneta". To je pričakovano vedenje, ker Windows vmesnikov tunelov VPN ne obravnava kot standardnih internetnih povezav, in na tunel ne vpliva. Windows ta status določi s svojim preverjanjem povezljivosti, ki preverja določene URL-je Microsofta, zato se opozorilo lahko pojavi tudi, če so te poizvedbe blokirane ali jih vaš DNS ne razreši, čeprav tunel deluje.

Za potrditev, da tunel deluje, preverite njegovo stanje v odjemalcu WireGuard. Aktiven tunel prikazuje stanje Aktiven skupaj s števci prenosa podatkov. Če se števci povečujejo, tunel prenaša promet.

Na strežniku lahko tudi potrdite, da WireGuard posluša na svojih vratih UDP, medtem ko je tunel aktiven:

netstat -ano | findstr 51820

V lupini PowerShell je ustreznica:

Get-NetUDPEndpoint -LocalPort 51820

51820 zamenjajte s svojimi vrati WireGuard. Če ni vrnjeno nič, tunel ni aktiven ali pa se vrata razlikujejo od tistih, nastavljenih v strežniški konfiguraciji.

Nato odprite ukazni poziv in izvedite ping na notranji naslov tunela strežnika:

ping 10.0.0.1

10.0.0.1 zamenjajte z dejanskim notranjim naslovom IP, ki ste ga nastavili za strežnik. Odgovori potrjujejo, da tunel deluje.

Če odjemalec uporablja AllowedIPs = 0.0.0.0/0, lahko tudi potrdite, da se promet usmerja skozi tunel:

tracert 8.8.8.8

Prvi skok mora biti notranji naslov IP strežnika WireGuard.

Preverjanje rokovanja WireGuard

Rokovanje (handshake) je najkoristnejši pokazatelj pri diagnosticiranju povezave WireGuard. V aplikaciji WireGuard odprite tunel in opazujte polje Latest handshake. Pri delujočem tunelu se rokovanje pojavi v nekaj sekundah po aktivaciji in se nato med prenosom podatkov občasno posodablja. Če tunel miruje, lahko med rokovanji preteče nekaj časa, zato je kratek premor običajen. Če polje ostane prazno, se peera ne moreta doseči, kar običajno kaže na napačen Endpoint, zaprta vrata UDP ali neujemajoče se ključe.

Rokovanje lahko preverite tudi iz ukazne vrstice z orodjem wg, ki je priloženo WireGuardu:

wg show

Izpis navaja vsak peer skupaj s časom njegovega zadnjega rokovanja in njegovimi števci prenosa.

Razumevanje AllowedIPs

Vrednost AllowedIPs v odjemalski konfiguraciji odloča, kateri promet se pošlje skozi tunel. Na kratko: na odjemalcu AllowedIPs določa, kateri paketi se pošljejo v tunel, na strežniku pa določa, kateri paketi se sprejmejo od določenega odjemalca in kam se usmerijo.

AllowedIPs = 0.0.0.0/0 usmeri ves promet skozi tunel, vključno z običajnim brskanjem po internetu. Uporabite ga, kadar želite popolno zaščito prometa. Da ta promet doseže internet, ga mora strežnik prevesti. Glejte „Konfiguracija NAT na strežniku za polno tuneliranje" spodaj.

AllowedIPs = 10.0.0.0/24 skozi tunel usmeri samo promet notranjega omrežja, medtem ko običajni internetni promet še naprej uporablja običajno povezavo. Uporabite ga, kadar morate doseči le določene vire v oddaljenem omrežju.

Našteti je mogoče več podomrežij, ločenih z vejicami, na primer AllowedIPs = 10.0.0.0/24, 192.168.1.0/24.

Tip: Možnost Block untunneled traffic (kill-switch) v urejevalniku tunela ima poln učinek pri AllowedIPs = 0.0.0.0/0. Blokira vse, kar bi potovalo zunaj tunela, kar blokira tudi lokalno omrežje. Če potrebujete dostop do tiskalnikov ali drugih naprav v LAN, pustite kill-switch onemogočen.
Warning: Nastavitev AllowedIPs = 0.0.0.0/0 pošlje vsako povezavo skozi tunel. Če to uporabite na oddaljenem strežniku, ki ga upravljate prek RDP, se lahko seja RDP prekine v trenutku, ko tunel postane aktiven, ker se strežnikov promet preusmeri. Na strežniku, dosegljivem prek RDP, usmerjajte le potrebna podomrežja in pred preklopom na 0.0.0.0/0 preizkusite z ozko vrednostjo AllowedIPs.

Konfiguracija NAT na strežniku za polno tuneliranje

Če odjemalci uporabljajo AllowedIPs = 0.0.0.0/0 in želite, da njihov promet dejansko doseže internet prek strežnika, mora strežnik notranje naslove WireGuard prevesti v svoj zunanji naslov. V sistemu Windows se to naredi z ukazom New-NetNat, ne pa s skriptoma PostUp in PostDown, ki se uporabljata v sistemu Linux.

Na strežniku odprite PowerShell kot skrbnik in zaženite naslednje, pri čemer uporabite podomrežje tunela, dodeljeno strežniku:

New-NetNat -Name WireGuardNAT -InternalIPInterfaceAddressPrefix 10.0.0.0/24

10.0.0.0/24 zamenjajte s svojim podomrežjem tunela in poskrbite, da predpona zajema vsak naslov odjemalca, ki ga dodelite. Odjemalec zunaj tega obsega, na primer 10.0.1.2, s tem pravilom ne bi bil zajet. Aktivna pravila lahko kadar koli pregledate:

Get-NetNat

Za poznejšo odstranitev pravila NAT zaženite:

Remove-NetNat -Name WireGuardNAT

Če se odjemalci povežejo in rokovanje uspe, njihov internetni promet pa še vedno ne gre skozi strežnik, na vmesnikih, vključenih v usmerjanje, omogočite posredovanje IP in znova preizkusite. Natančna oblika je odvisna od različice sistema Windows, na primer:

Set-NetIPInterface -InterfaceAlias "Ethernet" -Forwarding Enabled

Uporabite ga na zunanjem vmesniku, ki prenaša internetni promet, in na vmesniku WireGuard, pri čemer uporabite njuni dejanski imeni iz Get-NetIPInterface.

Info: New-NetNat zahteva Windows 10, Windows 11 ali Windows Server 2016 in novejše, na nekaterih sistemih pa zahteva omogočeno funkcijo Hyper-V, tudi če Hyper-V sicer ne uporabljate. Pri nekaterih paketih VPS Hyper-V ni mogoče omogočiti, kar to metodo blokira. Ali zadošča sam New-NetNat ali je treba omogočiti tudi posredovanje IP, je lahko odvisno od različice sistema Windows, zato to preverite na svojem strežniku, kadar polno tuneliranje ne deluje.

Odpravljanje težav

Tunel je aktiven, vendar ni povezave s strežnikom. Preverite, ali so vrata UDP WireGuard, na primer 51820, odprta v požarnem zidu na strežniku. Potrdite, da so javni ključi pravilno prekopirani med strežniško in odjemalsko konfiguracijo. Prepričajte se, da Endpoint v odjemalski konfiguraciji kaže na pravi javni naslov IP strežnika, ne na notranji naslov tunela.

DNS po povezavi ne deluje. V razdelek interface odjemalca dodajte strežnik DNS:

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

Števci paketov se ne povečujejo. Tunel ne prenaša podatkov. Preverite, ali je AllowedIPs pravilno nastavljen na obeh straneh, ali notranji naslovi WireGuard niso v sporu z obstoječim lokalnim omrežjem in ali ListenPort ni že v uporabi pri drugi aplikaciji.

Za diagnosticiranje težave potrebujete več podrobnosti. Odprite tunel v aplikaciji WireGuard in si oglejte zavihek Log, ki beleži rokovanja, napake in dogodke povezave, ko se zgodijo. Od tam lahko dnevnik izvozite, če ga morate deliti.

Samodejni zagon WireGuard po vnovičnem zagonu strežnika

Da tunel deluje tudi po vnovičnih zagonih, ga namestite kot storitev Windows. Ko je tunel nameščen kot storitev, se po vnovičnem zagonu zažene samodejno. Odprite ukazni poziv ali PowerShell kot skrbnik in zaženite naslednje, pri čemer uporabite pot do svoje strežniške konfiguracijske datoteke:

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

Po namestitvi se tunel pojavi na seznamu storitev Windows kot WireGuard Manager, s stanjem Se izvaja in vrsto zagona Samodejno, kar potrjuje, da se bo po vnovičnem zagonu zagnal sam.

Ta ukaz zaženite samo enkrat, ne ob vsakem zagonu. Aktivacija tunela iz aplikacije WireGuard običajno namesti isto storitev, zato v mnogih primerih zadošča, da ga aktivirate enkrat. Za poznejšo odstranitev storitve uporabite ime tunela, ki je ime konfiguracijske datoteke brez končnice .conf:

wireguard /uninstalltunnelservice wg_server

Za vnovični zagon storitve, na primer po urejanju konfiguracije, zaženite ukaz za odstranitev in nato znova ukaz za namestitev.

Info: Ker tunel teče kot storitev, ločeno opravilo v Razporejevalniku opravil ni potrebno.

Znova zaženite strežnik in potrdite, da se tunel zažene 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