VPN в Windows се появява на две места, които отговарят на различни въпроси, а объркването им дава уверена, но грешна диагноза. Запазеният профил казва какво е конфигурирал някой; активният интерфейс казва какво стекът е приложил току-що. Когато връзката се установи, а трафикът все още поема по грешния път, трябва да се прочетат и двата изгледа, именно в този ред. Нито един от тях сам не казва дали пакетът на приложението е излязъл през тунела.

Два изгледа на един и същ тунел

Изгледът на профила е конфигурация: адрес на сървъра, тип тунел, метод на удостоверяване, настройки за разделен тунел. Той може да е правилен, докато връзката го пренебрегва, и може да е остарял, докато връзката работи безупречно, защото клиент, който се свързва отново, може да не препрочете това, което сте редактирали. Изгледът на интерфейса е приложено състояние: кои адаптери съществуват, кои семейства адреси носят, техните метрики и състоянието им на връзка. Той се променя, докато тунелите се появяват и изчезват, което го прави правилното място за въпрос за маршрутизиране на живо и грешното място за въпрос за конфигурация.

Четенето им заедно е целият метод, а четенето на който и да е от тях сам е начинът, по който хората изтриват здрав адаптер. Командите по-долу дават двата изгледа, без да променят нищо.

Прочетете двата изгледа, без да променяте нищо

Започнете със запазените профили, защото това е най-евтиният факт за потвърждаване. Отбележете типа тунел и стойността за разделен тунел, тъй като и двете решават кои дестинации изобщо трябва да влизат в тунела. Ако профилът е грешен, поправете го чрез поддържаната му повърхност за конфигурация, защото нищо в списъка с интерфейси не поправя профил, който сочи към грешен шлюз.

Get-VpnConnection | Select-Object Name,ServerAddress,TunnelType,SplitTunneling,ConnectionStatus

Изгледът на интерфейса има различна форма: един тунел може да заема два реда, когато носи и двете семейства адреси. Четете индекса като идентичност, а псевдонима като етикет, който някой е избрал, и очаквайте псевдонимът да се промени между версиите на клиента.

Get-NetIPInterface | Select-Object InterfaceIndex,InterfaceAlias,AddressFamily,ConnectionState,InterfaceMetric

Наличието не е доказателство за използване, защото един интерфейс може да съществува, да е свързан и пак да не е този, който маршрутът към вашата дестинация избира. Имайте това предвид, преди да приемете непознат адаптер за причината. Тези две повреди изглеждат идентични отвън: правилен профил с маршрут, който никога не го използва, и грешен профил с маршрут, който го използва. Те имат напълно различни поправки, поради което съществува следващият раздел.

Следвайте маршрута до дестинацията

Попитайте стека кой път ще поеме за адреса, с който приложението действително се свързва. Това е въпросът, на който списъкът с интерфейси не може да отговори сам.

Find-NetRoute -RemoteIPAddress 10.60.20.10 | Select-Object -First 1
Get-NetIPAddress -InterfaceIndex 37 | Select-Object IPAddress,AddressFamily,PrefixLength

Първата команда отчита две полета, които си струва да се прочетат: псевдонима на интерфейса на избрания източник и следващия хоп за тази дестинация. Индексът 37 във втората команда е това, което първият изход е отпечатал, а не константа за копиране, а адресът 10.60.20.10 е илюстративен. Ако избраният източник принадлежи на физическия адаптер, докато дестинацията трябва да е вътре в тунела, вие сте открили проблема с избора, защото VPN интерфейсът може да е напълно здрав и просто да не е предпочитан. Метриката е само част от това решение, тъй като специфичността на маршрута, политиката и състоянието на интерфейса участват всички.

Сравнете три състояния при едни и същи условия

Запишете списъка с интерфейси и избрания маршрут преди свързване, докато сте свързани и след прекъсване на връзката, като всеки път използвате същата дестинация и същите команди. Това сравнение отделя текущ интерфейс на тунел от стар скрит адаптер, оставен от деинсталация, и от втори клиент, който също работи. То също така ви казва дали интерфейсът на тунела изчезва чисто, тъй като адаптер, който остава след прекъсване, е различен проблем от такъв, който никога не се е появил. Без трите снимки всеки непознат псевдоним изглежда виновен.

Пазете трите изхода заедно със заявката, защото два изхода от команди са по-добри от абзац описание. Колега може да ги сравни, без изобщо да повтаря вашата сесия.

Не изтривайте това, което не сте идентифицирали

Непознатите адаптери обикновено принадлежат на нещо: управляван клиент, виртуален комутатор, контейнерна мрежа или агент за сигурност. Изтриването на един може да премахне работещ компонент и да остави първоначалния симптом точно там, където е бил. Ако маршрутът е остарял, намерете собственика на маршрута и го поправете там; ако профилът е грешен, редактирайте профила. Документацията на Get-NetIPInterface изброява полетата, използвани по-горе, включително колоните за метрика и състояние, които правят сравнението смислено.

Назовете обекта, намерете собственика му, след което действайте върху този собственик. Всичко друго е преименуване на проблема вместо четене.

Подобни статии