VPN рута везана за индекс интерфејса пуца при поновном повезивању
Рута везана за број адаптера умире када се тај број промени. Проверите складиште, вежите префикс за профил и затим се поново повежите у новом редоследу.
Рута је радила недељама, а затим је почела да шаље саобраћај нигде, док је одредиште остало непромењено и ништа није уређено. Оно што се променило је број: рута направљена за одређени индекс интерфејса указује на адаптер који више не постоји после поновног повезивања, а префикс одредишта наставља да показује на замењену инфраструктуру. Додавање трајности тој команди не помаже, јер проблем никада није био да ли рута преживљава рестартовање. Решење је да се намера веже за везу, која по дизајну преживљава промене адаптера.
Проверите на шта рута заиста показује
Почните читањем уноса руте и адаптера једно поред другог. Рута са следећим скоком на интерфејсу VPN и индексом који не одговара ниједном тренутном адаптеру је потпис овог квара; исти префикс на другом индексу је или остатак или рута коју заиста желите. Прочитајте обе листе пре него што било коју промените, јер је занимљиво поређење између броја у рути и бројева који сада постоје. Ако се индекс руте појављује на листи адаптера, индекс није ваш проблем и претрага се премешта на метрике, политику или далеки крај. Ако се не појављује, нема шта више да се дијагностикује: рута је везана за инфраструктуру које више нема.
Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling
Колона Store разликује унос који опстаје кроз рестартовања од уноса који нестаје са адаптером, и та разлика одређује да ли ће се квар вратити сутра. Унос у трајном складишту који показује на нестали индекс је најгори случај, јер преживљава рестартовања а никада се ни са чим не поклапа.
Вежите префикс за профил, не за адаптер
Уграђени VPN Виндоуса може да носи своју листу рута, тако да веза поново користи исправан адаптер кад год се појави. Тада рута следи профил уместо броја који сте једном приметили, и ниједна скрипта не мора да погађа индекс после сваког позива. Додавање префикса је такође повратно кроз одговарајућу команду за уклањање, што измену чини проверљивом. Префикс се чува са везом уместо у скрипти за покретање, па профил копиран другом кориснику носи намеру са собом.
Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru
Референца за Add-VpnConnectionRoute документује повезаност са везом, а обухват телефонског именика је важан: профил по кориснику и профил за све кориснике су различити објекти. Овај механизам припада сопственом VPN клијенту Виндоуса, па адаптер добављача којим управља његова сопствена услуга може да узима своје руте из потпуно другог извора политике.
Очистите старе руте пре додавања нове
Две руте са истим префиксом и различитим власницима горе су од једне погрешне руте, јер победник зависи од метрика које нико није записао. Прегледајте шта већ постоји за префикс, укључујући уносе у трајном складишту, и уклоните само оно што припада неуспелом покушају. Остатак претходног дизајна је уобичајен у овој области, јер рута која отказује обично замени нешто што је радило. Забележите који уноси припадају којој вези пре него што било шта уклоните, и држите листу у запису о изменама.
Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false
Упоредите префикс, следећи скок, складиште и власника заједно уместо да бришете све што изгледа слично. Друга веза може легитимно да зависи од дела тог простора, а широко брисање претвара уредну поправку у инцидент подршке.
Поново се повежите у другом редоследу
Репродукујте услов уместо да се надате да је први покушај био репрезентативан. Искључите се, повежите се поново и потврдите изабрану путању до истог удаљеног ресурса док је тунел активан; ако је у игри неколико VPN-ова, подигните их у другом редоследу и гледајте да ли се изабрана путања мења. Редослед је променљива коју већина прескаче, и управо она открива руту везану за погрешну везу.
rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1
Резултат који желите није да адаптер једном задржи свој број. Већ да се рута појави са којим год бројем веза добије, сваки пут, и да нестане када се веза затвори. Двоструко поновно повезивање је најјефтинији начин да разликујете те исходе.
Знајте шта рута не може
Рута из профила даје путању и ништа више. Она не отвара удаљени заштитни зид, не ствара повратну руту на далеком крају и не решава два локалитета која користе исти опсег адреса; свако од тога је засебна конфигурација са засебним власником. Зато је потврда путање почетак теста прихватања, а не цео тест.
Држите листу префикса уз профил и забележите под којим обухватом је додат, да би следећа особа могла да прочита замишљени дизајн уместо да га закључује из табеле рута. Руте које постоје само у нечијем сећању су оне које се после следећег повезивања поново погрешно изграде. Коментар од једне линије у белешкама о распоређивању кошта мање од целог поподнева поновног откривања.