„Mac VPN“ vėl prisijungia savaime iškart paspaudus „Atjungti“
Stebėtojas, kuris kiekvieną atjungtą būseną laiko gedimu, kovos su mygtuku Atjungti. Atskirkite ketinimą nuo stebimos būsenos ir apribokite bandymus.
Paspausti Atjungti veikia, o po dešimties sekundžių tunelis vis tiek grįžta. Ši kilpa retai būna netinkamas VPN kliento elgesys; tai atkūrimo scenarijus, kuris visada uždavė tik vieną klausimą, „ar jis nukritęs?“, ir atsakydavo į jį prisijungdamas. Kai atskiriate klausimą, į kurį atsakė naudotojas, nuo klausimo, kurį praneša sistema, pataisymas tampa mažu būsenos kiekiu, o ne ilgesniu miegojimu.
Du klausimai, o ne vienas
Ar šis profilis dabar turėtų būti prijungtas, ir ką sistema šiuo metu praneša? Tai skirtingi klausimai su skirtingais savininkais, o atkūrimo politikai reikia abiejų prieš veikiant. Ketinimas yra tai, ką jūsų įrankis nusprendžia ir atsimena. Stebima būsena yra tai, ką jums pasako platforma.
| 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 |
Skaitykite eilutes kaip politiką, o ne kaip atvejų sąrašą. Antroji eilutė yra ta, kurią dauguma scenarijų praleidžia, ir tai vienintelė eilutė, skirianti stebėtoją nuo mašinos, kuri reikalauja būti teisi.
Stebima būsena nėra pageidavimas
„Apple“ Network Extension būsenos modelis praneša apie būsenas connecting, connected, disconnecting, disconnected ir recovery. Visos penkios apibūdina ryšį. Nė viena jų nesako „naudotojas paprašė, kad šis profilis liktų pristabdytas“, nes tai visai ne ryšio būsena. Klientai, nepastatyti ant šios karkasos, atskleidžia savo palaikomus valdiklius ir būsenos iškvietimus, ir jie brėžia tą pačią ribą savo žodynu.
Pasekmė ta, kad atjungtos būsenos niekada negalima aiškinti atskirai. Ji reiškia vieną iš bent trijų dalykų: tunelis nukrito, naudotojas jį sustabdė arba sistema yra tarp bandymų. Tik jūsų pačių ketinimo įrašas gali juos atskirti. Užsirašykite tą įrašą, saugokite jį tarp perkrovimų, jei jis turi išgyventi perkrovimą, ir atnaujinkite jį tuo metu, kai naudotojas veikia, o ne vėliau spėkite iš žurnalo eilutės.
scutil --nc list
scutil --nc status "Office VPN"
Kas dar gali paleisti šį profilį
Jūsų pagalbinės programos pažadėta pauzė yra tokia stipri, kokia yra kiti to paties profilio savininkai. „On Demand“ taisyklė, valdoma konfigūracija ar antras klientas gali prašyti ryšio, ir jūsų pagalbinė programa atrodys sugedusi, nors elgsis tiksliai taip, kaip parašyta.
Raskite kiekvieną mechanizmą, galintį paleisti profilį prieš pažadėdami gerbti pauzę, ir užrašykite, kuris laimi. Kai valdoma paslauga sąmoningai nesuteikia asmeninės pauzės parinkties, tai administratoriaus sprendimas dėl politikos, o ne spraga, kurią scenarijus turėtų užpildyti kovodamas su valdymu.
Padarykite pakartotinius bandymus nuobodžius
Apribokite bandymų skaičių ir padarykite kiekvieną reaguojantį į tai, kas pasikeitė: tinklas grįžo, šliuzas atsakė, kredencialų užklausa baigėsi. Nepasiekiamas šliuzas, pasibaigęs tapatumas ir atmestas antrasis veiksnys reikalauja trijų skirtingų atsakymų, o griežta kilpa visiems trims duoda tą patį.
Pažiūrėkite, ką greitas pakartotinis bandymas iš tikrųjų sukuria ekrane. Pakartotiniai dialogai, kuriuos naudotojas uždarė, yra blogiau nei viena aiški klaidos žinutė, ir jie moko žmones spaudinėti užklausas jų neskaičius.
Pauzė ir srauto politika yra atskiri pažadai
Naudotojo pristabdytas tunelis dažnai sąmoningai palieka srautą užblokuotą, ir tai yra visas kill switch stiliaus politikos tikslas. Tai reiškia, kad Pauzė turėtų žadėti lygiai vieną dalyką: atkūrimas sustoja. Ji neturėtų tyliai keisti to, ką tinklas leidžia.
Nuspręskite srauto elgseną atskirai, dokumentuokite ją šalia Pauzės valdiklio ir išlaikykite ją nuoseklią, nesvarbu, ar tunelis pristabdytas, ar nepavykęs, ar jo nėra. Priešingu atveju naudotojas sužino, kad paspaudus Atjungti nutinka kažkas nenuspėjamo, ir kitas pagalbos bilietas bus apie tinklą, kuris „kartais nustoja veikti“ be matomos priežasties.