Защо Windows изпраща вашите VPN имена към DNS сървър, който никога не сте задавали
Промяната на DNS на адаптера изглежда трябва да реши въпроса. Правило за пространство от имена може да отмени този списък, а без правило Windows пита няколко адаптера.
Задавате DNS сървъра на VPN адаптера, свързвате се отново и частното име все още идва от офисния резолвер, който никой не е настройвал на този лаптоп. Резултатът изглежда така, сякаш настройката е била игнорирана, и в известен смисъл е така, защото списъкът на адаптерите е набор от кандидати, а не решение. Windows резолвва имена чрез политика за пространство от имена, която може да посочи друг сървър за определен суфикс, и тази политика се прилага преди настройката на адаптера да бъде взета предвид. Намирането на правилото, което е победило, е работа за пет минути, след като знаете коя таблица да четете.
Какво променихте и какво всъщност решава
DNS адресът на даден адаптер казва на клиента къде този интерфейс би могъл да изпраща заявки. Таблицата с правила за разрешаване на имена казва на клиента къде трябва да изпраща заявки за дадено пространство от имена и се оценява за всяко име, а не за всеки адаптер. Когато правило съвпадне със суфикса, който сте въвели, се използват сървърите на правилото и списъкът на адаптерите престава да има значение за това търсене.
Затова две имена на един и същ лаптоп могат в един и същ момент да поемат по различни пътища. Хост под корпоративния суфикс следва своето правило; публичното име следва пътя по подразбиране, което обикновено означава адаптерът, който отговори пръв.
Как таблицата съпоставя име
Правилата са индексирани по пространство от имена и най-точното съвпадение печели. Правило за corp.example се прилага за vpn.corp.example и не се прилага за example.net. Правило с пространство от имена . покрива всичко, което другите правила не покриват, което го прави най-опасния запис в списъка и този, който си струва да проверите, когато несвързан сайт се резолвва през тунела.
Правилото може да носи и коментар, политика, която изключва записа, и настройки за сигурност, които нямат нищо общо с DNS адреси. Изключеното правило остава видимо в конфигурацията, но не действа, така че запис, който изглежда правилен на хартия, може да остане бездействен след промяна на профила.
Четете действащата таблица, а не списъка с желания
Конфигурирани правила и действащи правила са два различни въпроса. Get-DnsClientNrptRule изброява какво съществува на машината. Get-DnsClientNrptPolicy -Effective показва какво клиентът действително ще приложи, със стойности, обединени от политиката и локалните настройки.
Сравнете суфикса в този изход с името, което тествате, знак по знак. Правило за corp.example не обхваща име, завършващо на corp.example.com, и точка в края на едно място и липсата ѝ на друго е достатъчно да промени съвпадението.
Без правило Windows пита повече от един адаптер
Когато нищо в таблицата не предяви претенции за името, клиентът може да изпрати заявката през няколко интерфейса и да вземе първия пристигнал отговор. Резултатът зависи от времето: същото име може да се резолвне от кабелния адаптер в понеделник и от тунела във вторник и нищо в конфигурацията на нито един от адаптерите не обяснява разликата.
Има два изхода. Добавете правило за пространството от имена, за да престане решението да е състезание, или изключете паралелното поведение чрез политиката на DNS клиента и приемете по-бавното, детерминирано резолвване. Първото обикновено е по-подходящо за VPN с разделен тунел, защото документира намерението вместо да разчита на реда.
Пътища, които напълно заобикалят резолвера
Браузър с включен сигурен DNS резолвва сам и дава на Windows само адреса, така че таблицата с правила никога не вижда името. Клиенти, изградени върху среди със собствен резолвер, могат да се държат по същия начин. Когато име се резолвва в едно приложение и се проваля в друго на същата машина, сравнете двата пътя на резолвване, преди да пипате политиката.
Проверете също дали приложението се свързва с кеширан адрес от предишна сесия. Clear-DnsClientCache и след това същото търсене дава по-чист отговор от извеждане от остарял резултат.
Тествайте с името, което се провали
Резолвнете точното име на хост от доклада, а не публичен домейн за тест на скоростта, и отбележете кой сървър е отговорил. След това променете едно нещо: правилото, списъка на адаптерите или присвояването на политика, и повторете същото търсене след повторно свързване, за да се изгради наново приложеното състояние.
Ако името се резолвва, а услугата все още отказва, спрете да редактирате DNS. Следващата полезна стъпка е адресът и пътят до него, защото разрешаването на имена вече си е свършило работата.