Vaš tunel je vzpostavljen, prehod odgovarja na ping, skupna raba datotek pa še vedno poteče. Ta kombinacija je redko usmerjevalni problem: Windows je podomrežje adapterja VPN postavil v javni profil in vsako dovolilno pravilo, napisano za Zasebni ali Domenski profil, se nikoli ni uporabilo. S tem sem se srečal na prenosnikih, ki brez težav dosežejo pisarno, in na strežnikih RRAS, ki strežejo vsem drugim odjemalcem, popravilo pa je kratko, ko enkrat poimenujete profil, ki je v igri. Tukaj je vrstni red, po katerem delam, s preverjanjem, ki vam pove, kdaj se ustaviti pred naslednjim korakom.

Ugotovite, na katerem profilu promet dejansko prispe

Požarni zid Windows nima enega samega globalnega načina. Vsak povezan vmesnik nosi kategorijo, dohodni paketi pa se filtrirajo glede na kategorijo vmesnika, po katerem prispejo, zato profil adapterja VPN odloča, kaj lahko odjemalec v tunelu doseže, ne pa vmesnik Wi-Fi ali Ethernet ob njem. Preberite obe dejstvi, preden karkoli spremenite:

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

Pri običajni namestitvi OpenVPN ali WireGuard se adapter VPN prikaže kot neprepoznano omrežje in pristane v javnem profilu, kar je privzeto za vsako omrežje, ki ga Windows ne more razvrstiti: noben krmilnik domene ni odgovoril po njem in noben profil prehoda se ni ujemal. Ime vmesnika tukaj ni pomembno, zato klicanje adapterja »VPN« ali »Corp« ničesar ne spremeni. DomainAuthenticated zahteva stroj, pridružen domeni , ki po tem vmesniku dejansko doseže krmilnik domene; razdeljeni tunel, ki prenaša samo eno podomrežje, tega pogoja ne bo izpolnil.

Če je pravilo, ki ga potrebujete, že omejeno na bazen VPN in že velja za kategorijo, ki ste jo pravkar prebrali, se ustavite tukaj: filtriranje ni vaša plast in naslednje mesto za pregled je konfiguracija storitve. To preverjanje traja deset sekund in prihrani eno uro urejanja pravil. Imena kategorij in kaj vsaka pokriva so dokumentirani v referenci Get-NetConnectionProfile.

Potrdite filtriranje, ne usmerjanja, preden uredite pravila

Ping je šibek test. ICMP lahko preide, medtem ko se vrata storitve zavržejo, in gostitelj lahko odgovori iz LAN-a, medtem ko isto zahtevo po tunelu zavrne. Preizkusite vrata, ki jih odjemalec potrebuje, z odjemalca:

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

Če preizkus vrat ne uspe, ločite obe plasti. Napaka tunela ali poti se običajno pokaže kot nobenega odgovora z naslova prehoda, medtem ko zavrženje požarnega zidu pokaže prehod, ki odgovarja, in vrata storitve, ki ne odgovarjajo. Na strežniku Windows, ki objavlja bazen prek RRAS, zaženite isti preizkus z odjemalca in preberite profil samega strežnika: vmesnik RAS je lahko v kategoriji, katere dohodna pravila nikoli ne omenijo obsega odjemalcev, in zato stroj streže svojemu LAN-u ter zavrne vsakega odjemalca v tunelu.

Ko je rezultat še vedno dvoumen, zabeležite zavrženja za profil v igri in jih preberite:

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

Vpisi, ki navajajo naslov in vrata odjemalca z DROP, so odločilni in povedo tudi, katero pravilo je manjkalo. Dnevnik brez česarkoli, medtem ko se SYN odjemalca nikoli ne pojavi, kaže pred gostitelja, zato se vrnite k tunelu, pravilu NAT ali poti bazena, preden se dotaknete drugega predmeta požarnega zidu.

Omejite eno dohodno pravilo na bazen odjemalcev

Popravilo je eno dohodno dovolilno pravilo, katerega oddaljeni naslov je bazen, ne ves svet. Iz povišane seje:

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

