Kodėl RDP užšąla, kai nuotolinis kompiuteris prisijungia prie VPN
VPN pavyksta, o darbalaukis užšąla: tunelis pakeitė jūsų sesijos grįžimo kelią. Pirmiausia užsirašykite partnerio adresą, maršrutą ir ugniasienės profilį.
Jūs esate RDP lange, darbalaukis matomas ekrane, ir spaudžiate Connect VPN kliente, kuris veikia tame nuotoliniame kompiuteryje. Po kelių sekundžių langas užšąla ir tada užsidaro. Tunelis pakilo, būtent tai ir praneš VPN žurnalas, ir tai yra mažiausiai naudingas faktas visame incidente. Sesija mirė todėl, kad kompiuteris, su kuriuo kalbėjotės, pakeitė būdą, kuriuo jums atsako, todėl patikrinkite grįžimo kelią prieš liesdami tunelį.
Užsirašykite galinį tašką, kurį jūsų sesija iš tikrųjų naudoja
Adresas, įrašytas į RDP klientą, nebūtinai yra tas adresas, į kurį atsako nuotolinis kompiuteris. NAT, RD Gateway arba apkrovos balansuotojas prieš hostą gali jį perrašyti, o grįžimo kelią lemia šaltinio adresas, kurį nuotolinis kompiuteris mato nustatytame ryšyje. Suklydę čia ieškosite maršruto, kuris niekada nedalyvavo.
Nuotoliniame kompiuteryje, kol VPN dar neprijungtas, išvardykite nustatytas sesijas ir perskaitykite partnerio adresą iš lentelės. Tada užsirašykite jį kur nors už to kompiuterio ribų, nes po sesijos nutrūkimo jo nebegalėsite perskaityti.
Get-NetTCPConnection -LocalPort 3389 -State Established | Select-Object LocalAddress, RemoteAddress, RemotePort
Traktuokite tą adresą kaip tai, kas turi likti pasiekiama. Jei tai privatus adresas valdymo VLAN tinkle, tunelis turi palikti tą kelią ramybėje. Jei tai viešas adresas, atsakymas turi išeiti per tą pačią sąsają, kuri atnešė užklausą.
Perskaitykite maršrutą, kuris atsako į tą galinį tašką
Windows kiekvienam tikslui pasirenka sąsają, o Find-NetRoute parodo sprendimą, kurį jis priimtų dabar. Paleiskite jį partnerio adresui prieš prisijungdami, tada dar kartą su pakeltu tuneliu, ir palyginkite sąsajos indeksą bei kitą šuolį abiejuose atsakymuose. Sąsajos pasikeitimas yra visas defektas vienoje išvesties eilutėje.
Find-NetRoute -RemoteIPAddress 203.0.113.24 Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object RouteMetric Get-VpnConnection -Name "Work VPN" | Select-Object SplitTunneling, Routes
Viso tunelio profilis įdiegia numatytąjį maršrutą per tunelį, kaip aprašo Windows VPN maršrutizavimo vadovas, todėl dabar kiekvienas atsakymas išeina per VPN ir priklauso nuo to, ar kita pusė maršrutizuoja atgal į jūsų klientą. Padalinto tunelio profilis pagal nutylėjimą saugesnis, bet neimunus, nes konkretus maršrutas, apimantis partnerio adresą, vis tiek gali įveikti fizinį numatytąjį maršrutą. Bet kuriuo atveju klausimas tas pats: pakėlus tunelį, ar partnerio adresas vis dar sprendžiamas į sąsają, kuri atnešė sesiją?
Jei ne, pataisa priklauso profiliui arba aiškiam išimties maršrutui, kurį patvirtino VPN politikos savininkas. Maršrutų lentelės redagavimas ranka gamybiniame hoste incidento metu yra kelias, kuriuo laikinas sprendimas tampa nedokumentuota konfigūracija.
Stebėkite ugniasienės profilio pasikeitimą
Nauja sąsaja klasifikuojama, kai atsiranda, ir klasifikacija nusprendžia, pagal kurį ugniasienės profilį vertinamas jos srautas. Tunelio adapteris, patekęs į Public kategoriją, gali tyliai sustabdyti gaunamą RDP, nors maršrutų lentelė atrodo nepriekaištingai. Tai antrasis gedimo režimas, ir jis duoda kitą simptomą: maršrutas teisingas, paketai ateina, o hostas atmeta ryšį.
Get-NetConnectionProfile Get-NetFirewallProfile | Select-Object Name, Enabled Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object Name, Enabled, Profile
Palyginkite profilį, priskirtą tunelio sąsajai, su profiliais, kuriems taikomos Remote Desktop taisyklės. Taisyklė, įjungta tik Domain ir Private, nieko nedaro sąsajai, klasifikuotai kaip Public, ir jokia maršruto korekcija to nepakeis. Kai kurie VPN klientai pagal projektą riboja ir prieigą prie vietinio potinklio, o tai sukuria tą pačią gedimo formą iš kito mechanizmo.
Išbandykite perėjimą iš vietos, iš kurios galite atsistatyti
Atlikite visą seką iš užribinės konsolės ar antro valdymo kelio, tokia tvarka: patvirtinkite esamą sesiją, prijunkite VPN, atidarykite naują sesiją, tada atjunkite VPN ir atidarykite dar vieną. Kiekvienas žingsnis tikrina skirtingą perėjimą, ir pirmasis nepavykęs pasako, kuris mechanizmas atsakingas.
Suplanuokite atsukimą prieš pradėdami, pavyzdžiui suplanuotą užduotį, kuri paleidžia rasdial "Work VPN" /disconnect po nustatyto intervalo. Tai paverčia prarastą sesiją penkių minučių pertrauka vietoje apsilankymo vietoje, ir tai yra pigiausias draudimas visoje procedūroje.
Grįžkite vidun, kai sesija jau dingo
Jei hostas jau nepasiekiamas, nustokite bandyti naujus RDP ryšius iš to paties kliento ir naudokite atkūrimo kanalą, kurį aplinka jau turi: RD Gateway, hipervizoriaus konsolę arba užribinę valdymo sąsają. Paprašykite konsolės prieigą turinčio žmogaus paleisti tas pačias komandas Find-NetRoute ir Get-NetConnectionProfile, kad įrodymai išliktų po atkūrimo.
Tada nuspręskite nuolatinį išdėstymą, o ne greičiausią. Arba valdymo kelias yra aiškiai išsaugomas VPN profilyje, arba valdymas perkeliamas į kanalą, kuris nepriklauso nuo hosto numatytojo maršruto. Abu variantai yra pagrįsti; hosto maršrutas su spėjamais vartais nėra. Užsirašykite, kurį pasirinkote, ir užfiksuokite partnerio adresą, kuris turėjo išlikti.