Παράλειψη στο κύριο περιεχόμενο

Ο σύνδεσμός μου είναι εκτός σύνδεσης

Ένας σύνδεσμος συνήθως αλλάζει σε Online εντός 30 δευτερολέπτων της εγκατάστασης. Εάν δεν συμβεί αυτό, ή εάν ένας προηγουμένως υγιής σύνδεσμος πέσει σε Offline, Degraded, ή Needs recovery, χρησιμοποιήστε αυτό το runbook.

Τι σημαίνει η κατάσταση

  • Offline: ο σύνδεσμος δεν είναι συνδεδεμένος αυτή τη στιγμή, αλλά ενδέχεται να ανακάμψει αυτόματα μετά από παροδική διακοπή δικτύου ή επανεκκίνηση διεργασίας.
  • Degraded: τουλάχιστον ένας runtime path δεν είναι υγιής, αλλά δεν είναι όλα τα paths του συνδέσμου κάτω.
  • Needs recovery: ο σύνδεσμος δεν είναι πλέον σε κανονικό path επανασύνδεσης. Θεωρήστε αυτό ως απώλεια ανθεκτικής ταυτότητας, μη έγκυρο bootstrap fallback, ή άλλη περίπτωση περιορισμένης ανάκαμψης. Ο σύνδεσμος δεν επαναλαμβάνει σιωπηλά το αρχικό bootstrap token σε αυτήν την κατάσταση· αποτυγχάνει κλειστά και περιμένει μια ρητή ροή ανάκαμψης που ξεκινά από τον χειριστή.

Αυτόνομη λειτουργία έναντι καθοδηγούμενης ανάκαμψης

Το πώς ανακάμπτει ο σύνδεσμος από ένα restart εξαρτάται από το εάν υπάρχει ανθεκτική αποθήκευση ταυτότητας.

ΛειτουργίαΘέση αποθήκευσηςΑποτέλεσμα RuntimeΕνέργεια χειριστή
Αυτόνομη λειτουργίαΑνθεκτικό /data ή PAM_AGENT_DATA_DIR είναι προσαρτημένο και άθικτοΟ σύνδεσμος φορτώνει το bundle ταυτότητάς του κατά την εκκίνηση και εκτελεί επανασύνδεση mTLS χωρίς παρέμβαση χειριστήΚανένα
Καθοδηγούμενη ανάκαμψηΚανένα ανθεκτικό /data ή ο όγκος ταυτότητας χάθηκε / δημιουργήθηκε κενόςΟ σύνδεσμος δεν μπορεί να επανασυνδεθεί κανονικά και εισέρχεται στο needs_recovery διατηρώντας τη ρύθμιση συνδέσμου στο επίπεδο ελέγχουΔημιουργία νέου token εγγραφής μίας χρήσης και νέα σύζευξη του συνδέσμου

Ο σύνδεσμος φορτώνει το bundle ταυτότητάς του κατά την εκκίνηση και εκτελεί mTLS επανασύνδεση χωρίς καμία ενέργεια χειριστή σε αυτόνομη λειτουργία. Αυτό είναι το προεπιλεγμένο για σωστά ρυθμισμένες ανάπτυξες VM, Docker και Kubernetes. Restarts, rescheduled pods, και δημιουργία νέων containers όλα έχουν επιτυχία αυτόματα όσο επιζεί ανθεκτική αποθήκευση.

Σε καθοδηγούμενη ανάκαμψη, ο σύνδεσμος δεν έχει τοπική ταυτότητα και δεν μπορεί να επανασυνδεθεί. Η ρύθμιση συνδέσμου -- εκχώρηση org, endpoint ID, και επιτρεπόμενα δίκτυα -- διατηρούνται στο επίπεδο ελέγχου, αλλά απαιτείται νέα εγγραφή. Αυτό είναι η ρητή κατάσταση needs_recovery.

Η συνταξιοδότηση bootstrap συμβαίνει μετά την πρώτη επιτυχή εγγραφή και το πρώτο επιβεβαιωμένο online heartbeat. Μόλις το bundle ταυτότητας του συνδέσμου επιμονεύσει σε ανθεκτική αποθήκευση και το επίπεδο ελέγχου καταγράψει ότι το heartbeat, το bootstrap token καταnalytics και συνταξιοδοτείται. Όλα τα επόμενα restarts πρέπει να χρησιμοποιήσουν την επιμόνευση ταυτότητας για mTLS επανασύνδεση. Δεν υπάρχει path -- σε κανένα από τα δύο modes -- όπου ένας προηγουμένως εγγεγραμμένος σύνδεσμος σιωπηλά πέφτει πίσω στο bootstrap token ως κανονικό restart credential.

