Mac VPN rekonektiĝas tuj post kiam vi premos Malkonekti
Monitoro, kiu traktas ĉiun malkonektitan staton kiel difekton, batalos kontraŭ la butono Malkonekti. Apartigu intencon disde la observata stato, poste limigu la provojn.
Premi Malkonekti funkcias, kaj dek sekundojn poste la tunelo tamen revenas. Tiu buklo malofte estas la VPN-kliento miskondutanta; ĝi estas reakira skripto, kiu ĉiam nur demandis unu demandon, «ĉu ĝi estas malsupre?», kaj respondis ĝin per konektado. Post kiam vi apartigos la demandon, kiun la uzanto respondis, disde la demando, kiun la sistemo raportas, la korekto fariĝas malgranda kvanto da stato anstataŭ pli longa dormo.
Du demandoj, ne unu
Ĉu tiu profilo devus esti konektita ĝuste nun, kaj kion la sistemo nuntempe raportas? Tiuj estas malsamaj demandoj kun malsamaj posedantoj, kaj reakra politiko bezonas ambaŭ antaŭ ol ĝi agas. Intenco estas io, kion via ilo decidas kaj memoras. Observata stato estas io, kion la platformo diras al vi.
| Intent | What you observe | What to do |
|---|---|---|
| Wanted | Dropped unexpectedly | Allow one supported recovery attempt |
| Paused by the user | Disconnected | Do nothing until intent changes |
| Wanted | Already connecting | Wait instead of starting a rival attempt |
| Wanted | Authentication needs a person | Prompt, then stop replaying credentials |
Legu la vicojn kiel politikon prefere ol kiel liston de kazoj. La dua vico estas tiu, kiun plej multaj skriptoj preterlasas, kaj ĝi estas la sola vico, kiu distingas monitoron disde maŝino, kiu insistos pravi.
Observata stato ne estas prefero
La statusa modelo Network Extension de Apple raportas la statojn connecting, connected, disconnecting, disconnected kaj recovery. Ĉiuj kvin priskribas la konekton. Neniu el ili diras «la uzanto petis, ke ĉi tiu profilo restu paŭzigita», ĉar tio tute ne estas konekta stato. Klientoj, kiuj ne estas konstruitaj sur tiu kadro, elmontras siajn proprajn subtenatajn regilojn kaj statusvokojn, kaj ili desegnas la saman limon per sia propra vortprovizo.
La sekvo estas, ke malkonektita stato neniam povas esti interpretata sola. Ĝi signifas unu el almenaŭ tri aferoj: la tunelo falis, la uzanto haltigis ĝin, aŭ la sistemo estas inter provoj. Nur via propra registro de intenco povas distingi ilin. Skribu tiun registron, konservu ĝin tra restartoj se ĝi devas postvivi restartigon, kaj ĝisdatigu ĝin en la momento, kiam la uzanto agas, anstataŭ dedukti ĝin poste el loglinio.
scutil --nc list
scutil --nc status "Office VPN"
Kiu alia rajtas lanĉi ĉi tiun profilon
Paŭzo promesita de via helpanto estas nur tiel forta kiel la aliaj posedantoj de la sama profilo. Regulo On Demand, administrata agordo aŭ dua kliento povas ĉiuj peti konekton, kaj via helpanto aspektos rompita dum ĝi kondutas ĝuste laŭ la skribaĵo.
Trovu ĉiun mekanismon, kiu povas lanĉi la profilon antaŭ ol vi promesos respekti paŭzon, kaj skribu, kiu venkas. Kiam administrata servo intence retenas personan paŭzan opcion, tio estas administranta decido pri politiko, ne manko, kiun skripto plenigu batalante kontraŭ administrado.
Faru la ripetojn enuaj
Limigu la nombron de provoj kaj igi ĉiun el ili respondeca al io ŝanĝiĝinta: la reto revenis, la pordego respondis, la akreditaĵa invito kompletiĝis. Neatingebla pordego, eksvalidigita identeco kaj rifuzita dua faktoro bezonas tri malsamajn respondojn, kaj streĉa buklo donas al ĉiuj tri la saman.
Rigardu, kion rapida reprovo efektive produktas sur la ekrano. Ripetitaj dialogoj, kiujn la uzanto forigas, estas pli malbonaj ol unu klara fiaska mesaĝo, kaj ili trejnas homojn klaki tra invitoj sen legi ilin.
Paŭzo kaj trafika politiko estas apartaj promesoj
Tunelo paŭzigita de la uzanto ofte lasas trafikon blokita intence, kaj tio estas la tuta senco de politiko laŭ la stilo kill switch. Tio signifas, ke Paŭzo devus promesi ĝuste unu aferon: la reakiro haltas. Ĝi devus ne silente ŝanĝi, kion la reto permesas.
Decidu la trafikan konduton aparte, dokumentu ĝin apud la regilo Paŭzo, kaj tenu ĝin konsekvenca ĉu la tunelo estas paŭzigita, fiaskinta aŭ forestanta. Alie la uzanto lernas, ke premi Malkonekti faras ion neantaŭvideblan, kaj la sekva subtena bileto temas pri reto, kiu «foje ĉesas funkcii» sen videbla kialo.