At trykke på Afbryd virker, og ti sekunder senere kommer tunnelen alligevel tilbage. Den løkke er sjældent VPN-klienten, der opfører sig forkert; det er et genopretningsscript, som kun nogensinde stillede ét spørgsmål, »er den nede?«, og besvarede det med at oprette forbindelse. Når du skiller spørgsmålet, brugeren besvarede, fra spørgsmålet, systemet rapporterer, bliver rettelsen en lille smule tilstand i stedet for en længere pause.

To spørgsmål, ikke ét

Skal denne profil være forbundet lige nu, og hvad rapporterer systemet i øjeblikket? Det er forskellige spørgsmål med forskellige ejere, og en genopretningspolitik har brug for begge, før den handler. Hensigt er noget, dit værktøj beslutter og husker. Observeret tilstand er noget, platformen fortæller dig.

IntentWhat you observeWhat to do
WantedDropped unexpectedlyAllow one supported recovery attempt
Paused by the userDisconnectedDo nothing until intent changes
WantedAlready connectingWait instead of starting a rival attempt
WantedAuthentication needs a personPrompt, then stop replaying credentials

Læs rækkerne som en politik snarere end som en liste af tilfælde. Den anden række er den, de fleste scripts udelader, og det er den eneste række, der skelner en overvågning fra en maskine, der insisterer på at have ret.

Observeret status er ikke en præference

Apples Network Extension-statusmodel rapporterer tilstandene connecting, connected, disconnecting, disconnected og recovery. Alle fem beskriver forbindelsen. Ingen af dem siger »brugeren bad denne profil om at forblive sat på pause«, for det er slet ikke en forbindelsestilstand. Klienter, der ikke er bygget på den ramme, eksponerer deres egne understøttede kontroller og statuskald, og de drager den samme grænse i deres eget ordforråd.

Konsekvensen er, at en afbrudt status aldrig kan fortolkes alene. Den betyder en af mindst tre ting: tunnelen faldt, brugeren standsede den, eller systemet er mellem forsøg. Kun din egen registrering af hensigt kan skelne dem. Skriv den registrering ned, behold den gennem genstarter, hvis den skal overleve en genstart, og opdater den i det øjeblik, brugeren handler, i stedet for at udlede den senere fra en loglinje.

scutil --nc list
scutil --nc status "Office VPN"

Hvem ellers må starte denne profil

En pause, som din helper lover, er kun så stærk som de andre ejere af samme profil. En On Demand-regel, en administreret konfiguration eller en anden klient kan alle anmode om en forbindelse, og din helper vil se ødelagt ud, mens den opfører sig præcis som beskrevet.

Find enhver mekanisme, der kan starte profilen inden du lover at respektere en pause, og skriv ned, hvilken der vinder. Når en administreret tjeneste bevidst tilbageholder en personlig pauseindstilling, er det en administrators beslutning om politik, ikke et hul, som et script skal udfylde ved at bekæmpe administrationen.

Gør gentagelserne kedelige

Begræns antallet af forsøg, og gør hvert enkelt lydhørt over for noget, der ændrede sig: netværket kom tilbage, gatewayen svarede, legitimationsprompten blev fuldført. En utilgængelig gateway, en udløbet identitet og en afvist anden faktor kræver tre forskellige svar, og en stram løkke giver alle tre det samme.

Se på, hvad et hurtigt gentagelsesforsøg faktisk producerer på skærmen. Gentagne dialoger, som brugeren afviser, er værre end en enkelt klar fejlmeddelelse, og de træner folk til at klikke gennem prompter uden at læse dem.

Pause og trafikpolitik er separate løfter

En tunnel, som brugeren har sat på pause, lader ofte trafikken være blokeret med vilje, og det er hele pointen med en politik i kill switch-stil. Det betyder, at Pause bør love præcis én ting: genopretningen stopper. Den bør ikke i det skjulte ændre, hvad netværket tillader.

Beslut trafikadfærden separat, dokumentér den ved siden af Pause-kontrollen, og hold den konsistent, uanset om tunnelen er sat på pause, mislykkedes eller er fraværende. Ellers lærer brugeren, at et tryk på Afbryd gør noget uforudsigeligt, og den næste supportanmodning handler om et netværk, der »nogle gange holder op med at virke« uden nogen synlig grund.

Relaterede artikler