Εφαρμογή VPN προμηθευτή ή NetworkManager: ποιος κατέχει την κατάσταση;
Ένα προφίλ ονομάζει πρόσθετο, όχι τη συμπεριφορά του πελάτη του προμηθευτή. Χαρτογραφήστε ποιος κατέχει εγγραφή, DNS, αποκλεισμό και ενημερώσεις πριν αλλάξετε διαχειριζόμενο φορητό.
Η εισαγωγή προφίλ δεν είναι το ίδιο με την αντικατάσταση πελάτη. Ο NetworkManager αποθηκεύει έναν τύπο προσθέτου μαζί με δεδομένα και μυστικά ειδικά για το πρόσθετο, και το πρόσθετο που κατέχει αυτόν τον τύπο αποφασίζει τι μπορεί να κάνει η σύνδεση. Ό,τι προσθέτει από πάνω η εφαρμογή του προμηθευτή, από την εγγραφή έως τον μόνιμο αποκλεισμό, ζει έξω από το αρχείο. Το αν η αλλαγή είναι ασφαλής εξαρτάται από το σε ποια από αυτά τα επίπεδα βασίζεστε πραγματικά.
Το αρχείο ονομάζει πρόσθετο, όχι σύνολο λειτουργιών
Η αναφορά ρυθμίσεων VPN του NetworkManager περιγράφει έναν τύπο υπηρεσίας που επιλέγει το πρόσθετο, μαζί με ένα αδιαφανές λεξικό δεδομένων και ένα λεξικό μυστικών που μόνο το πρόσθετο ερμηνεύει. Το προφίλ είναι σύμβαση με μία υλοποίηση, όχι περιγραφή συμπεριφοράς που μπορεί να αναπαραγάγει οποιοσδήποτε πελάτης. Δύο πελάτες μπορούν να μιλούν το ίδιο πρωτόκολλο και παρ’ όλα αυτά να διαφέρουν σε ό,τι διαπραγματεύονται και σε ποιες διαδρομές δεδομένων ενεργοποιούν. Μια ετικέτα πρωτοκόλλου σας λέει τι είναι η σήραγγα, ποτέ τι κάνει ο γύρω πελάτης με αυτήν.
Συγκρίνετε λοιπόν απαιτήσεις και όχι περιτυλίγματα. Το ερώτημα δεν είναι αν η εναλλακτική μπορεί να συνδεθεί, γιατί συνήθως μπορεί· είναι αν κάθε απαίτηση που έκανε τον αρχικό πελάτη αποδεκτό επιβιώνει της μεταφοράς. Γράψτε αυτές τις απαιτήσεις πριν εγκαταστήσετε οτιδήποτε, αλλιώς η σύγκριση γίνεται κυνήγι του τι σπάει πρώτο.
Τι προσθέτει η εφαρμογή του προμηθευτή γύρω από τη σήραγγα
Οι πελάτες των προμηθευτών συνήθως ομαδοποιούν την εγγραφή και τους ελέγχους κατάστασης της συσκευής, μια ροή δεύτερου παράγοντα με δική της διεπαφή, τον μόνιμο αποκλεισμό, ένα κανάλι ενημερώσεων και εργαλεία υποστήριξης. Μέρος από αυτά στέκεται δίπλα στο πρωτόκολλο, και μέρος είναι ξεχωριστό προϊόν που απλώς μοιράζεται ένα πρόγραμμα εγκατάστασης. Ο NetworkManager μπορεί να αντικαταστήσει τη σήραγγα και τη δρομολόγησή της, και σενάρια αποστολέα μπορούν να εκκινήσουν ενέργειες όταν αλλάζει κατάσταση η σύνδεση. Δεν αναπαράγει όμως μηχανή αποκλεισμού, ροή ανανέωσης πιστοποιητικού ή μια παραδοχή για το ποιος χρήστης επιτρέπεται να σηκώσει τη σύνδεση.
Περισσότερα εξαρτήματα δεν σημαίνει ασφαλέστερο, και λιγότερα δεν σημαίνει ασθενέστερο. Το ερώτημα είναι ποιο εξάρτημα επιβάλλει την πολιτική που σας είπαν να ακολουθείτε. Αν ένας ελεγκτής ρωτήσει τι αποκλείει την κίνηση όταν πέσει η σήραγγα, η απάντηση πρέπει να ονομάζει κάτι που το κάνει πραγματικά, και ένα προφίλ που μόνο συνδέεται δεν είναι αυτή η απάντηση.
Πού διαφέρει πραγματικά η κυριότητα
Διαβάστε το ως χάρτη κυριότητας και όχι ως λίστα ελέγχου, γιατί οι αποτυχίες παρακάτω είναι κενά κυριότητας και καμία ποσότητα ρυθμίσεων πελάτη δεν τα κλείνει. Κάθε γραμμή ονομάζει το επίπεδο, την πλευρά που το κρατά συνήθως σήμερα και πού εμφανίζεται πρώτο το κενό.
| Layer | Vendor application | NetworkManager connection | Where the gap shows up |
|---|---|---|---|
| Enrollment and posture | built into the client | absent unless something else supplies it | a managed device fails its next posture check |
| Address and resolver authority | the client sets both | the plugin plus dispatcher scripts | names resolve through the wrong resolver after a state change |
| Blocking on drop | a bundled engine | nothing by default | traffic continues in the clear after the tunnel dies |
| Upgrade path | the vendor's own channel | the distribution package and its plugin | a plugin update changes behaviour with no vendor note |
| Diagnostics and support | vendor tooling with client state | journal and dispatcher output | support cannot see why negotiation failed |
Συνδυάστε κάθε γραμμή με μια παρατήρηση που μπορείτε να επαναλάβετε και όχι με ένα αίσθημα για τον πελάτη. Ένα όνομα που λύθηκε μέσω του προβλεπόμενου διαλυτή, μια διαδρομή που εξαφανίζεται όταν σταματήσει η σήραγγα και μια αποκλεισμένη σύνδεση μετά από προσομοιωμένη διακοπή είναι τρεις παρατηρήσεις που μαζί καλύπτουν το μεγαλύτερο μέρος του πίνακα. Γράψτε την παρατήρηση δίπλα στην απαίτηση που αποδεικνύει, και κρατήστε όσες απέτυχαν, γιατί μια αποτυχημένη παρατήρηση είναι το μόνο μέρος του αρχείου που προβλέπει το επόμενο περιστατικό.
Αλλαγή χωρίς επικαλυπτόμενη κυριότητα
Το να τρέχετε τον πελάτη του προμηθευτή και μια σύνδεση NetworkManager για την ίδια υπηρεσία ταυτόχρονα είναι ο πιο συνηθισμένος τρόπος με τον οποίο αυτές οι συγκρίσεις πάνε στραβά. Και τα δύο εγκαθιστούν διαδρομές, και τα δύο μπορεί να ορίσουν DNS, και τα δύο μπορεί να αγγίξουν την κατάσταση του τείχους προστασίας. Αυτό που μετράτε τότε είναι μια τρίτη διάταξη που δεν ταιριάζει με την τεκμηριωμένη συμπεριφορά κανενός από τους δύο πελάτες.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show work --show-secrets | grep -E "^vpn\."
journalctl -u NetworkManager -b --since "10 min ago"Η πρώτη εντολή σας λέει αν το προφίλ είναι καθόλου τύπος VPN. Η δεύτερη δείχνει τον τύπο υπηρεσίας του προσθέτου και ποια μυστικά είναι αποθηκευμένα, κάτι που έχει σημασία όταν ένα κλειδί αναμένεται από πράκτορα αντί από το αρχείο. Το ημερολόγιο είναι το μέρος όπου ένα πρόσθετο που φορτώθηκε αλλά δεν μπόρεσε να διαπραγματευτεί θα το πει. Αν καμία από τις τρεις δεν δείξει πρόβλημα, το κενό βρίσκεται στα επίπεδα πολιτικής πάνω από τη σήραγγα και όχι στη σύνδεση.
Αποσυνδέστε τον παλιό πελάτη πριν ενεργοποιήσετε τη νέα σύνδεση, κρατήστε τα τελικά σημεία και τον λογαριασμό ίδια, και σημειώστε ποιο εξάρτημα κατέχει διαδρομές, ρυθμίσεις διαλυτή και αποκλεισμό. Αυτή η σημείωση είναι αυτό που εμποδίζει την επόμενη ενημέρωση να καταλήξει με δύο ιδιοκτήτες.