Jūsu tunelis ir aktīvs, vārteja atbild uz ping, un failu koplietošana tomēr beidzas ar taimautu. Šī kombinācija reti ir maršrutēšanas problēma: Windows ir ievietojis VPN adaptera apakštīklu Publiskajā profilā, un katrs atļaušanas noteikums, kas rakstīts Privātajam vai Domēna profilam, nekad nav piemērots. Esmu ar to saskāries gan portatīvajos datoros, kas bez problēmām sasniedz biroju, gan RRAS serveros, kas apkalpo visus pārējos klientus, un labojums ir īss, tiklīdz jūs nosaucat attiecīgo profilu. Lūk, kārtība, kādā es strādāju, kopā ar pārbaudi, kas pasaka, kad apstāties pirms nākamā soļa.

Noskaidrojiet, ar kuru profilu trafiks patiešām ienāk

Windows ugunsmūrim nav viena globāla režīma. Katram pievienotajam interfeisam ir kategorija, un ienākošie paketes tiek filtrētas pēc tā interfeisa kategorijas, pa kuru tās ienāk, tāpēc VPN adaptera profils nosaka, ko tunelī esošais klients var sasniegt, nevis blakus esošais Wi-Fi vai Ethernet adapteris. Izlasiet abus faktus, pirms kaut ko maināt:

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

Standarta OpenVPN vai WireGuard instalācijā VPN adapteris parādās kā neidentificēts tīkls un nonāk Publiskajā profilā, kas ir noklusējums jebkuram tīklam, ko Windows nevar klasificēt: neviens domēna kontrolieris pa to neatbildēja un neviens vārtejas profils neatbilda. Interfeisa nosaukumam šeit nav nozīmes, tāpēc adaptera nosaukšana par "VPN" vai "Corp" neko nemaina. DomainAuthenticated prasa domēnam pievienotu mašīnu , kas pa šo interfeisu patiešām var sasniegt domēna kontrolieri; sadalīts tunelis, kas pārvadā tikai vienu apakštīklu, šo prasību neizpildīs.

Ja nepieciešamais noteikums jau ir ierobežots ar VPN baseinu un jau attiecas uz kategoriju, kuru tikko izlasījāt, apstājieties šeit: filtrēšana nav jūsu slānis, un nākamā vieta, kur skatīties, ir pakalpojuma konfigurācija. Šī pārbaude aizņem desmit sekundes un ietaupa stundu noteikumu rediģēšanas. Kategoriju nosaukumi un tas, ko katra aptver, ir dokumentēti Get-NetConnectionProfile atsaucē.

Apstipriniet filtrēšanu, nevis maršrutēšanu, pirms rediģējat noteikumus

Ping ir vājš tests. ICMP var iziet, kamēr pakalpojuma ports tiek atmests, un resursdators var atbildēt no LAN, kamēr atsaka to pašu pieprasījumu pa tuneli. Pārbaudiet portu, kas klientam nepieciešams, no klienta:

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

Ja porta tests neizdodas, atdaliet abus slāņus. Tunela vai maršruta kļūda parasti izpaužas kā pilnīga atbildes neesamība no vārtejas adreses, savukārt ugunsmūra atmetums parāda atbildošu vārteju un neatbildošu pakalpojuma portu. Windows serverī, kas publicē baseinu caur RRAS, palaidiet to pašu testu no klienta un izlasiet paša servera profilu: RAS interfeiss var atrasties kategorijā, kuras ienākošie noteikumi nekad nemin klientu diapazonu, un tāpēc mašīna apkalpo savu LAN un atsaka katru klientu tunelī.

Kad rezultāts joprojām ir neskaidrs, reģistrējiet attiecīgā profila atmetumus un izlasiet tos:

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

Ieraksti, kuros klienta adrese un ports norādīti ar DROP, ir izšķiroši, un tie arī pasaka, kura noteikuma trūka. Žurnāls, kurā nekas nav, kamēr klienta SYN nekad neparādās, norāda uz augšu no resursdatora, tāpēc atgriezieties pie tuneļa, NAT noteikuma vai baseina maršruta, pirms pieskaraties citam ugunsmūra objektam.

Ierobežojiet vienu ienākošo noteikumu ar klientu baseinu

Labojums ir viens ienākošs atļaušanas noteikums, kura attālinātā adrese ir baseins, nevis visa pasaule. No paaugstinātas sesijas:

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

