Бөлінген DNS және VPN: домен ережелері IP маршруттары емес
Бөлінген DNS шешушіні ат бойынша таңдайды, ал жауапқа әлі де маршрут керек. Домен ережесі мен жолды бөлек, нақты қолданатын платформада тексеріңіз.
Ноутбугіңіз intranet.corp-ты туннель арқылы шешеді, ал gitlab.com провайдердің шешушісіне бара береді, және бұл жобаланғандай жұмыс істейтін құрылым. Оны екі бөлек шешім жасады: атау сәйкестігі ережесі шешушіні таңдады, ал маршрут жауапты кері алып келді. Кез келгенін бұзсаңыз, браузер сырттан бірдей көрінетін ақау көрсетеді. Бөлінген DNS туралы есептердің көбі екінші ақауды сипаттайды, сонымен бірге біріншісі туралы дәлелдер келтіреді.
Екі жарты әр жерде тұрады және әдетте оларды әр адамдар өңдейді. Біреуі VPN профиліне тіркелген DNS саясаты, екіншісі туннель орнататын немесе ұстап тұратын маршрут. Ешкім қай жартының шын мәнінде жылжығанын анықтамаса, жөндеу тоқтайды.
Бір сұраныста жасырылған екі шешім
Атау жартысы маршрут емес, саясат нысаны. Windows-та бұл VPN профиліндегі атауды шешу саясаты; Apple платформаларында DNS параметрлер нысанындағы сәйкес домендер жинағы; Linux-та маршруттау домені, бөлінген шешуші жолы немесе атау қызметі ауыстырғышының реті. Жол жартысы туннель немесе қолмен орнатылатын қарапайым маршруттау, ол хост атауының не екенін білмейді. Жұрнаққа рұқсат беретін профиль тек кім жауап беретінін шешеді; ол жауапты ешқашан қолжетімді етпейді.
Жылдам симптом тесті оларды ажыратады: атауды мекенжаймен алмастырыңыз. Мекенжай жұмыс істесе, жол дұрыс, ереже қате. Мекенжай да сәтсіз болса, ереже дұрыс, жол жетіспейтін болуы мүмкін.
Әр платформа бірдей атау ережесін қалай білдіреді
Мақсат бірдей, өріс атаулары олай емес. Бір клиенттен екіншісіне көшірілген мысал таза талданады және ешқашан сәйкес келмейді. Үш пішін былай көрінеді:
| Platform | Where the rule lives | What usually breaks |
|---|---|---|
| Windows | name-resolution policy on the VPN profile | precedence against the interface suffix list |
| Apple platforms | match domains on the DNS settings object | domains attached to the wrong extension |
| Linux | routing domain, split resolver, nsswitch order | the suffix written the wrong way round |
Сәйкестік немесе маршруттау домені жұрнақ тесті, сондықтан intranet.corp git.intranet.corp-ты қамтиды және corp.intranet-ты қамтымайды, ал оны кері аудару бүкіл конфигурациядағы ең жиі қате. Windows бейнелеуді профильге тіркелген атауды шешу саясаты ретінде алып жүреді, интерфейсте бұрыннан бар жұрнақтар тізіміне қарсы өзіндік басымдық ретімен. Apple платформалары сәйкес домендерді желілік кеңейтудің DNS параметрлер нысанына тіркейді, ал жүйе оларды әр шектелген шешушіге қолданады. Бұл пішіндердің ешқайсысы маршрут емес және ешқайсысы қолжетімсіз мекенжайды қолжетімді ете алмайды. Windows атауды шешу саясаты анықтамасы сол платформаның өріс атаулары мен басымдық ережелерін тізімдейді, және олар Apple немесе systemd құжаттары қолданатын ережелер емес.
Дұрыс жауапқа әлі де жол керек
Шешушінің жауабы тек мекенжай, ал қолданба оған әлі де жетуі керек. Бөлінген туннель дизайны көбіне 10.20.0.0/16-ны итереді және әдепкі маршрутты ұстап қалады, сондықтан ішкі атау шешіледі, содан кейін байланыс ілінеді. Керісінше жағдай да сонша жиі: маршрут бар, ашық шешуші жеке атауға NXDOMAIN-мен жауап береді, ал ақау маршруттау мәселесі ретінде тіркеледі. Алдымен жолды тексеру сізді ешқашан шешілмейтін атаудың маршруттарына қаратып қалдырады.
Екі жарты да қамтымайтын үшінші қақпа да бар. Шлюздегі ACL, брандмауэр ережесі немесе клиент жағындағы саясат екі шешім де дұрыс болғаннан кейін байланысты тастай алады. Атау шешілсе, маршрут бар болса және байланыс әлі де уақытты бітірсе, DNS тексеруін тоқтатыңыз.
Атаулар мен жолдарды тұрақты ретпен тексеру
Рет таңдап, оны ұстаныңыз, әйтпесе соңғы рет сәтсіз болған қадамның соңынан жүресіз. Құжатталған толық ішкі атауды шешіңіз, жауап маршрут кестесі көтере алатын мекенжай екенін растаңыз, содан кейін туннель бәрін ұстап алмағанын дәлелдеу үшін ашық атаумен қайталаңыз. systemd хостында сұраныс пен шешушінің маршруттау домені бір пәрмен қашықтықта:
resolvectl query intranet.corp
resolvectl domain
ip route get 10.20.5.10
Windows клиенті сол екі сұрақты басқа cmdlet-термен қояды. Екіншісі жүйе шын мәнінде қолданатын интерфейсті хабарлайды:
Resolve-DnsName intranet.corp -Type A
Find-NetRoute -RemoteIPAddress 10.20.5.10
Іздеу мекенжай қайтарса және жолды тексеру физикалық интерфейсті атаса, атау ережесі жұмыс істеді, ал маршрут істемеді. Қысқа атау сәтсіз болып, толық атау шешілсе, жұрнақтар тізімі қате, шешуші емес.
Салыстыру әдетте қай жерде қателеседі
Бірінші қате байланыссыз ашық шешушіден жеке атау туралы сұрап, бас тартуды VPN туралы дәлел деп оқу. Екіншісі жұмыс істейтін ашық іздеу туннельдің шешуші жолын дәлелдейді деп ойлау. Үшіншісі бөлінген туннельді және бөлінген DNS-ті бір дизайн шешімі деп санау, ал орналастыру бірінде дұрыс, екіншісінде бұзық болуы мүмкін. Әр қате айыпталған бөлікті ешқашан жаттықтырмаған тесттен сенімді қорытынды шығарады.
Өз қауіпсіз DNS-і бар браузер де жүйе ережесін айналып өте алады, сондықтан бір браузер сәтсіз болып, екіншісі сәтті болуы қайшылық емес. Жауап берген шешушіні салыстырыңыз, шағымданған браузерді емес.
Екі жарты да көрінгенде, қалған сұрақ техникалық емес, саяси сұрақ: қандай атау кеңістіктері ұйымға тиесілі, әр жауаптың иесі кім және олардың қайсысы машинадан мүлде шығуы керек. Мұны профильдің қасына жазыңыз, өйткені ережеге келесі тиетін адамға бұл қажет болады.