Rikonnessjoni li tintemm f’sekonda tgħidlek li l-klijent huwa rapidu. Ma tgħidlekx jekk ħareġx xi ħaġa waqt li t-tunnel kien mitfi. Rikonnessjoni li tieħu minuta tgħidlek li l-klijent huwa bil-mod, u xorta ma tgħidlekx jekk it-traffiku dirett kienx permess fil-vojt. Dawn huma żewġ kejlijiet, u test tal-kill switch li jirrapporta biss l-ewwel wieħed ma jkunx ittestja l-iswiċċ.

Żewġ osservazzjonijiet, żewġ verdetti separati

Il-mistoqsija tad-disponibbiltà hija sempliċi: meta t-tunnel sar użabbli mill-ġdid, u jekk l-applikazzjoni protetta kellhiex bżonn konnessjoni ġdida biex tasal hemm. Il-mistoqsija tal-infurzar hija differenti: liema pakketti ħarġu mill-magna mill-mument li waqgħet il-protezzjoni sal-mument li rritornat.

Wiebebhom b’rekords separati. Linja waħda tgħid li l-vojt dam ċertu numru ta’ sekondi. Linja oħra tgħid jekk talba mhux protetta rnexxietx f’dak il-vojt. Li tgħaqqadhom f’wieħed għadda jew falla jaħbi l-każ li jgħodd l-aktar: rikonnessjoni rapida b’tnixxija.

Ibni sonda li tista’ tkejjel il-ħin tagħha

Uża talba li hija ħielsa mill-ħsara, irħisa u indipendenti mill-kanal ta’ kontroll tat-tunnel innifsu. Il-linja t’hawn taħt tipprintja timestamp, status HTTP u l-ħin li għadda darba kull sekonda, u tfalli b’ħoss qawwi minflok ma tħanġel:

while true; do
  printf '%s ' "$(date +%H:%M:%S)"
  curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 2 https://example.com || echo "curl-exit-$?"
  sleep 1
done

Aqra l-kodiċijiet tal-ħruġ ta’ curl, mhux biss l-istatus. 28 ifisser li t-talba skadiet, hekk tidher rotta mblukkata. 6 ifisser li r-riżoluzzjoni tal-ismijiet falliet, li hija sejba differenti u spiss l-aktar interessanti. 200 b’ħin qasir li għadda fil-vojt ifisser li t-traffiku tħalla joħroġ.

Ikteb l-output f’fajl u żommu. L-istorja tat-terminal mhix prova, u l-parti interessanti normalment hija tliet linji fin-nofs.

Ikkawża falliment reali, mhux wieħed pulit

L-iskonnessjoni mill-menu tal-klijent stess tittestja r-rotta kooperattiva, fejn il-klijent ikollu l-ħin jinstalla r-regoli tal-imblukkar tiegħu. Oqtol il-proċess minflok, jew aqta’ l-link ta’ taħt, u tittestja r-rotta li jieħu falliment reali.

Kull trigger jeżerċita rotta tal-kodiċi differenti. Waħda fis-server, telf ta’ link lokali u ħabta tal-klijent jistgħu kull wieħed iħallu stat differenti, u wieħed minnhom x’aktarx ikun il-każ li fl-aħħar issib. Mexxi s-sonda fuq mill-inqas żewġ triggers u ttikkjetti r-riżultati skont it-trigger.

Aqra l-log biex tara kif jidher it-traffiku permess

200 jew falliment mgħaġġel tal-konnessjoni fil-vojt hija tnixxija, lejn liema direzzjoni tkun. Skadenzji tul il-vojt kollu huma l-forma mistennija ta’ politika tal-imblukkar. Riżoluzzjoni tal-ismijiet li tirnexxi waqt li l-konnessjonijiet ifallu tissuġġerixxi li r-riżolver għadu jintlaħaq, li hija tnixxija ta’ tip ieħor.

Is-sockets eżistenti jeħtieġu attenzjoni. Programm jista’ jkompli juża konnessjoni li fetaħ qabel l-iskonnessjoni, għalhekk traffiku li jidher ħaj jista’ ma jippruvax li rotta ġdida kienet permessa. Il-lista tas-sockets turi jekk konnessjoni hijiex eqdem mill-avveniment:

ss -tunp | grep -E 'ESTAB|SYN-SENT'
ip route get 198.51.100.7
resolvectl status | sed -n '1,20p'

Qabbel il-ħin tal-bidu tas-socket mat-timestamp tal-iskonnessjoni. Konnessjoni eqdem mill-waqgħa hija prova ta’ użu mill-ġdid tas-socket, mhux ta’ tnixxija, u li tirrapportaha bħala falliment tibgħat lill-persuna li jmiss tfittex bug li ma jeżistix.

Irreġistra r-riżultat f’forma li tgħaddi minn aġġornament

Ikteb it-trigger, il-vojt f’sekondi, jekk xi talba mhux imblukkata rnexxietx, jekk ir-riżoluzzjoni tal-ismijiet rnexxietx, u l-verżjonijiet tal-klijent u tas-sistema operattiva. Dak is-sett ta’ ħames fatti jista’ jitqabbel bejn rilaxxi, xi ħaġa li paragrafu ta’ proża ma jistax jagħmel.

Erġa’ mexxi l-istess test wara aġġornament tal-klijent jew bidla fil-profil, għax l-imġiba tal-imblukkar hija dettall tal-implimentazzjoni u tiċċaqlaq. L-iskop tar-rekord huwa li tinnota l-moviment qabel ma jsir inċident, mhux li tiċċertifika l-klijent darba.

Artikli relatati