Чаму 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. Наступны карысны крок — адрас і маршрут да яго, бо развязанне імёнаў ужо зрабіла сваю справу.