Vienas VPN, dvi Windows paskyros: kodėl kita sesija sugenda
Maršrutai ir resolveriai galioja visai mašinai, todėl vienos paskyros tunelis perkelia kitų srautą. Tada raskite, kuri politika ar prisijungimo modulis pašalino punktą „Perjungti vartotoją“.
Du žmonės yra prisijungę, vienas jų prisijungia prie įmonės tunelio, o kitos paskyros naršyklė nustoja įkelti puslapius, kurie prieš minutę veikė. Toje pačioje mašinoje prisijungimo ekrane taip pat dingo punktas „Perjungti vartotoją“, todėl antrasis žmogus negali grįžti į savo sesiją. Šią problemą tyrinėti pradedant nuo antrosios sesijos ir einant į išorę yra greičiausias būdas ją suprasti, nes pirmojo vartotojo ryšyje nėra nieko paslėpto, o antrojo vartotojo problemoje nelieka nieko mįslingo, kai pamatai, kurie objektai yra bendri.
Pradėkite nuo sesijos, kuri sugedo
Eikite į antrosios paskyros darbalaukį, o ne į pirmosios. Atidarykite ten terminalą ir, kol kita sesija prijungta, pažiūrėkite maršrutų lentelę bei resolverių sąrašą. Viskas, ką matote, priklauso mašinai, o ne kitam vartotojui, ir tai yra pirmasis įkalčio ženklas.
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric | Select-Object -First 12 DestinationPrefix,NextHop,InterfaceAlias
Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object InterfaceAlias,ServerAddresses
Get-NetConnectionProfile | Select-Object Name,NetworkCategory,IPv4Connectivity
Jei numatytasis maršrutas dabar rodo į tunelio sąsają, antrojo vartotojo srautas taip pat juo eina. Jei resolverių sąraše atsirado privatus serveris, jų užklausos dabar keliauja ten, kur jie negalės pasiekti, kai tunelis nutrūks. Nė viena iš šių aplinkybių nėra kliento klaida; tai vieno bendro tinklo kamino pasekmės.
Trečioji komanda paaiškina antrąją nusiskundimų grupę. Kai adapteris perjungia mašiną iš viešosios į privačią tinklo kategoriją, su profiliu susietos ugniasienės taisyklės pasikeičia visoms paskyroms iš karto, todėl programos, kurios ryte buvo leidžiamos, po pietų gali būti blokuojamos niekam nelietus taisyklės.
Ryšys yra vienam vartotojui, tinklas – ne
Windows ryšio objektą laiko jį sukūrusio vartotojo profilyje. Jį sukuriamas virtualus adapteris, įdiegiami maršrutai ir registruojami DNS serveriai yra visos mašinos masto. Šis atskyrimas yra abiejų pavadinime minimų simptomų šaltinis.
Tai taip pat paaiškina, kodėl atsijungus pirmajam vartotojui paprastai sutvarkoma antrojo problema. Pašalinus ryšį pašalinamas ir adapteris, ir maršrutai, o mašinos masto būsena grįžta į tą, kokia buvo prieš kam nors prisijungiant. Tai naudinga diagnostika: jei atsijungimas sutaiso kitą paskyrą, matote bendrą būseną, o ne sugedusį profilį.
Ko negalite padaryti, tai suteikti antrajai sesijai kitą maršrutų lentelę. Lentelė yra viena, ir bet kurios dvi sesijos ją dalijasi. Tai yra operacinės sistemos savybė, o ne konkretaus kliento apribojimas. Tai taip pat reiškia, kad bet kokia konstrukcija, kuri mano kitaip, ir toliau žlugs, o tie gedimai atrodys kaip nesusijusios programos klaidos.
Raskite, kas pašalino punktą „Perjungti vartotoją“, šia tvarka
Spartusis vartotojų perjungimas dingo dėl visiškai kitos priežasties, ir sprendimas neturi nieko bendra su maršrutizavimu. Peržiūrėkite keturis kandidatus iš eilės, nes pirmieji du atšaukiami per kelias sekundes, o vėlesnieji turi kainą.
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name HideFastUserSwitching
gpresult /h $env:TEMP\gp.html
Get-Service | Where-Object { $_.DisplayName -match 'Logon|Access|Credential' } | Select-Object Status,Name,DisplayName
Registro reikšmė yra paprasčiausias paaiškinimas. Jei ji yra ir rodo 1, punktas paslėptas politika, o grupės politikos kelias yra Computer Configuration, Administrative Templates, System, Logon ir nuostata, skirta sparčiojo vartotojų perjungimo punktams slėpti. Nustatykite ją į Not Configured ir atnaujinkite su gpupdate /force.
Antroji komanda pasako, ar ši politika tiekiama iš domeno, o ne įrašyta vietoje. Jei ataskaitoje ji pasirodo su laimėjusia GPO, vietinės reikšmės redagavimas yra laikinas pataisymas, kuris grįš per kitą atnaujinimą, todėl apie tai reikia kalbėtis su politikos savininku.
Trečioji komanda apima kitą mechanizmą. Prisijungimo modulį įdiegiantis kredencialų ar tinklo prieigos teikėjas gali nuslopinti punktą, kol veikia, o kai kurie klientai taip pat registruoja komponentą, kuris paleidžiamas prieš prisijungimą ir išlaiko teisę prisijungimo ekrane. Išjungus tą paslaugą perjungimas atsistato, bet taip pat pašalinamos prieš prisijungimą veikiančios ar posture funkcijos, kurioms modulis skirtas.
| Cause | How to confirm | Cost of the fix |
|---|---|---|
| HideFastUserSwitching policy | Registry value present and set to 1 | None; remove the policy |
| Logon module service | Service running under a vendor name | Loses pre-logon and posture behaviour |
| GINA-era assumption | Only relevant on very old Windows | Nothing to fix; the mechanism is gone |
Pakeiskite tai neužsirakindami savęs
Dirbdami laikykite atidarytą vieną administravimo sesiją ir niekada nekeiskite prisijungimo ekrano nustatymų mašinoje, kurią pasiekiate tik per tą ekraną. Pirmiau atsijunkite kitas sesijas, pritaikykite pakeitimą, atnaujinkite, o tada tikrinkite perjungdami vartotojus, o ne perkraudami.
Užsirašykite, kurias posture funkcijas išjungėte. Kliento atnaujinimas gali iš naujo įdiegti arba vėl įjungti prisijungimo modulį, ir simptomas grįš be akivaizdžios priežasties, dažniausiai palaikymo lango viduryje, kai niekas neatsimena ankstesnio pakeitimo.
Valdomame įrenginyje manykite, kad nustatymas tiekiamas iš viršaus. Politikos ataskaitos patikrinimas pirmiausia sutaupo valandą vietinių keitimų, kurie grįžta. Tai taip pat pasako, ko klausti, kai atsakymas yra ne. Bilietas, kuriame įvardyta laimėjusi politika, išsprendžiamas dvigubai greičiau nei tas, kuriame aprašomas registro raktas, kurį kažkas jau pakeitė.
Patikrinkite abi paskyras ir pasirinkite modelį
Tikrinkite rezultatą tokia tvarka, kokia jį patiria abu vartotojai. Prisijunkite prie antrosios paskyros, kai pirmoji atjungta, patvirtinkite įprastą prieigą, tada prijunkite pirmosios paskyros tunelį ir patvirtinkite, kad antrosios paskyros tikėtinas kelias vis dar toks, kokio norėjote.
qwinsta
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Select-Object InterfaceAlias,NextHop,RouteMetric
Test-NetConnection -ComputerName intranet.example.internal -Port 443
Jei abiem paskyroms tikrai vienu metu reikia skirtingų tinklo kelių, sąžiningas atsakymas yra dvi mašinos, dvi virtualios mašinos arba politika, kai reikalingas tik vienas kelias. Padalintas tunelis bendrame ryšyje gali susiaurinti tai, kas juda, bet negali suteikti kiekvienai sesijai savo lentelės. Tai sužinoti anksčiau pigiau nei atrasti po trijų bandytų apeiti būdų.
Tai sprendimas, kurį reikia priimti aiškiai, o ne lopyti apeinant. Viena maršrutų lentelė, vienas resolverių sąrašas, vienas ugniasienės profilis: visa kita iš to išplaukia, o sprendimas, kuris tai gerbia, veiks ir kitą mėnesį.