Ο σύνδεσμός μου είναι εκτός σύνδεσης
Ένας σύνδεσμος συνήθως αλλάζει σε 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.
Γρήγορες έλεγχοι
- Είναι ο host ενεργός; SSH ή RDP στη μηχανή συνδέσμου· επιβεβαιώστε ότι Docker / η εγγενής υπηρεσία τρέχει.
- Docker:
docker ps | grep vaultpam-connector— το container πρέπει να είναιUp. - systemd:
systemctl status vaultpam-connector.
- Docker:
- Μπορεί ο host να φτάσει το επίπεδο ελέγχου; Από τη μηχανή συνδέσμου:
Εάν αποτύχει, έχετε ένα πρόβλημα δικτύου/DNS/firewall. Οι θύρες 443 (control plane HTTPS) και προαιρετικά 51820/udp (VPN reverse tunnel) πρέπει να είναι ανοιχτές εξερχόμενα.curl -v https://<control-plane-host>/healthz
- Είναι το enrolment token ακόμα έγκυρο; Τα tokens λήγουν μετά από 4 ώρες εξ ορισμού. Εάν ο σύνδεσμος δεν ήρθε ποτέ online και το token έληξε, δημιουργήστε ένα νέο από Connectors → διαλέξτε σύνδεσμο → Regenerate token.
- Χάθηκε η ανθεκτική αποθήκευση ταυτότητας του συνδέσμου; Ένας προηγουμένως συζευγμένος σύνδεσμος θα πρέπει να επανεκκινηθεί από την επιμόνευση ταυτότητας κάτω από
/dataήPAM_AGENT_DATA_DIR.- Docker: επιβεβαιώστε ότι το container εξακολουθεί να προσαρτά τον ίδιο ονοματισμένο όγκο ή bind mount στο
/data. - Native / VM: επιβεβαιώστε ότι η υπηρεσία εξακολουθεί να δείχνει στην ίδια ανθεκτική host path και ότι ο χρήστης συνδέσμου μπορεί να την διαβάσει.
- Kubernetes: επιβεβαιώστε ότι το pod εξακολουθεί να προσαρτά το αναμενόμενο PVC και δεν αναπτύχθηκε ξανά σε
emptyDirή άλλο ephemeral layer.
- Docker: επιβεβαιώστε ότι το container εξακολουθεί να προσαρτά τον ίδιο ονοματισμένο όγκο ή bind mount στο
Προσδιορισμός της κατηγορίας αποτυχίας
1. Αποτυχία bootstrap πρώτης εκκίνησης
Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος δεν συζεύχθηκε ποτέ με επιτυχία.
Κοινά σήματα:
- ο σύνδεσμος δεν έγινε ποτέ
Online - τα logs δείχνουν token expiry, token revoke, CSR validation failure, ή CA trust failure
- το UI εξακολουθεί να δείχνει μια onboarding ή activation κατάσταση αντί για
ready
Ανάκαμψη:
- Διορθώστε το trust, network, ή token πρόβλημα.
- Δημιουργήστε ένα νέο enrollment token εάν το αρχικό έληξε ή ανακλήθηκε.
- Δοκιμάστε ξανά τη σύζευξη.
2. Κανονική αποτυχία επανασύνδεσης
Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος συζεύχθηκε πριν και εξακολουθεί να έχει την ανθεκτική του ταυτότητα.
Κοινά σήματα:
- παροδική
Offlineμετά από reboot, deploy, ή network flap cp_tunnel_heartbeat_timeouts_totalalert activity- ο τοπικός κατάλογος δεδομένων είναι ακόμα παρών και αναγνώσιμος
Ανάκαμψη:
- Επαναφέρετε την εξερχόμενη HTTPS δυνατότητα φτάσης στο επίπεδο ελέγχου.
- Επιβεβαιώστε ότι ο σύνδεσμος εξακολουθεί να έχει το τοπικό bundle ταυτότητάς του σε ανθεκτική αποθήκευση.
- Επανεκκινήστε τη διεργασία συνδέσμου ή το pod μία φορά.
- Επιβεβαιώστε ότι ο σύνδεσμος επιστρέφει σε
Onlineχωρίς να χρησιμοποιεί ένα νέο enrollment token.
3. Απώλεια ανθεκτικής ταυτότητας ή μη έγκυρο bootstrap fallback
Χρησιμοποιήστε αυτό το branch εάν ο σύνδεσμος συζεύχθηκε πριν, αλλά τώρα συμπεριφέρεται σαν ένας εντελώς νέος σύνδεσμος.
Κοινά σήματα:
- UI ή API δείχνει
Needs recovery - τα logs δείχνουν
401 ENROLLMENT_TOKEN_INVALIDμετά από μια προηγουμένως επιτυχή σύζευξη - τα enrollment endpoint 401 alerts κορυφώνονται μετά από restart
- η ανθεκτική αποθήκευση mount αντικαταστάθηκε, αφαιρέθηκε, ή δημιουργήθηκε κενή
Ανάκαμψη:
- Σταματήστε τον σύνδεσμο ή κλιμακώστε το pod στο μηδέν πριν αλλάξετε τα credentials.
- Δοκιμάστε να επανασυνδέσετε την αρχική ανθεκτική αποθήκευση πρώτα.
- Εάν η αρχική ταυτότητα έχει χαθεί, θεωρήστε αυτό ως ελεγχόμενη reprovision:
- ανακαλέστε το παλιό bootstrap token εάν εξακολουθεί να υπάρχει
- δημιουργήστε ένα νέο enrollment token μίας χρήσης από το επίπεδο ελέγχου
- βεβαιωθείτε ότι η ανθεκτική αποθήκευση είναι προσαρτημένη σωστά πριν ξεκινήσετε ξανά
- συζεύξτε ακριβώς μία φορά με το νέο token
- Επιβεβαιώστε ότι τα επόμενα restarts επαναχρησιμοποιούν την επιμόνευση ταυτότητας αντί να ζητούν ένα άλλο token.
- Επιβεβαιώστε ότι η διατηρημένη ρύθμιση συνδέσμου εξακολουθεί να είναι παρούσα· εάν η ρύθμιση λείπει, 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 και συζεύξτε ξανά σε ανθεκτική αποθήκευση |
Επιβεβαίωση μετά την ανάκαμψη
Μετά από οποιαδήποτε επιδιόρθωση:
- Επιβεβαιώστε ότι ο σύνδεσμος φτάνει
Online. - Επανεκκινήστε τον σύνδεσμο ακόμα μία φορά.
- Επιβεβαιώστε ότι επανασυνδέεται χωρίς ένα νέο enrollment token.
- Επιβεβαιώστε ότι η ανθεκτική αποθήκευση path εξακολουθεί να περιέχει την κατάσταση συνδέσμου μετά το restart.
- Καταγράψτε τα στοιχεία για ελέγχου:
- σύνδεσμος κατάσταση πριν και μετά
- η log line που αποδεικνύει ότι η επανασύνδεση ή ανανέωση είχε επιτυχία
- οποιεσδήποτε
endpoint.cert_renewedήgateway.enrollment_failedaudit entries δεμένες στο incident - το όνομα alert και το time window εάν το monitoring ξέσπασε
Ακόμα κολλημένο
Επικοινωνήστε με την υποστήριξη και συμπεριλάβετε: connector version, log tail, output του curl -v https://<control-plane-host>/healthz.