Уводзіць vpn.example.com у выключэнне міжсеткавага экрана — гэта як падпісацца на DNS. Звычайна адбываецца пераўтварэнне пры загрузцы, пасля чаго правіла захоўвае адрасы, і нішто іх не абнаўляе. Цяпер два кампаненты дзеляць працу: рэзалвер, які адказвае, і міжсеткавы экран, які захоўвае. Большасць збояў канчатковых пунктаў пачынаецца там, дзе гэтая перадача ніколі не была спроектавана.

Імя хоста ў правіле — не актыўная падпіска

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

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

TTL кэша — не таймер вашага міжсеткавага экрана

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

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

dig +short vpn.example.com
resolvectl query vpn.example.com

Праектуйце абнаўленне і збой як адну палітыку

Выключэнне, якое падтрымліваецца, патрабуе ясных адказаў: што запускае абнаўленне да таго, як кліент выбера новы адрас, як дазволены набор змяняецца без адкрыцця шырокага часовага акна і калі выдаляюцца састарэлыя запісы. Запішыце гэтыя адказы побач з правілам.

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

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

Дакажыце змену канчатковага пункта, а не першае злучэнне

Выкарыстоўвайце падтрыманы кіраўнік кліента, калі ён ужо каардынуе развязанне і блакаванне. На PF-хосце, які кіруецца сайтам, захавайце ўласнасць сайта і план аднаўлення замест капіравання сінтаксісу табліцы імёнаў хостаў з іншай платформы з іншымі паводзінамі жыццёвага цыкла.

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

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