«DNS зламаны» — гэта выснова, і яна не тая, з якой памочнік можа нешта зрабіць. Карысная частка справаздачы — гэта форма збою: якое імя, праз які рэзалвер, з якім адказам. Тры дэталі ператвараюць скаргу ў нешта паўторнае, і ўсе тры бяспечна дзяліць, калі прыватныя часткі перайменаваныя. Далей ідзе мінімум, які патрэбны справаздачы пра DNS у VPN, перш чым хто-небудзь зможа дапамагчы.

Катэгорыя імені, а не прысуд

Пачніце з самога імені і класіфікуйце яго: публічнае, унутранае, кароткае, цалкам кваліфікаванае або абслугоўванае адным пэўным суфіксам. Унутранае імя, якое не спраўляецца, пакуль публічныя імёны вырашаюцца, паказвае на выбар рэзалвера, а не на дасяжнасць. Калі не спраўляюцца ўсе імёны, гэта паказвае на шлях да рэзалвера, а гэта іншае расследаванне з іншымі доказамі. Катэгорыя нясе дыягназ, а дакладны радок можна схаваць.

Скажыце, ці патрэбны збою ўзняты тунель, ці ён адбываецца пасля адключэння. Імя, якое ламаецца толькі пры актыўным VPN, паказвае на канфігурацыю для кожнага злучэння, а тое, што ламаецца пасля адключэння, — на рэшткавы стан. Справаздачы звычайна гэта апускаюць і потым дзівяцца, чаму першая парада не дапамагае.

Запішыце шлях да рэзалвера

Запыт, адпраўлены на яўна выбраны сервер, і звычайны пошук праграмы — гэта розныя эксперыменты. Скажыце, які з іх выклікаў збой, бо ручны запыт да працоўнага сервера даказвае толькі тое, што сервер працуе. Каманды ніжэй аддзяляюць сістэмны шлях ад прамога пытання.

resolvectl status --no-pager
getent hosts host.internal
dig +short host.internal @10.20.30.53

Вывад стану называе серверы для кожнага злучэння і дамены маршрутызацыі, а гэта дзе вызначаецца split DNS. Выклік getent ідзе тым жа шляхам, што і праграма, уключаючы парадак nsswitch. Прамы запыт абыходзіць абодва і правярае адзін сервер ізалявана. Паведаміце, які з трох не спраўляўся і які атрымаўся, і чытачу больш не трэба здагадвацца пра шлях.

Пакажыце кантраляванае параўнанне

Змяніце адну зменную і скажыце, што змянілася. Публічныя імёны вырашаюцца, а ўнутраныя не — гэта праблема выбару; кожнае імя сканчаецца па тайм-аўце — гэта праблема шляху; а прыватнае імя, якое вырашаецца ў публічны адрас, — гэта ўцечка ў няправільны рэзалвер. Дзве з гэтых трох не маюць ніякага дачынення да таго, ці ўзняты тунель. Справаздача, якая сцвярджае, што ўсе запыты зламаныя, звычайна ўтрымлівае параўнанне, якое так і не правялі.

Аддзяліце вырашэнне ад дастаўкі. Калі імя вырашаецца, а сайт усё яшчэ не працуе, этап DNS прайшоў паспяхова, і справаздача павінна гэта сказаць, бо наступны крок — гэта маршрут або слухач, а не рэзалвер. Гэтае адзінае адрозненне часцей за любы фрагмент журнала зэканоміць цэлы раўнд пытанняў.

Схавайце прастору імён, пакіньце сувязі

Унутраныя імёны можна замяніць, абы замены захоўвалі структуру. Спавяжыце кожны асобны сервер і суфікс з пастаяннай пазнакай і трымайце гэту адпаведнасць па-за агульнай копіяй. Замена кожнага ўнутранага хоста адным і тым жа запаўняльнікам знішчае менавіта тыя доказы, якія патрэбны справаздачы, бо чытач больш не бачыць, што адзін суфікс вырашыўся, а другі не. Тое ж правіла дзейнічае для адрасоў: захавайце сувязі прэфіксаў і змяніце біты хоста, калі гэтага патрабуе палітыка.

Дашліце запіс па правераным канале і апусціце тое, што дыягназу ніколі не патрэбна. Паролі, прыватныя ключы і староннія назвы кампаній не ўваходзяць у пытанне пра DNS. Чытачу патрэбны катэгорыя збою, шлях да рэзалвера, дакладная памылка і тое адзінае параўнанне, якое вы правялі.

Падобныя артыкулы