Vaš tunel je aktivan, gateway odgovara na ping, a datotečni udio ipak istječe. Ta kombinacija rijetko je problem usmjeravanja: Windows je podmrežu VPN adaptera stavio u javni profil i svako pravilo dopuštanja napisano za privatni ili domenski profil nikad se nije primijenilo. Susreo sam se s tim na prijenosnicima koji bez problema dolaze do ureda i na RRAS poslužiteljima koji poslužuju sve ostale klijente, a popravak je kratak kad god imenujete profil koji je u igri. Ovo je redoslijed kojim radim, uz provjeru koja vam kaže kada stati prije sljedećeg koraka.

Utvrdite na kojem profilu promet stvarno dolazi

Windows vatrozid nema jedinstveni globalni način rada. Svako povezano sučelje nosi kategoriju, a ulazni paketi filtriraju se prema kategoriji sučelja na koje dolaze, pa profil VPN adaptera odlučuje što tunelirani klijent može dosegnuti, a ne Wi-Fi ili Ethernet adapter pokraj njega. Pročitajte obje činjenice prije nego što bilo što promijenite:

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory, IPv4Connectivity
Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction

Kod standardne instalacije OpenVPN-a ili WireGuarda VPN adapter pojavljuje se kao neidentificirana mreža i završava u javnom profilu, što je zadana vrijednost za svaku mrežu koju Windows ne može klasificirati: nijedan kontroler domene nije odgovorio preko nje i nijedan profil pristupnika nije se podudarao. Naziv sučelja ovdje nije važan, pa nazvati adapter „VPN” ili „Corp” ništa ne mijenja. DomainAuthenticated zahtijeva računalo pridruženo domeni , koje preko tog sučelja doista može dosegnuti kontroler domene; podijeljeni tunel koji prenosi samo jednu podmrežu neće zadovoljiti uvjet.

Ako je pravilo koje trebate već ograničeno na VPN pool i već se primjenjuje na kategoriju koju ste upravo pročitali, zaustavite se ovdje: filtriranje nije vaš sloj, a sljedeće mjesto za pregled je konfiguracija usluge. Ta provjera traje deset sekundi i štedi sat uređivanja pravila. Nazivi kategorija i što svaka pokriva dokumentirani su u referenciji Get-NetConnectionProfile.

Potvrdite filtriranje, a ne usmjeravanje, prije nego što uredite pravila

Ping je slab test. ICMP može proći dok se port usluge odbacuje, a host može odgovoriti iz LAN-a dok odbija isti zahtjev preko tunela. Testirajte port koji klijent treba, s klijenta:

Test-NetConnection 10.8.0.1 -Port 445
Test-NetConnection 10.8.0.1 -Port 3389 -InformationLevel Detailed

Ako test porta ne uspije, razdvojite dva sloja. Kvar tunela ili rute obično se očituje kao nikakav odgovor s adrese pristupnika, dok odbacivanje vatrozida pokazuje pristupnik koji odgovara i port usluge koji ne odgovara. Na Windows poslužitelju koji objavljuje pool preko RRAS-a pokrenite isti test s klijenta i pročitajte vlastiti profil poslužitelja: RAS sučelje može sjediti u kategoriji čija ulazna pravila nikad ne spominju raspon klijenata, i zato stroj poslužuje svoj LAN i odbija svakog tuneliranog klijenta.

Kad je rezultat još dvosmislen, zabilježite odbacivanja za profil koji je u igri i pročitajte ih:

