Kill-Switch-Test: moosst d’Lück, net just d’Widderverbindung
Eng séier Widderverbindung beweist, datt de Client séier ass. Schreift op, wat d’Maschinn an der Lück verlooss huet, mam Trigger deen Dir benotzt hutt, soss huet den Test nëmmen d’Halschent gemooss.
Eng Widderverbindung déi an enger Sekonn fäerdeg ass, seet Iech datt de Client séier ass. Se seet Iech net ob eppes entkomm ass, wärend den Tunnel erof war. Eng Widderverbindung déi eng Minutt braucht, seet Iech datt de Client lues ass, an nach ëmmer net ob direkten Trafik an der Lück erlaabt war. Dat sinn zwou Miessungen, an en Kill-Switch-Test deen nëmmen déi éischt mellt, huet de Schalter net getest.
Zwou Observatiounen, zwou getrennt Uerteeler
D’Fro vun der Disponibilitéit ass einfach: wéini war den Tunnel erëm benotzbar, an huet déi geschützt Applikatioun eng nei Verbindung gebraucht fir dohinner ze kommen. D’Fro vun der Duerchsetzung ass anescht: wéi eng Pakete sinn aus der Maschinn eraus gaang, tëschent dem Moment wou de Schutz gefall ass an dem Moment wou en zréckkoum.
Äntwert op si mat getrennte Opzeechnungen. Eng Zeil seet d’Lück huet eng gewëss Zuel vu Sekonnen gedauert. Eng aner Zeil seet ob eng ongeschützt Ufro an där Lück gelungen ass. Se an eng eenzeg bestanen oder duerchgefall zesummenzeleeën verstoppt de Fall dee am meeschten zielt: eng séier Widderverbindung mat engem Leck.
Baut eng Sonde déi Dir kënnt ophuelen
Benotzt eng Ufro déi onschiedlech, bëlleg an onofhängeg vum eegene Steierkanal vum Tunnel ass. D’Schleif hei drënner dréckt e Zäitstempel, en HTTP-Status an déi vergaangen Zäit eemol an der Sekonn, an se scheitert haart amplaz ze hänken:
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
Liest dem curl seng Ausgangscoden, net just de Status. Eng 28 heescht datt d’Ufro ofgelaf ass, sou gesäit en blockéierten Wee aus. Eng 6 heescht datt d’Nimmopléisung feelgeschloen ass, wat eng aner Entdeckung ass an oft déi interessant. Eng 200 mat kuerzer vergaangener Zäit an der Lück heescht datt den Trafik eraus gelooss gouf.
Schreift den Output an eng Datei a behält se. Den Terminalsverlaf ass kee Beweis, an den interessanten Deel sinn normalerweis dräi Zeilen an der Mëtt.
Verursaacht eng richteg Stéierung, net eng opgeraumte
Vum Client sengem eegenen Menü aus ofzeschalten testet den kooperative Wee, wou de Client Zäit huet seng Blockéierregelen z’installéieren. Dräit amplaz de Prozess ëm, oder brécht d’Ënnerlaach of, an Dir test den Wee deen eng richteg Stéierung hëlt.
All Trigger üübt en aneren Codewee. E Serverausfall, e lokale Linkverloscht an e Clientabstuerz kënnen all en aneren Zoustand hannerloossen, an ee vun hinnen ass wahrscheinlech de Fall deem Dir schlussendlech begéint. Fuert d’Sonde iwwer op d’mannst zwee Trigger aus a markéiert d’Resultater no Trigger.
Liest de Log fir ze gesinn wéi erlaabten Trafik ausgesäit
Eng 200 oder en séiere Verbindungsfehler an der Lück ass e Leck, a wéi eng Richtung et och weist. Zäitofleef iwwer déi ganz Lück sinn déi erwaart Form vun enger Blockéierungspolitik. Datt d’Nimmopléisung geléngt wärend d’Verbindungen ausfalen, deit drop hin datt de Resolver nach erreechbar ass, wat en anere Leck ass.
Déi bestehend Sockelen brauchen Opmierksamkeet. E Programm ka weider eng Verbindung benotzen déi et virun der Ofschaltung opgemaach huet, sou datt scheinbar liewegen Trafik vläicht net beweist datt en neie Wee erlaabt war. D’Socketlëscht weist ob eng Verbindung méi al ass wéi d’Evenement:
ss -tunp | grep -E 'ESTAB|SYN-SENT' ip route get 198.51.100.7 resolvectl status | sed -n '1,20p'
Vergläicht d’Startzäit vum Socket mam Zäitstempel vun der Ofschaltung. Eng Verbindung déi méi al ass wéi de Feeler ass e Beweis fir d’Widderbenotze vum Socket, net fir e Leck, an se als Feeler ze mellen schéckt déi nächst Persoun engem Bug no ze jagen deen et net gëtt.
Halt d’Resultat an enger Form fest déi en Update iwwerlieft
Schreift den Trigger op, d’Lück a Sekonnen, ob eng net-blockéiert Ufro gelungen ass, ob d’Nimmopléisung gelungen ass, an d’Versioune vum Client an dem Betribssystem. Dee Set vu fënnef Fakten ass iwwer Verëffentlechunge vergläichbar, wat en Abschnitt Prosa net kann.
Fuert deeselwechten Test nach engem Clientupdate oder enger Profilännerung nach eng Kéier aus, well d’Blockéierungsverhalen en Implementatiounsdetail ass an et beweegt sech. Den Zweck vum Opzeechnen ass d’Bewegung ze bemierken ier se en Incident gëtt, net de Client eemol ze zertifizéieren.