Το Mac VPN επανασυνδέεται αμέσως μετά το πάτημα «Αποσύνδεση»
Μια παρακολούθηση που θεωρεί κάθε αποσυνδεδεμένη κατάσταση ως βλάβη θα μάχεται το κουμπί «Αποσύνδεση». Διαχωρίστε την πρόθεση από την παρατηρούμενη κατάσταση και, στη συνέχεια, περιορίστε τις επαναλήψεις.
Το πάτημα «Αποσύνδεση» λειτουργεί, και δέκα δευτερόλεπτα αργότερα η σήραγγα επιστρέφει ούτως ή άλλως. Αυτός ο βρόχος σπάνια οφείλεται σε κακή συμπεριφορά του πελάτη VPN· είναι ένα σενάριο αποκατάστασης που έκανε πάντα μόνο μία ερώτηση, «έπεσε;», και την απαντούσε συνδέοντας. Μόλις διαχωρίσετε την ερώτηση που απάντησε ο χρήστης από την ερώτηση που αναφέρει το σύστημα, η διόρθωση γίνεται μια μικρή ποσότητα κατάστασης αντί για έναν μεγαλύτερο ύπνο.
Δύο ερωτήσεις, όχι μία
Πρέπει αυτό το προφίλ να είναι συνδεδεμένο τώρα, και τι αναφέρει αυτή τη στιγμή το σύστημα; Πρόκειται για διαφορετικές ερωτήσεις με διαφορετικούς ιδιοκτήτες, και μια πολιτική αποκατάστασης χρειάζεται και τις δύο πριν ενεργήσει. Η πρόθεση είναι κάτι που αποφασίζει και θυμάται το εργαλείο σας. Η παρατηρούμενη κατάσταση είναι κάτι που σας λέει η πλατφόρμα.
| 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 |
Διαβάστε τις γραμμές ως πολιτική και όχι ως λίστα περιπτώσεων. Η δεύτερη γραμμή είναι αυτή που παραλείπουν τα περισσότερα σενάρια, και είναι η μόνη γραμμή που διακρίνει μια παρακολούθηση από μια μηχανή που επιμένει να έχει δίκιο.
Η παρατηρούμενη κατάσταση δεν είναι προτίμηση
Το μοντέλο κατάστασης του Network Extension της Apple αναφέρει τις καταστάσεις connecting, connected, disconnecting, disconnected και recovery. Και οι πέντε περιγράφουν τη σύνδεση. Καμία τους δεν λέει «ο χρήστης ζήτησε να μείνει αυτό το προφίλ σε παύση», γιατί αυτό δεν είναι καθόλου κατάσταση σύνδεσης. Οι πελάτες που δεν βασίζονται σε αυτό το πλαίσιο εκθέτουν τα δικά τους υποστηριζόμενα στοιχεία ελέγχου και κλήσεις κατάστασης, και χαράσσουν την ίδια γραμμή με το δικό τους λεξιλόγιο.
Η συνέπεια είναι ότι μια αποσυνδεδεμένη κατάσταση δεν μπορεί ποτέ να ερμηνευτεί από μόνη της. Σημαίνει ένα από τουλάχιστον τρία πράγματα: η σήραγγα έπεσε, ο χρήστης τη σταμάτησε, ή το σύστημα βρίσκεται ανάμεσα σε απόπειρες. Μόνο το δικό σας αρχείο πρόθεσης μπορεί να τα ξεχωρίσει. Γράψτε αυτό το αρχείο, κρατήστε το στις επανεκκινήσεις αν πρέπει να επιβιώσει από μια επανεκκίνηση, και ενημερώστε το τη στιγμή που ενεργεί ο χρήστης αντί να το συμπεράνετε αργότερα από μια γραμμή καταγραφής.
scutil --nc list
scutil --nc status "Office VPN"
Ποιος άλλος επιτρέπεται να ξεκινήσει αυτό το προφίλ
Μια παύση που υπόσχεται ο βοηθός σας είναι μόνο τόσο ισχυρή όσο οι άλλοι ιδιοκτήτες του ίδιου προφίλ. Ένας κανόνας On Demand, μια διαχειριζόμενη διαμόρφωση ή ένας δεύτερος πελάτης μπορούν όλοι να ζητήσουν σύνδεση, και ο βοηθός σας θα φαίνεται χαλασμένος ενώ συμπεριφέρεται ακριβώς όπως έχει γραφτεί.
Βρείτε κάθε μηχανισμό που μπορεί να ξεκινήσει το προφίλ πριν υποσχεθείτε ότι θα τηρήσετε μια παύση, και σημειώστε ποιος κερδίζει. Όταν μια διαχειριζόμενη υπηρεσία αρνείται σκόπιμα μια προσωπική επιλογή παύσης, αυτή είναι απόφαση διαχειριστή για την πολιτική, όχι ένα κενό που πρέπει να καλύψει ένα σενάριο παλεύοντας με τη διαχείριση.
Κάντε τις επαναλήψεις βαρετές
Περιορίστε τον αριθμό των αποπειρών και κάντε κάθε μία να ανταποκρίνεται σε κάτι που άλλαξε: το δίκτυο επέστρεψε, η πύλη απάντησε, η προτροπή διαπιστευτηρίων ολοκληρώθηκε. Μια μη διαθέσιμη πύλη, μια ληγμένη ταυτότητα και ένας απορριφθείς δεύτερος παράγοντας χρειάζονται τρεις διαφορετικές απαντήσεις, και ένας σφιχτός βρόχος δίνει και στις τρεις την ίδια.
Προσέξτε τι παράγει πραγματικά ένας γρήγορος επανέλεγχος στην οθόνη. Επαναλαμβανόμενοι διάλογοι που ο χρήστης απορρίπτει είναι χειρότεροι από ένα μόνο σαφές μήνυμα αποτυχίας, και εκπαιδεύουν τους ανθρώπους να κλείνουν προτροπές χωρίς να τις διαβάζουν.
Η παύση και η πολιτική κίνησης είναι ξεχωριστές υποσχέσεις
Μια σήραγγα σε παύση από τον χρήστη συχνά αφήνει την κίνηση μπλοκαρισμένη επίτηδες, και αυτό είναι όλο το νόημα μιας πολιτικής τύπου kill switch. Αυτό σημαίνει ότι η Παύση πρέπει να υπόσχεται ακριβώς ένα πράγμα: η αποκατάσταση σταματά. Δεν πρέπει να αλλάζει σιωπηλά τι επιτρέπει το δίκτυο.
Αποφασίστε τη συμπεριφορά της κίνησης ξεχωριστά, τεκμηριώστε την δίπλα στο στοιχείο ελέγχου Παύση, και κρατήστε την συνεπή είτε η σήραγγα είναι σε παύση, είτε απέτυχε, είτε απουσιάζει. Διαφορετικά ο χρήστης μαθαίνει ότι το πάτημα «Αποσύνδεση» κάνει κάτι απρόβλεπτο, και το επόμενο αίτημα υποστήριξης αφορά ένα δίκτυο που «μερικές φορές σταματά να λειτουργεί» χωρίς ορατό λόγο.