Праверка VPN без інтэрфейсу: па адной плыні за раз, з доказамі
Безгаловай скрыні патрэбен запыт, адказ на які можна прачытаць. Праверце кожнае сямейства адрасоў, кантэкст і прызначэнне, затым запішыце, што вынік не пакрыў.
На безгаловай скрыні няма браўзера, які можна адкрыць, і няма замка, на які можна паглядзець, таму праверка мусіць быць запытам, адказ на які можна прачытаць. Гэта здаецца простым, пакуль не заўважыш, што адзін вынік адрасу выхаду выкарыстоўваецца, каб засведчыць прыладу, якая запускае дзясятак службаў, два сямействы адрасоў і проксі. Ніжэйшы разбор будуе па адной абмежаванай частцы доказаў за раз, у тым самым кантэксце, у якім насамрэч працуе нагрузка.
Вызначце, што павінен даказаць тэст
Перш чым нешта запускаць, запішыце чаканне ў адзін радок: якая плынь, праз які інтэрфейс, да якога прызначэння і што павінна назірацца на іншым канцы. Тэст без заяўленага чакання дае лік, які ніхто не зможа інтэрпрэтаваць.
Самы карысны варыянт называе зацверджаную канчатковую кропку, якая паведамляе адрас крыніцы, які яна ўбачыла.
Гэтая кропка — адзіная частка, якую трэба арганізаваць. Усё астатняе — назіранне з боку кліента, а назіранні з боку кліента памыляюцца цікавымі спосабамі.
Праводзьце назіранне ў правільным кантэксце
Абалонка адміністратара — не асяроддзе нагрузкі. Яна можа несці іншую зменную проксі, іншую табліцу маршрутызацыі ў іншай прасторы імёнаў або файл асяроддзя іншага карыстальніка. Праводзьце тэст у тым самым кантэксце хоста, кантэйнера, прасторы імёнаў або службы, што і тое, што вы правяраеце. Інакш вы вымяраеце сваю абалонку.
На звычайным хосце гэта азначае таго ж карыстальніка і тую ж адзінку. У асяроддзі кантэйнераў гэта азначае ўваход у сеткавую прастору імёнаў кантэйнера, а не тэставанне з хоста. На службе 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 пакрыты.
Запішыце абодва адказы побач. Адзін з іх сам — палова факта.
Дадайце чатыры рэчы, якія прапускае праверка выхаду
Адрас выхаду адказвае на адно пытанне. Яшчэ чатыры вызначаюць, ці паводзіць сябе тунель як задумана.
| Check | What it proves | What it does not |
|---|---|---|
| Included and excluded destinations | The split behaves as designed for those flows | Coverage of any other destination |
| Resolver path | Where a fresh lookup actually travelled | Where a cached answer came from |
| Tunnel-down behaviour | The failure policy for a new request | What an already open connection does |
| Reconnect and restart | The requirement survives the lifecycle event | Behaviour under load or partial failure |
Палітыка прызначэнняў ідзе першай: праверце плынь, якую трэба ўключыць, і тую, якую трэба выключыць, калі ў задуме ёсць падзел. Затым DNS, дзе вы даследуеце фактычны шлях рэзалвера, а не наладжанае значэнне, бо кэшаваны адказ або надрукаваная налада нічога не кажа пра тое, куды пайшоў новы запыт.
Паводзіны пры збоі патрабуюць плана і зберажонага шляху аднаўлення. Назірайце новы запыт, пакуль тунель недаступны, і памятайце, што старое адкрытае злучэнне не ёсць доказам пра палітыку збою. Жыццёвы цыкл ідзе апошнім: паўтарыце назіранне пасля перападключэння або перазапуску службы, калі гэтыя падзеі ўплываюць на патрабаванне.
Запісвайце доказы, а не вердыкт
Для кожнага выніку захоўвайце кантэкст працэсу, прызначэнне, сямейства адрасоў, час і назіраную крыніцу. Гэты набор — абмежаваныя доказы пра плыні, якія вы задзейнічалі, і яны абараняльныя менавіта таму, што кажуць, што пакрылі.
Гэта не аўдыт запісаў аператара VPN і не сертыфікат для кожнай будучай праграмы на прыладзе.
Запішыце межы побач з вынікам. Тэст, які заяўляе, што не пакрыў, праходзіць рэв'ю, а той, што сцвярджае, што прылада праверана, — не. Трымайце кіраўніцтва curl побач з селектарамі сямействаў, якія вы выкарыстоўвалі, і трымайце табліцу з чатырма радкамі разам з вынікамі.