Kad pakalpojums ir viens binārs fails, dodiet priekšroku programmai ierobežotam noteikumam ar -Program portu saraksta vietā; tas ierobežo izņēmumu gan ar procesu, gan ar avota diapazonu.

Profila izvēle ir vieta, kur tā pati kļūda tiek pieļauta pretējā virzienā. -Profile Public pietiek, kad adapteris ir Publisks un paliek Publisks. -Profile Any ir attaisnojams, kad pakalpojumam jādarbojas neatkarīgi no tā, kā Windows klasificē adapteri, bet tikai tik ilgi, kamēr attālinātais apjoms paliek. Tas, kas nekad nav attaisnojams, ir -RemoteAddress Any Publiskajā profilā: šis noteikums seko portatīvajam datoram uz katru kafejnīcas un viesnīcas tīklu, kuram tas pievienojas, un atver portu ikvienam, kas koplieto šo apakštīklu.

Pierakstiet baseinu pie noteikuma. -RemoteAddress 10.8.0.0/24 klusi pārstāj atbilst dienā, kad VPN baseins tiek pārnumurēts, un kļūme izskatās tieši kā sākotnējā kļūda, tāpēc tā maksā otru pēcpusdienu. Nosauciet noteikumus pēc pakalpojuma un avota diapazona, turiet tos kopā ar -Group, un pārlasiet tos ikreiz, kad mainās baseina definīcija. Noteikumu inventārs, ko varat pārbaudīt vienā ekrānā, pārspēj pareizu noteikumu, ko neviens nevar atrast.

Mainiet kategoriju tikai tad, kad kategorija ir lēmums

Interfeisa pārslēgšana uz Privāto arī darbojas, un tas ir nepareizais noklusējums. Privātais profils satur garu iebūvētu atļaušanas noteikumu sarakstu, kas aptver failu un printeru koplietošanu, tīkla atklāšanu, attālināto darbvirsmu un vairāk atkarībā no bāzes līnijas, tāpēc VPN adaptera pārklasificēšana iespējo tos visus uzreiz katram tunelī esošajam klientam. Viens ierobežots noteikums piešķir vienu pakalpojumu vienam diapazonam. Portatīvajā datorā, kas pievienojas arī neuzticamiem tīkliem, šī atšķirība nav kosmētiska.

Ir gadījumi, kad klasifikācija patiešām ir nepareiza: vienmēr ieslēgts vai starp vietnēm esošs tunelis, kas pārvadā biroja apakštīklu, ir uzticama infrastruktūra, un šī adaptera atzīmēšana par Privātu ir likumīgs dizaina lēmums, pieņemts vienreiz ar politiku, nevis par katru biļeti. Kad to darāt, dariet to skaidri:

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

Pārvaldītā ierīcē vispirms pārbaudiet, vai iestatījumu pieder grupas politikai vai MDM bāzes līnijai. Ja pieder, vietējā izmaiņa tiek atsaukta nākamajā atjauninājumā, un gpresult /h nosauks politiku, kurai tas pieder; labojiet to tur, nevis galapunktā.

Pārbaudiet no abiem galiem un atstājiet pēdas

Pārbaudiet lietotāja ziņoto plūsmu no klienta pēc izmaiņām:

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

Pēc tam aizveriet cilpu par lietām, kas salūzīs nākamnedēļ. Restartējiet resursdatoru un pārbaudiet vēlreiz, jo noteikums, kas ierobežots ar nepareizo profilu, turpina darboties, līdz adapteris atgriežas citā kategorijā. Pārbaudiet no otra klienta, jo viens klients ar novecojušu nomu var paslēpt baseina neatbilstību. Saskaitiet pievienotos noteikumus pret noņemtajiem, jo pārklājošās izņēmumi ir veids, kā divu rindu labojums kļūst par filtrēšanas politiku, ko neviens nevar pārskatīt.

Pirms uzskatāt to par pabeigtu:

  • Noteikumā nosauktais profils ir interfeisa profils, pa kuru trafiks ienāk.
  • Attālinātais apjoms ir VPN baseins, un šis baseins atbilst tam, ko serveris faktiski izsniedz.
  • Neviens jūsu pievienotais noteikums neizmanto -RemoteAddress Any Publiskajā profilā.
  • Nekas netika atspējots, lai tests izietu, un katra kategorijas maiņa reģistrē, kas to apstiprināja.

Saistītie raksti