Jūsų sesija baigėsi prieš kelias valandas, adapteris dingo, bet maršrutas vis dar lentelėje ir rodo į 42 sąsają. Ištrinti tą eilutę užtenka vienos komandos; nuspręsti, kad tai teisinga eilutė, reikia keturių patikrų. Maršrutų lentelė bendra, todėl platus šalinimas pašalina kelius, kuriuos kiti ryšiai dar naudoja, įskaitant tą, kuris neša tunelį. Kiekvienas žingsnis žemiau siaurina taikinį, kol sutapti gali tik vienas įrašas.

1. Nuspręskite, ar įrašas pasenęs, ar tyčinis

Įrašas, kuris išgyveno perkrovimą, kažkur buvo įrašytas, o ta vieta paprastai yra sprendimas, o ne nelaimė. Suskaidytas tunelis priklauso nuo maršrutų, kurie atrodo lygiai kaip likučiai, o politika, kuri vieną prefiksą siunčia per tunelį, viename sąraše nesiskiria nuo pasenusio įrašo. Paklauskite, kada maršrutas atsirado: tas, kuris egzistuoja tik kol tunelis įjungtas, priklauso kliento konfigūracijai, todėl valymo komanda yra netinkamas įrankis. Pašalinkite tyčinį maršrutą, ir kitas ryšys nepavyks tame žingsnyje, kurio niekas nestebi.

Galinio taško maršrutas nusipelno atskiro įspėjimo. Kai klientas prideda hosto maršrutą į VPN serverį, kad šifruoti paketai galėtų jį pasiekti vietiniu ryšiu, to maršruto ištrynimas sugriaus tunelį kitą kartą prisijungus, o simptomas bus skaitomas kaip serverio gedimas. Prieš ką nors liesdami palyginkite paskirties vietą su adresu, prie kurio jungiasi klientas: vienas viešas adresas, atitinkantis VPN serverį, yra išorinis kelias, o ne šiukšlės.

2. Užsirašykite keturis laukus, kurie įvardija įrašą

Vien prefiksas nėra tapatybė, nes dvi sąsajos gali turėti maršrutus į tą pačią paskirties vietą. Užsirašykite paskirties prefiksą, sąsajos indeksą, kitą šuolį ir strategijų saugyklą, nes šios keturios reikšmės apibūdina tiksliai vieną įrašą. Vienas sąrašas duoda visus juos:

Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric

Rikiavimas pagal metriką iškelia maršrutus, kuriems mašina iš tikrųjų teikia pirmenybę, ir būtent ten paprastai yra likutis. Palyginkite įrašą, kol tunelis įjungtas, ir dar kartą jam nukritus: maršrutas, kuris dingsta su adapteriu, buvo kliento, o likęs buvo kažko kito įrašytas. Strategijų saugykla yra laukas, kurį žmonės praleidžia, ir būtent ji paaiškina pasikartojimą, nes iš aktyvios saugyklos pašalintas įrašas grįžta po kito strategijos atnaujinimo. Užsirašykite keturias reikšmes prieš paleisdami ką nors, kas keičia būseną.

3. Peržiūrėkite šalinimą, tada pašalinkite vieną įrašą

Remove-NetRoute priima tą patį prefiksą ir sąsajos indeksą, kuriuos išspausdino Get-NetRoute, ir turi peržiūros jungiklį, todėl nieko nereikia spėlioti. Paleiskite porą šia tvarka:

Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42 -WhatIf
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42

Peržiūra išspausdina objektą, kurį ištrintų, todėl prieš atleisdami jungiklį palyginkite prefiksą, sąsają ir kitą šuolį su savo užrašais. Nė viena eilutė nepasiekia nuolatinio įrašo, nes aktyvi saugykla yra numatytoji; pridėkite -PolicyStore PersistentStore, kai jūsų nustatytas maršrutas gyvena ten, kitaip šalinimas atrodys veikiantis, o įrašas grįš per kitą strategijos atnaujinimą. Kai sesija nuotolinė, palikite nejuostinį atkūrimo kelią, nes maršruto, kuris neša jūsų pačių ryšį, ištrynimas jį nutraukia. Niekada nesiekite komandos, kuri išvalo lentelę.

4. Raskite komponentą, kuris jį grąžina

Šalinimas nėra taisymas, kol savininkas vis dar sukonfigūruotas diegti maršrutą. Savininkas paprastai yra vienas iš trijų: VPN kliento profilis su suskaidyto tunelio sąrašu, scenarijus ar suplanuota užduotis, kuri prisijungus prideda maršrutus, arba mašinai taikoma domeno strategija. Pirmiausia patikrinkite profilį, nes jis vykdomas kiekvieną kartą prisijungus:

Get-VpnConnection | Select-Object Name,SplitTunneling,ServerAddress
Get-NetRoute -PolicyStore PersistentStore

Nuolatiniai įrašai matomi nieko neprijungus, todėl maršrutas, kuris grįžta po perkrovimo be VPN sesijos, beveik visada gyvena toje saugykloje arba paleidimo scenarijuje. Ten pataisykite savininką, ir rankinis šalinimas tampa patikra, o ne gydymu.

5. Patikrinkite paiešką, kaimynus ir užrašą

Švarus rezultatas nėra tai, kad maršrutas dingo; tai paieška, kuri dabar pasirenka sąsają, kurios tikėjotės. Paklauskite mašinos, kur keliautų paketas į paveiktą prefiksą, nes likutis vis dar įvardija mirusį indeksą, o švarus atsakymas įvardija tiesioginio ryšio sąsają arba teisingą šliuzą. Find-NetRoute atsako į tai vienam adresui vienu metu:

Find-NetRoute -RemoteIPAddress 10.20.4.7

Tada išbandykite kaimyną: pasirinkite antrą prefiksą, kurio suskaidytam tuneliui dar reikia, ir patvirtinkite, kad jo paieška nepakito, nes vieno maršruto per daug pašalinimas yra klaida, į kurią šis valymas kviečia. Bandykite iš naujo programą, kuri iš pradžių nepavyko, ir užsirašykite, kuris komponentas dabar valdo prefiksą. Microsoft Get-NetRoute dokumentacija išvardija laukus, kuriuos užsirašėte antrame žingsnyje. Po šešių mėnesių būtent tas užrašas sutrukdys tą patį įrašą diagnozuoti du kartus.

Susiję straipsniai