Set-NetFirewallProfile -Name Public -LogBlocked True `
  -LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"

Unosi koji imenuju adresu i port klijenta s DROP su odlučujući i također vam kažu koje je pravilo nedostajalo. Dnevnik bez ijednog zapisa, dok se SYN klijenta nikad ne pojavljuje, upućuje na dio prije hosta, pa se vratite tunelu, NAT pravilu ili ruti poola prije nego što dotaknete još jedan objekt vatrozida.

Ograničite jedno ulazno pravilo na pool klijenata

Popravak je jedno ulazno pravilo dopuštanja čija je udaljena adresa pool, a ne cijeli svijet. Iz povišene sesije:

New-NetFirewallRule -DisplayName "VPN clients - SMB 445" `
  -Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 `
  -RemoteAddress 10.8.0.0/24 -Profile Public

Kad je usluga jedna binarna datoteka, dajte prednost pravilu ograničenom na program s -Program umjesto popisa portova; to ograničava iznimku i na proces i na izvorni raspon.

Odabir profila mjesto je gdje se ista pogreška čini u suprotnom smjeru. -Profile Public dovoljan je kad je adapter javan i ostaje javan. -Profile Any je obranjiv kad usluga mora raditi neovisno o tome kako Windows klasificira adapter, ali samo dok udaljeni obuhvat ostaje. Ono što nikad nije obranjivo jest -RemoteAddress Any na javnom profilu: to pravilo prati prijenosnik u svaku mrežu kafića i hotela kojoj se pridruži i otvara port svakome tko dijeli tu podmrežu.

Zapišite pool uz pravilo. -RemoteAddress 10.8.0.0/24 tiho prestaje odgovarati onog dana kad se VPN pool prenumerira, a kvar izgleda točno kao izvorna pogreška, zato košta još jedno poslijepodne. Imenujte pravila po usluzi i izvornom rasponu, držite ih zajedno s -Group, i ponovno ih čitajte kad se definicija poola promijeni. Popis pravila koji možete pregledati na jednom zaslonu bolji je od ispravnog pravila koje nitko ne može pronaći.

Mijenjajte kategoriju samo kad je kategorija odluka

Prebacivanje sučelja na privatno također radi, i to je pogrešna zadana vrijednost. Privatni profil nosi dugačak popis ugrađenih pravila dopuštanja koja pokrivaju dijeljenje datoteka i pisača, otkrivanje mreže, udaljenu radnu površinu i još više ovisno o osnovici, pa reklasifikacija VPN adaptera uključuje ih sve odjednom za svakog klijenta u tunelu. Jedno ograničeno pravilo daje jednu uslugu jednom rasponu. Na prijenosniku koji se pridružuje i nepouzdanim mrežama ta razlika nije kozmetička.

Postoje slučajevi u kojima je klasifikacija uistinu pogrešna: tunel koji je uvijek uključen ili tunel između lokacija koji prenosi uredsku podmrežu pouzdana je infrastruktura, a označavanje tog adaptera privatnim legitimna je dizajnerska odluka donesena jednom, pravilnikom, a ne po svakom zahtjevu. Kad je donesete, donesite je izričito:

Set-NetConnectionProfile -InterfaceAlias "OpenVPN TAP-Windows6" -NetworkCategory Private

Na upravljanom uređaju prvo provjerite drži li postavku grupna pravila ili MDM osnovica. Ako drži, lokalna promjena poništava se pri sljedećem osvježavanju, a gpresult /h imenovat će pravilnik koji je drži; popravite to tamo, a ne na krajnjoj točki.

Provjerite s oba kraja i ostavite trag

Provjerite tok koji je korisnik prijavio, s klijenta, nakon promjene:

Test-NetConnection 10.8.0.1 -Port 445
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallAddressFilter | Select-Object RemoteAddress
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort

Zatim zatvorite petlju na stvarima koje će se sljedeći tjedan pokvariti. Ponovno pokrenite host i ponovno testirajte, jer pravilo ograničeno na pogrešan profil nastavlja raditi dok se adapter ne vrati u drugu kategoriju. Testirajte s drugog klijenta, jer jedan klijent sa zastarjelim leaseom može sakriti nepodudarnost poola. Prebrojite pravila koja ste dodali nasuprot onima koja ste uklonili, jer preklapajuće iznimke način su na koji popravak od dva retka postaje politika filtriranja koju nitko ne može pregledati.

Prije nego što to proglasite gotovim:

  • Profil naveden u pravilu profil je sučelja na koje promet dolazi.
  • Udaljeni obuhvat je VPN pool, a taj pool odgovara onome što poslužitelj stvarno dodjeljuje.
  • Nijedno pravilo koje ste dodali ne koristi -RemoteAddress Any na javnom profilu.
  • Ništa nije onemogućeno da bi test prošao, a svaka promjena kategorije bilježi tko ju je odobrio.

Povezani članci