Η επαναφόρτωση του πιστοποιητικού Nebula δεν άλλαξε τη διεύθυνση IP: ιδού γιατί
Μια επαναφόρτωση ξαναδιαβάζει τα διαπιστευτήρια του κεντρικού υπολογιστή μόνο όταν η διεύθυνση overlay παραμένει ίδια. Η αλλαγή διεύθυνσης σημαίνει επανεκκίνηση και αλλαγή δικτύου, όχι νέα προσπάθεια.
Εκδίδετε ένα νέο πιστοποιητικό κεντρικού υπολογιστή με διαφορετική διεύθυνση overlay, το αντιγράφετε πάνω από το παλιό αρχείο, στέλνετε την επαναφόρτωση και ο υπολογιστής συνεχίζει να απαντά στη διεύθυνση που είχε πριν. Η αντανακλαστική σκέψη είναι να υποθέσετε ότι η επαναφόρτωση απέτυχε ή ότι διαβάστηκε λάθος αρχείο. Συνήθως δεν συνέβη κανένα από τα δύο: η διεργασία που εκτελείται κράτησε σκόπιμα την ταυτότητα που ήδη είχε, επειδή η αντικατάσταση άλλαξε κάτι που μια επαναφόρτωση δεν μπορεί να εφαρμόσει.
Η υποστήριξη επαναφόρτωσης PKI του Nebula τεκμηριώνεται με αυτό το όριο, και είναι εύκολο να το παραβλέψετε όταν η ίδια τεκμηρίωση δείχνει ότι η επαναφόρτωση λειτουργεί για άλλες αλλαγές.
Τι ξαναδιαβάζει πραγματικά μια επαναφόρτωση
Ένα πιστοποιητικό κεντρικού υπολογιστή δεν είναι απλώς διαπιστευτήριο με την έννοια που είναι ένα κλειδί SSH. Φέρει τη διεύθυνση overlay, το όνομα του υπολογιστή, τις συμμετοχές σε ομάδες και ένα παράθυρο εγκυρότητας, και όλα αυτά συνδέονται μεταξύ τους με την υπογραφή της CA. Ο δαίμονας χρησιμοποιεί αυτό το υπογεγραμμένο περιεχόμενο για να αποφασίσει πώς παρουσιάζεται και ποιοι κανόνες ισχύουν γι' αυτόν.
Η επαναφόρτωση επιτρέπει στη διεργασία να παραλάβει ανανεωμένα διαπιστευτήρια χωρίς να ρίξει τις σήραγγές της, κάτι πολύτιμο για τη συνήθη εναλλαγή: ίδια διεύθυνση, ίδιο όνομα, ίδιες ομάδες, μεταγενέστερη λήξη. Ο περιορισμός είναι ότι η ταυτότητα πρέπει να μείνει ίδια. Αλλάξτε τη διεύθυνση overlay και η διαδρομή επαναφόρτωσης δεν μπορεί να την εφαρμόσει, επειδή η διεύθυνση είναι μέρος αυτού στο οποίο έχει ήδη δεσμευτεί το εκτελούμενο στιγμιότυπο.
Άρα η συμπεριφορά που είδατε είναι το τεκμηριωμένο όριο που κάνει τη δουλειά του, όχι μια σιωπηλή αποτυχία. Το αρχείο στον δίσκο είναι νέο· η ταυτότητα στη μνήμη είναι παλιά· η διεργασία δεν έχει υποστηριζόμενο τρόπο να συμβιβάσει αυτή τη διαφορά χωρίς επανεκκίνηση.
Διεύθυνση, όνομα και ομάδες είναι μία ταυτότητα
Βοηθά να σκέφτεστε το πιστοποιητικό ως μία εγγραφή και όχι ως σύνολο πεδίων που μπορείτε να επεξεργάζεστε ανεξάρτητα. Η μετακίνηση της διεύθυνσης δεν μοιάζει με αλλαγή προτίμησης, επειδή η διεύθυνση εμφανίζεται στις ρυθμίσεις ομοτίμων άλλων υπολογιστών, στις συνδέσεις υπηρεσιών και σε πολιτικές γραμμένες απέναντι στην ταυτότητα.
| Field | What changes when you replace it |
|---|---|
| Overlay address | Peers that pinned the old address, service bindings, and any rule written against it |
| Host name | Name-based policy and the identities other hosts expect to see |
| Groups | Which access rules match, even if the address stays identical |
| Validity window | Nothing structural, which is why renewal reloads cleanly |
Οι ομάδες αξίζουν δική τους γραμμή, επειδή προκαλούν μια πιο ήσυχη εκδοχή της ίδιας σύγχυσης. Ένας υπολογιστής που κρατά τη διεύθυνσή του αλλά αλλάζει ομάδες μπορεί μετά από επανεκκίνηση να φτάνει σε διαφορετικές υπηρεσίες, και ένα τεστ που κάνει ping μόνο στην παλιά διεύθυνση θα φαίνεται απόλυτα υγιές ενώ οι αποφάσεις πρόσβασης έχουν αλλάξει από κάτω. Ελέγξτε μία υπηρεσία που καλύπτεται από κανόνα, όχι μόνο την προσβασιμότητα. Αυτή είναι η διαφορά ανάμεσα στην επιβεβαίωση της σήραγγας και στην επιβεβαίωση της πολιτικής.
Συγκρίνετε το φορτωμένο πιστοποιητικό με την αντικατάσταση
Πριν υποθέσετε ότι ο δαίμονας αγνόησε το αρχείο, διαβάστε και τα δύο. Εκτυπώστε το πιστοποιητικό που σκοπεύετε να φορτώσετε και επιβεβαιώστε τα πεδία που νομίζετε ότι αλλάξατε, έπειτα επιβεβαιώστε ότι η εκτελούμενη ρύθμιση δείχνει σε αυτή τη διαδρομή και όχι σε αντίγραφο αλλού.
nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)Τα ορίσματα της διεργασίας μετράνε περισσότερο απ' ό,τι περιμένουν οι άνθρωποι. Μια μονάδα που περνά το -config /etc/nebula/config.yml διαβάζει την καταχώριση pki.cert εκείνου του αρχείου, και ένα πιστοποιητικό εγκατεστημένο σε προσωρινό κατάλογο δεν επηρεάζει τίποτα. Ελέγξτε τη διαδρομή στην εκτελούμενη γραμμή εντολών, όχι τη διαδρομή στην τεκμηρίωση που ακολουθήσατε. Αν οι δύο διαφέρουν, βρήκατε το πρόβλημα χωρίς να αγγίξετε καθόλου το πιστοποιητικό.
Αν το νέο πιστοποιητικό έχει διαφορετική διεύθυνση και η διεργασία κράτησε την παλιά, τώρα έχετε μια εξήγηση αντί για ένα μυστήριο. Επανεκκινήστε την αν είναι αποδεκτό, και αντιμετωπίστε την αλλαγή διεύθυνσης ως σχεδιασμένη αλλαγή δικτύου και όχι ως τυχαία.
Η αλλαγή διεύθυνσης είναι αλλαγή δικτύου
Σχεδιάστε το όπως θα σχεδιάζατε τη μετακίνηση ενός μηχανήματος. Άλλοι υπολογιστές μπορεί να έχουν καρφιτσώσει την παλιά διεύθυνση στη ρύθμισή τους, οι υπηρεσίες μπορεί να δεσμεύονται ρητά σε αυτήν, και οι κανόνες του τείχους προστασίας μπορεί να είναι γραμμένοι απέναντί της. Η αλλαγή του πιστοποιητικού μετακινεί τον υπολογιστή, και η μετακίνηση του υπολογιστή ακυρώνει παραδοχές αλλού.
Κρατήστε διαθέσιμη μια δεύτερη διαδρομή διαχείρισης όσο το κάνετε, επειδή η σύνδεση overlay μπορεί να είναι ακριβώς αυτή που διακόπτετε. Το να το κάνετε πάνω από τη σήραγγα που πρόκειται να σπάσετε είναι ο κλασικός τρόπος να μετατρέψετε μια αλλαγή πέντε λεπτών σε επίσκεψη στον χώρο.
Το αν μια επανεκκίνηση είναι αποδεκτή εξαρτάται από το τι κάνει ο υπολογιστής, και αυτό είναι θέμα προγραμματισμού, όχι τεχνικό. Το μη προαιρετικό είναι να αναγνωρίσετε την απαίτηση επανεκκίνησης αντί να στέλνετε την επαναφόρτωση για πέμπτη φορά.
Αποσύρετε τα παλιά διαπιστευτήρια ξεχωριστά
Η εγκατάσταση αντικατάστασης σε ένα μόνο μηχάνημα αφήνει κάθε ομότιμο να εξακολουθεί να εμπιστεύεται τα διαπιστευτήρια που ήδη γνωρίζει. Αν ο λόγος της αλλαγής ήταν παραβίαση, η παλιά ταυτότητα πρέπει να αποσυρθεί μέσω της διαδικασίας εμπιστοσύνης ή λίστας αποκλεισμού, ώστε οι ομότιμοι να την απορρίψουν πραγματικά.
Είναι ξεχωριστό βήμα με δική του επαλήθευση: επιβεβαιώστε από άλλον υπολογιστή ότι η παλιά ταυτότητα δεν λειτουργεί πλέον, αντί να υποθέσετε ότι το νέο αρχείο έκανε τη δουλειά. Η τεκμηρίωση ρύθμισης PKI του Nebula καλύπτει τις ρυθμίσεις που μπορούν να επαναφορτωθούν και τον περιορισμό διεύθυνσης που περιγράφεται εδώ, και αξίζει να τη διαβάσετε ολόκληρη πριν εναλλάξετε οτιδήποτε παραγωγικό.