Ko je storitev ena sama binarna datoteka, raje uporabite pravilo, omejeno na program, s -Program namesto seznama vrat; to omeji izjemo na proces in na obseg vira.

Izbira profila je mesto, kjer se ista napaka naredi v nasprotni smeri. -Profile Public zadostuje, ko je adapter Javen in ostane Javen. -Profile Any je zagovorljivo, ko mora storitev delovati ne glede na to, kako Windows razvrsti adapter, a le dokler oddaljeni obseg ostane. Kar ni nikoli zagovorljivo, je -RemoteAddress Any v javnem profilu: to pravilo sledi prenosniku v vsako kavarniško in hotelsko omrežje, ki se mu pridruži, in odpre vrata vsakomur, ki si to podomrežje deli.

Zapišite bazen poleg pravila. -RemoteAddress 10.8.0.0/24 tiho preneha ustrezati na dan, ko se bazen VPN preštevilči, in napaka je videti natanko kot prvotna napaka, zato stane drugi popoldan. Poimenujte pravila po storitvi in obsegu vira, imejte jih skupaj s -Group, in jih znova preberite vsakič, ko se definicija bazena spremeni. Popis pravil, ki ga lahko pregledate na enem zaslonu, premaga pravilno pravilo, ki ga nihče ne najde.

Spremenite kategorijo le, ko je kategorija odločitev

Preklop vmesnika na Zasebno prav tako deluje in je napačna privzeta vrednost. Zasebni profil nosi dolg seznam vgrajenih dovolilnih pravil, ki pokrivajo skupno rabo datotek in tiskalnikov, odkrivanje omrežja, oddaljeno namizje in več glede na osnovno linijo, zato prerazvrščanje adapterja VPN vklopi vsa hkrati za vsakega odjemalca v tunelu. Eno omejeno pravilo podeli eno storitev enemu obsegu. Na prenosniku, ki se pridruži tudi nezanesljivim omrežjem, ta razlika ni kozmetična.

Obstajajo primeri, ko je razvrstitev res napačna: vedno vklopljen tunel ali tunel med lokacijami, ki prenaša pisarniško podomrežje, je zaupanja vredna infrastruktura, in označitev tega adapterja kot Zasebni je legitimna oblikovalska odločitev, sprejeta enkrat s politiko in ne za vsak zahtevek. Ko jo sprejmete, jo sprejmite izrecno:

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

Na upravljanem sistemu najprej preverite, ali nastavitev poseduje skupinska politika ali osnovna linija MDM. Če jo, se lokalna sprememba razveljavi ob naslednjem osveževanju in gpresult /h bo navedla politiko, ki jo poseduje; popravite to tam, ne na končni točki.

Preverite z obeh koncev in pustite sled

Preverite potek, ki ga je uporabnik prijavil, z odjemalca, po spremembi:

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

Nato zaprite zanko pri stvareh, ki se bodo naslednji teden pokvarile. Znova zaženite gostitelja in znova preizkusite, ker pravilo, omejeno na napačni profil, deluje naprej, dokler se adapter ne vrne v drugo kategorijo. Preizkusite z drugega odjemalca, saj lahko en odjemalec z zastarelim najemom skrije neskladje bazena. Preštejte pravila, ki ste jih dodali, proti tistim, ki ste jih odstranili, ker so prekrivajoče se izjeme način, da popravek v dveh vrsticah postane politika filtriranja, ki je nihče ne more pregledati.

Preden to razglasite za končano:

  • Profil, naveden v pravilu, je profil vmesnika, po katerem promet prispe.
  • Oddaljeni obseg je bazen VPN in ta bazen ustreza temu, kar strežnik dejansko dodeljuje.
  • Nobeno pravilo, ki ste ga dodali, ne uporablja -RemoteAddress Any v javnem profilu.
  • Nič ni bilo onemogočeno, da bi test uspel, in vsaka sprememba kategorije zabeleži, kdo jo je odobril.

Sorodni članki