Απουσία διαδρομής VPN στο NetworkManager: πολιτική προφίλ ή σενάριο;
Η σήραγγα συνδέεται και ένα πρόθεμα δεν εμφανίζεται ποτέ. Αποφασίστε ανάμεσα σε πολιτική προφίλ, δεδομένα πρόσθετου και δεύτερο ιδιοκτήτη διαδρομής πριν προσθέσετε ένα βοηθητικό σενάριο.
Συνδέεστε, εμφανίζεται η διεπαφή της σήραγγας, και ένα πρόθεμα που χρειάζεστε απλώς δεν βρίσκεται στον πίνακα. Το επόμενο βήμα είναι συνήθως μια αναζήτηση για ένα σενάριο που το προσθέτει. Αυτή η αναζήτηση καταλήγει σε απαντήσεις που κολλούν έναν βοηθό OpenVPN μέσα σε ένα προφίλ, και οι μισές από αυτές τις απαντήσεις χειροτερεύουν την κατάσταση αντί να τη βελτιώσουν, επειδή μια απούσα διαδρομή έχει τρεις πιθανούς ιδιοκτήτες και μόνο ένας από αυτούς είναι ένα σενάριο που λείπει.
Αποφασίστε ποιος ιδιοκτήτης είναι υπεύθυνος πριν γράψετε οτιδήποτε.
Τρεις ιδιοκτήτες, ένα πρόθεμα που λείπει
Το πρόθεμα μπορεί να λείπει επειδή κανείς δεν το παρείχε, επειδή το προφίλ το απέρριψε, ή επειδή εγκαταστάθηκε κάπου που δεν κοιτάτε. Αυτές είναι διαφορετικές βλάβες και έχουν διαφορετικές διορθώσεις.
Το πρώτο είναι το ευκολότερο να ελεγχθεί: πρόσφερε ποτέ ο διακομιστής ή το πρόσθετο τη διαδρομή; Ένα backend που δεν έλαβε ποτέ το πρόθεμα δεν μπορεί να το εγκαταστήσει, και ένα βοηθητικό σενάριο δεν μπορεί να επινοήσει προσβασιμότητα που ο ομότιμος δεν περιέγραψε ποτέ. Το δεύτερο είναι η πολιτική προφίλ, που μπορεί να καταστείλει διαδρομές που η σύνδεση θα έπαιρνε διαφορετικά. Το τρίτο είναι ένας πίνακας ή κανόνας, που μπορεί να κρατά τη διαδρομή σε ένα σημείο που η προεπιλεγμένη αναζήτηση δεν συμβουλεύεται ποτέ.
Τέταρτος ιδιοκτήτης είστε εσείς, αργότερα: ένα σενάριο που προσθέτει τη διαδρομή κατά τη σύνδεση αλλά δεν την αφαιρεί κατά την αποσύνδεση. Αυτό παράγει ένα πρόθεμα που επιβιώνει της σήραγγας, δείχνει σε μια νεκρή διεπαφή και μπερδεύει τον επόμενο που θα αποσφαλματώσει το μηχάνημα.
Διαβάστε το προφίλ πριν προσθέσετε οτιδήποτε
Ξεκινήστε από τις ιδιότητες της αποθηκευμένης σύνδεσης. Διαβάστε τις χωρίς να διαρρεύσετε μυστικά, και χρησιμοποιήστε το UUID αν το όνομα του προφίλ είναι ασαφές.
nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office
Το vpn.service-type σας λέει ποιο backend κατέχει τη σύνδεση, και αυτό έχει σημασία επειδή τα δεδομένα του πρόσθετου είναι ειδικά για το backend. Ένα κλειδί που δέχεται ένα πρόσθετο δεν είναι υποστηριζόμενη οδηγία για ένα άλλο, οπότε ένα απόσπασμα αντιγραμμένο από την τεκμηρίωση άλλου πελάτη δεν αποδεικνύει τίποτα.
Τα ipv4.ignore-auto-routes και ipv4.never-default απαντούν σε διαφορετικά ερωτήματα. Το πρώτο μπορεί να απορρίψει διαδρομές που η σύνδεση θα έπαιρνε διαφορετικά αυτόματα, και το δεύτερο ελέγχει αν το προφίλ μπορεί να γίνει η προεπιλεγμένη διαδρομή. Ένα προφίλ που αγνοεί τις αυτόματες διαδρομές και δεν βασίζεται σε τίποτα άλλο θα συνδεθεί καθαρά και θα εγκαταστήσει σχεδόν τίποτα.
ip -4 rule show
ip -4 route show table all
Αυτές οι δύο εντολές ξεκαθαρίζουν την τρίτη πιθανότητα. Ψάξτε το πρόθεμά σας σε κάθε πίνακα, όχι μόνο στον main, και ελέγξτε αν ένας κανόνας πολιτικής στέλνει την σχετική αναζήτηση αλλού. Αν το πρόθεμα υπάρχει σε άλλον πίνακα και τίποτα δεν το συμβουλεύεται, δεν έχετε απούσα διαδρομή· έχετε μια αναζήτηση που δεν την φτάνει ποτέ.
Τι δεν μπορεί να διορθώσει ένα σενάριο
Η προσθήκη βοηθητικού σεναρίου δίνει στο vpn.data του NetworkManager ένα πρόγραμμα να εκτελέσει. Είναι πραγματικός μηχανισμός, και είναι ο λάθος για τις περισσότερες από αυτές τις περιπτώσεις, επειδή το σενάριο αποκτά έλεγχο αφού η πολιτική του προφίλ έχει ήδη αποφασίσει τι θα δεχτεί.
Το script-security του OpenVPN είναι η άλλη επαναλαμβανόμενη σύγχυση. Είναι ρύθμιση του OpenVPN που καθορίζει ποια σενάρια επιτρέπεται να εκτελεί ο πελάτης και τι επιτρέπεται να βάλει στο περιβάλλον τους· το επίπεδο 3 επιτρέπει τη μεταβίβαση διαπιστευτηρίων μέσω του περιβάλλοντος, που είναι απόφαση διαχείρισης μυστικών και όχι διόρθωση δρομολόγησης. Το να το κολλήσετε σε προφίλ του οποίου το backend δεν είναι OpenVPN, ή να το ανεβάσετε όταν κανένα σενάριο δεν το χρειάζεται, προσθέτει έκθεση χωρίς να προσθέτει διαδρομή.
Έπειτα υπάρχει το αντανακλαστικό της επανεκκίνησης. Η επανεκκίνηση της υπηρεσίας NetworkManager γκρεμίζει και ξαναχτίζει κάθε διαχειριζόμενο ζεύξη, συμπεριλαμβανομένης αυτής από την οποία είστε συνδεδεμένοι αν εργάζεστε απομακρυσμένα. Είναι μια αναστατωτική ενέργεια, όχι ακίνδυνη διαγνωστική, και σε έναν διακομιστή μπορεί να είναι η διαφορά ανάμεσα σε μια συνεδρία που επιβιώνει και σε μια που δεν επιβιώνει.
Η απόφαση, με σειρά
Κάντε τρεις ερωτήσεις διαδοχικά. Παρείχε ο ομότιμος το πρόθεμα, που θα το δείξει το αρχείο καταγραφής του backend ή η δική του έξοδος κατάστασης; Αν ναι, είναι το προφίλ ρυθμισμένο να δέχεται και να εγκαθιστά διαδρομές, ή τις καταστέλλει; Αν η διαδρομή υπάρχει κάπου, είναι σωστή η διαδρομή αναζήτησης για την κίνηση που δοκιμάζετε;
Μόνο όταν η πρώτη απάντηση είναι ναι, η δεύτερη είναι ναι και η τρίτη είναι σωστή γίνεται υπερασπίσιμο ένα συμπληρωματικό σενάριο, και ακόμη και τότε θα πρέπει να ρωτήσετε αν το backend υποστηρίζει τη διαδρομή εγγενώς. Η αναφορά ρυθμίσεων VPN τεκμηριώνει το service-type και το λεξικό δεδομένων ειδικό για το πρόσθετο, και από εκεί πρέπει να ξεκινήσετε πριν υποθέσετε ότι υπάρχει ένα κλειδί.
Μετά από μια εγκεκριμένη διόρθωση, συνδεθείτε ξανά και δοκιμάστε τον προορισμό με διεύθυνση και μετά με όνομα, έπειτα αποσυνδεθείτε και συνδεθείτε ξανά για να επιβεβαιώσετε ότι η κατάσταση είναι επαναλήψιμη. Ένας ιδιοκτήτης, ένας πίνακας και μια διαδρομή που εξαφανίζεται μαζί με τη σήραγγα είναι το αποτέλεσμα που αξίζει.