Рутата работеше со недели, а потоа почна да испраќа сообраќај никаде, додека одредиштето остана непроменето и ништо не беше уредено. Она што се смени е бројот: рута создадена кон одреден индекс на интерфејс укажува на адаптер што повеќе не постои по повторно поврзување, а префиксот на одредиштето продолжува да покажува кон инфраструктура што е заменета. Додавањето трајност на таа команда не помага, зашто проблемот никогаш не беше дали рутата го преживува рестартирањето. Решението е намерата да се врзе за врската, која по дизајн ги преживува промените на адаптерот.

Проверете кон што рутата навистина покажува

Започнете со читање на записот за рутата и адаптерите еден до друг. Рута со следен скок на интерфејсот 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 на Windows може да носи своја листа рути, така што врската повторно го користи правилниот адаптер секогаш кога ќе се појави. Тогаш рутата го следи профилот наместо број што сте го забележале еднаш, и ниту една скрипта не мора да погодува индекс по секој повик. Додавањето префикс е исто така повратно преку соодветната команда за отстранување, што ја држи промената проверлива. Префиксот се чува со врската наместо во скрипта за стартување, па профил копиран на друг корисник ја носи намерата со себе.

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

Референцата за Add-VpnConnectionRoute го документира поврзувањето со врската, а обемот на телефонскиот именик е важен: профил по корисник и профил за сите корисници се различни објекти. Овој механизам му припаѓа на сопствениот VPN клиент на Windows, па адаптер од добавувач што го управува неговата сопствена услуга може да ги зема рутите од сосема друг извор на политика.

Исчистете ги старите рути пред да ја додадете новата

Две рути со истиот префикс и различни сопственици се полоши од една погрешна рута, зашто победникот зависи од метрики што никој не ги запишал. Проверете што веќе постои за префиксот, вклучително записите во трајното складиште, и отстранете само тоа што му припаѓа на неуспешниот обид. Остаток од претходен дизајн е вообичаен во оваа област, зашто рутата што откажува обично заменила нешто што работело. Пред да отстраните нешто, забележете кои записи припаѓаат на која врска, и држете ја листата во записот за промени.

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

Резултатот што го сакате не е адаптерот еднаш да го задржи својот број. Туку рутата да се појавува со кој и да е број што ќе го добие врската, секој пат, и да исчезнува кога врската се затвора. Два пати повторно поврзување е најевтиниот начин да се разликуваат тие резултати.

Знајте што рутата не може

Профилската рута дава патека и ништо друго. Таа не отвора далечен огноотпорен ѕид, не создава повратна рута на далечниот крај и не решава два локалитети што користат ист опсег на адреси; секое од тие е одделна конфигурација со одделен сопственик. Затоа потврдувањето на патеката е почеток на тестот за прифаќање, а не целиот тест.

Држете ја листата префикси со профилот и забележете под кој обем е додадена, за да може следниот човек да го прочита предвидениот дизајн наместо да го изведува од табела со рути. Рутите што постојат само во нечие сеќавање се тие што по следното повторно поврзување се обновуваат погрешно. Коментар од една линија во белешките за распоредување чини помалку од цело попладне повторно откривање.

Поврзани статии