Γρήγορες έλεγχοι

  1. Είναι ο host ενεργός; SSH ή RDP στη μηχανή συνδέσμου· επιβεβαιώστε ότι Docker / η εγγενής υπηρεσία τρέχει.
    • Docker: docker ps | grep vaultpam-connector — το container πρέπει να είναι Up.
    • systemd: systemctl status vaultpam-connector.
  2. Μπορεί ο host να φτάσει το επίπεδο ελέγχου; Από τη μηχανή συνδέσμου:
    curl -v https://<control-plane-host>/healthz
    Εάν αποτύχει, έχετε ένα πρόβλημα δικτύου/DNS/firewall. Οι θύρες 443 (control plane HTTPS) και προαιρετικά 51820/udp (VPN reverse tunnel) πρέπει να είναι ανοιχτές εξερχόμενα.
  3. Είναι το enrolment token ακόμα έγκυρο; Τα tokens λήγουν μετά από 4 ώρες εξ ορισμού. Εάν ο σύνδεσμος δεν ήρθε ποτέ online και το token έληξε, δημιουργήστε ένα νέο από Connectors → διαλέξτε σύνδεσμο → Regenerate token.
  4. Χάθηκε η ανθεκτική αποθήκευση ταυτότητας του συνδέσμου; Ένας προηγουμένως συζευγμένος σύνδεσμος θα πρέπει να επανεκκινηθεί από την επιμόνευση ταυτότητας κάτω από /data ή PAM_AGENT_DATA_DIR.
    • Docker: επιβεβαιώστε ότι το container εξακολουθεί να προσαρτά τον ίδιο ονοματισμένο όγκο ή bind mount στο /data.
    • Native / VM: επιβεβαιώστε ότι η υπηρεσία εξακολουθεί να δείχνει στην ίδια ανθεκτική host path και ότι ο χρήστης συνδέσμου μπορεί να την διαβάσει.
    • Kubernetes: επιβεβαιώστε ότι το pod εξακολουθεί να προσαρτά το αναμενόμενο PVC και δεν αναπτύχθηκε ξανά σε emptyDir ή άλλο ephemeral layer.

Προσδιορισμός της κατηγορίας αποτυχίας

1. Αποτυχία bootstrap πρώτης εκκίνησης

Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος δεν συζεύχθηκε ποτέ με επιτυχία.

Κοινά σήματα:

  • ο σύνδεσμος δεν έγινε ποτέ Online
  • τα logs δείχνουν token expiry, token revoke, CSR validation failure, ή CA trust failure
  • το UI εξακολουθεί να δείχνει μια onboarding ή activation κατάσταση αντί για ready

Ανάκαμψη:

  1. Διορθώστε το trust, network, ή token πρόβλημα.
  2. Δημιουργήστε ένα νέο enrollment token εάν το αρχικό έληξε ή ανακλήθηκε.
  3. Δοκιμάστε ξανά τη σύζευξη.

2. Κανονική αποτυχία επανασύνδεσης

Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος συζεύχθηκε πριν και εξακολουθεί να έχει την ανθεκτική του ταυτότητα.

Κοινά σήματα:

  • παροδική Offline μετά από reboot, deploy, ή network flap
  • cp_tunnel_heartbeat_timeouts_total alert activity
  • ο τοπικός κατάλογος δεδομένων είναι ακόμα παρών και αναγνώσιμος

Ανάκαμψη:

  1. Επαναφέρετε την εξερχόμενη HTTPS δυνατότητα φτάσης στο επίπεδο ελέγχου.
  2. Επιβεβαιώστε ότι ο σύνδεσμος εξακολουθεί να έχει το τοπικό bundle ταυτότητάς του σε ανθεκτική αποθήκευση.
  3. Επανεκκινήστε τη διεργασία συνδέσμου ή το pod μία φορά.
  4. Επιβεβαιώστε ότι ο σύνδεσμος επιστρέφει σε Online χωρίς να χρησιμοποιεί ένα νέο enrollment token.

3. Απώλεια ανθεκτικής ταυτότητας ή μη έγκυρο bootstrap fallback

Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος συζεύχθηκε πριν, αλλά τώρα συμπεριφέρεται σαν ένας εντελώς νέος σύνδεσμος.

