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

Вызначце, што павінен даказаць тэст

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

Самы карысны варыянт называе зацверджаную канчатковую кропку, якая паведамляе адрас крыніцы, які яна ўбачыла.

Гэтая кропка — адзіная частка, якую трэба арганізаваць. Усё астатняе — назіранне з боку кліента, а назіранні з боку кліента памыляюцца цікавымі спосабамі.

Праводзьце назіранне ў правільным кантэксце

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

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

Запыт, які ідзе далей, мае сэнс толькі тады, калі вы ў правільным кантэксце.

Правярайце сямействы адрасоў асобна

Запытвайце кожнае сямейства яўна, бо паспяховы запыт IPv4 зусім не задзейнічае шлях IPv6. Селектары --ipv4 і --ipv6 прымушаюць выбар, і розніца паміж двума вынікамі сама ёсць інфармацыяй.

curl --ipv4 https://probe.example/observed-source
curl --ipv6 https://probe.example/observed-source

Няўдалы запыт IPv6 не з'яўляецца доказам эфектыўнай блакіроўкі. Ён можа азначаць, што канчатковая кропка не мае адраса IPv6, што DNS не вярнуў нічога прыдатнага або што прылада зусім не мае маршруту IPv6. Прачытайце няўдачу, перш чым рабіць з яе выснову. Паспяховы запыт IPv6 праз тунель — адзіны вынік, які даказвае, што шлях IPv6 пакрыты.

Запішыце абодва адказы побач. Адзін з іх сам — палова факта.

Дадайце чатыры рэчы, якія прапускае праверка выхаду

Адрас выхаду адказвае на адно пытанне. Яшчэ чатыры вызначаюць, ці паводзіць сябе тунель як задумана.

CheckWhat it provesWhat it does not
Included and excluded destinationsThe split behaves as designed for those flowsCoverage of any other destination
Resolver pathWhere a fresh lookup actually travelledWhere a cached answer came from
Tunnel-down behaviourThe failure policy for a new requestWhat an already open connection does
Reconnect and restartThe requirement survives the lifecycle eventBehaviour under load or partial failure

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

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

Запісвайце доказы, а не вердыкт

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

Гэта не аўдыт запісаў аператара VPN і не сертыфікат для кожнай будучай праграмы на прыладзе.

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

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