Pritisak na Odspoji djeluje, a deset sekundi kasnije tunel se ipak vraća. Ta petlja rijetko je loše ponašanje VPN klijenta; to je skripta za oporavak koja je uvijek postavljala samo jedno pitanje, „je li dolje?“, i odgovarala na njega spajanjem. Kad odvojite pitanje na koje je korisnik odgovorio od pitanja koje sustav izvještava, popravak postaje mala količina stanja umjesto duljeg spavanja.

Dva pitanja, ne jedno

Treba li ovaj profil upravo sada biti spojen, i što sustav trenutačno izvještava? To su različita pitanja s različitim vlasnicima, a politika oporavka treba oba prije nego što djeluje. Namjera je nešto što vaš alat odlučuje i pamti. Promatrano stanje je nešto što vam platforma govori.

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

Čitajte retke kao politiku, a ne kao popis slučajeva. Drugi redak je onaj koji većina skripti izostavlja, i to je jedini redak koji razlikuje nadzornik od stroja koji inzistira na tome da je u pravu.

Promatrano stanje nije sklonost

Appleov model stanja Network Extension izvještava o stanjima connecting, connected, disconnecting, disconnected i recovery. Svih pet opisuju vezu. Nijedno ne kaže „korisnik je tražio da ovaj profil ostane pauziran“, jer to uopće nije stanje veze. Klijenti koji nisu izgrađeni na tom okviru izlažu svoje podržane kontrole i pozive stanja, i povlače istu granicu svojim vlastitim rječnikom.

Posljedica je da se odspojeno stanje nikada ne može tumačiti samo po sebi. Ono znači jedno od najmanje tri stvari: tunel je pao, korisnik ga je zaustavio ili je sustav između pokušaja. Samo vaš vlastiti zapis namjere može ih razlikovati. Zapišite taj zapis, čuvajte ga kroz ponovna pokretanja ako mora preživjeti ponovno pokretanje, i ažurirajte ga u trenutku kada korisnik djeluje umjesto da ga kasnije zaključujete iz retka dnevnika.

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

Tko još smije pokrenuti ovaj profil

Pauza koju obećava vaš pomoćnik jaka je koliko i ostali vlasnici istoga profila. On Demand pravilo, upravljana konfiguracija ili drugi klijent mogu svi zatražiti vezu, a vaš će pomoćnik izgledati pokvaren dok se ponaša točno kako je napisano.

Pronađite svaki mehanizam koji može pokrenuti profil prije nego što obećate poštovati pauzu, i zapišite koji pobjeđuje. Kad upravljana usluga namjerno uskraćuje osobnu opciju pauze, to je administratorova odluka o politici, a ne praznina koju bi skripta trebala popuniti boreći se s upravljanjem.

Učinite ponovne pokušaje dosadnima

Ograničite broj pokušaja i učinite svaki od njih osjetljivim na nešto što se promijenilo: mreža se vratila, pristupnik je odgovorio, upit za vjerodajnice je dovršen. Nedostupan pristupnik, istekli identitet i odbijeni drugi faktor trebaju tri različita odgovora, a tijesna petlja daje svima trima isti.

Pogledajte što brzi ponovni pokušaj doista proizvodi na zaslonu. Ponavljeni dijalozi koje korisnik odbacuje gori su od jedne jasne poruke o pogrešci, i uče ljude da klikću kroz upite bez čitanja.

Pauza i prometna politika odvojena su obećanja

Tunel koji je korisnik pauzirao često namjerno ostavlja promet blokiranim, i to je cijela poanta politike u stilu kill switcha. To znači da bi Pauza trebala obećati točno jednu stvar: oporavak prestaje. Ne bi trebala tiho mijenjati što mreža dopušta.

Odlučite o ponašanju prometa odvojeno, dokumentirajte ga uz kontrolu Pauza i držite ga dosljednim bez obzira na to je li tunel pauziran, neuspješan ili odsutan. Inače korisnik nauči da pritisak na Odspoji čini nešto nepredvidivo, a sljedeća potpora odnosi se na mrežu koja „ponekad prestane raditi“ bez vidljivog razloga.

Povezani članci