Κοινά σήματα:

  • UI ή API δείχνει Needs recovery
  • τα logs δείχνουν 401 ENROLLMENT_TOKEN_INVALID μετά από μια προηγουμένως επιτυχή σύζευξη
  • τα enrollment endpoint 401 alerts κορυφώνονται μετά από restart
  • η ανθεκτική αποθήκευση mount αντικαταστάθηκε, αφαιρέθηκε, ή δημιουργήθηκε κενή

Ανάκαμψη:

  1. Σταματήστε τον σύνδεσμο ή κλιμακώστε το pod στο μηδέν πριν αλλάξετε τα credentials.
  2. Δοκιμάστε να επανασυνδέσετε την αρχική ανθεκτική αποθήκευση πρώτα.
  3. Εάν η αρχική ταυτότητα έχει χαθεί, θεωρήστε αυτό ως ελεγχόμενη reprovision:
    • ανακαλέστε το παλιό bootstrap token εάν εξακολουθεί να υπάρχει
    • δημιουργήστε ένα νέο enrollment token μίας χρήσης από το επίπεδο ελέγχου
    • βεβαιωθείτε ότι η ανθεκτική αποθήκευση είναι προσαρτημένη σωστά πριν ξεκινήσετε ξανά
    • συζεύξτε ακριβώς μία φορά με το νέο token
  4. Επιβεβαιώστε ότι τα επόμενα restarts επαναχρησιμοποιούν την επιμόνευση ταυτότητας αντί να ζητούν ένα άλλο token.
  5. Επιβεβαιώστε ότι η διατηρημένη ρύθμιση συνδέσμου εξακολουθεί να είναι παρούσα· εάν η ρύθμιση λείπει, escalate ως ξεχωριστό θέμα ανάπτυξης.

Μην αντιμετωπίσετε τις επαναλαμβανόμενες bootstrap retries ως κανονικό restart path.

Logs προς επιθεώρηση

  • Docker: docker logs -n 200 vaultpam-connector.
  • Native: /var/log/vaultpam/connector.log (Linux) ή %PROGRAMDATA%\VaultPAM\connector.log (Windows).

Συνηθισμένα σφάλματα:

Log fragmentΣημασίαΕπιδιόρθωση
x509: certificate signed by unknown authorityΟ host δεν εμπιστεύεται το CAΕισάγετε το CA cert bundle (/etc/vaultpam/ca.crt) — δείτε το runbook που εκτυπώθηκε κατά την εγκατάσταση
connection refusedΤο δίκτυο αποκλείεταιΕλέγξτε το corporate firewall outbound allowlist
enrolment token revokedΚάποιος κάνε κλικ Revoke στο UIΔημιουργήστε ένα νέο token
401 ENROLLMENT_TOKEN_INVALID μετά ο σύνδεσμος ήταν ήδη συζευγμένος μία φοράΟ σύνδεσμος χάθηκε την επιμόνευση ταυτότητας και έπεσε πίσω στο bootstrapΕπανασυνδέστε τον αρχικό ανθεκτικό κατάλογο δεδομένων εάν είναι διαθέσιμος. Εάν η ταυτότητα χάθηκε, δημιουργήστε ένα νέο token και συζεύξτε ξανά σε ανθεκτική αποθήκευση

Επιβεβαίωση μετά την ανάκαμψη

Μετά από οποιαδήποτε επιδιόρθωση:

  1. Επιβεβαιώστε ότι ο σύνδεσμος φτάνει Online.
  2. Επανεκκινήστε τον σύνδεσμο ακόμα μία φορά.
  3. Επιβεβαιώστε ότι επανασυνδέεται χωρίς ένα νέο enrollment token.
  4. Επιβεβαιώστε ότι η ανθεκτική αποθήκευση path εξακολουθεί να περιέχει την κατάσταση συνδέσμου μετά το restart.
  5. Καταγράψτε τα στοιχεία για ελέγχου:
    • σύνδεσμος κατάσταση πριν και μετά
    • η log line που αποδεικνύει ότι η επανασύνδεση ή ανανέωση είχε επιτυχία
    • οποιεσδήποτε endpoint.cert_renewed ή gateway.enrollment_failed audit entries δεμένες στο incident
    • το όνομα alert και το time window εάν το monitoring ξέσπασε

Ακόμα κολλημένο

Επικοινωνήστε με την υποστήριξη και συμπεριλάβετε: connector version, log tail, output του curl -v https://<control-plane-host>/healthz.

Σχετικά άρθρα