Το SSH δεν ακούει μετά την επανεκκίνηση: η διεύθυνση VPN αργεί
Μια υπηρεσία δεσμευμένη σε διεύθυνση τούνελ χρειάζεται αυτή τη διεύθυνση τη στιγμή της δέσμευσης. Ελέγξτε τον ιδιοκτήτη του ακροατή, τη σειρά εκκίνησης και το σφάλμα δέσμευσης πριν επεξεργαστείτε κλειδιά.
Δεσμεύετε το SSH στη διεύθυνση του τούνελ κατά τη ρύθμιση, λειτουργεί, και μετά την επόμενη επανεκκίνηση κανείς δεν μπορεί να συνδεθεί μέχρι κάποιος να επανεκκινήσει την υπηρεσία με το χέρι. Τα διαπιστευτήρια δεν είναι το πρόβλημα. Ο δαίμονας ζήτησε από τον πυρήνα μια διεύθυνση που δεν υπήρχε ακόμη, η δέσμευση απέτυχε και το μήνυμα πέρασε βιαστικά στο αρχείο εκκίνησης. Αυτό που μοιάζει με πρόβλημα ταυτοποίησης είναι πρόβλημα σειράς εκκίνησης.
Τι λέει στην πραγματικότητα το σφάλμα δέσμευσης
Ένα socket ακρόασης πρέπει να δημιουργηθεί σε μια διεύθυνση που υπάρχει εκείνη τη στιγμή. Όταν η διεπαφή VPN εμφανιστεί αργότερα, ένας δαίμονας ρυθμισμένος να δεσμεύεται μόνο στη διεύθυνση του τούνελ δεν έχει τίποτα να προσκολλήσει. Η διαμόρφωση παραμένει συντακτικά έγκυρη· το περιβάλλον απλώς δεν ήταν έτοιμο. Μια υπηρεσία που τρέχει από χειροκίνητη εκκίνηση δεν διανύει ποτέ τη διαδρομή εκκίνησης, γι' αυτό το σφάλμα εμφανίζεται μόνο στην επόμενη επανεκκίνηση. Συγκρίνετε τη χρονική σήμανση της αποτυχημένης δέσμευσης με τη χρονική σήμανση της εκχώρησης διεύθυνσης και η σειρά γίνεται προφανής.
Η εγκυρότητα της διαμόρφωσης και η ετοιμότητα χρόνου εκτέλεσης είναι ξεχωριστές ιδιότητες. Δοκιμάστε και τις δύο, γιατί η μία αποτυγχάνει χωρίς να πει τίποτα.
Ποια διεργασία κατέχει τη θύρα
Ο δαίμονας δεν είναι πάντα το στοιχείο που δημιουργεί τον ακροατή. Η ενεργοποίηση socket μεταφέρει αυτή την ευθύνη σε μια μονάδα, και τότε η επανεκκίνηση του δαίμονα δεν αλλάζει τίποτα.
ss -ltnp 'sport = :22'
systemctl cat ssh.socketΗ λίστα socket δείχνει ποια διεργασία κρατά τη θύρα και σε ποια διεύθυνση, ενώ η εκτύπωση της μονάδας δείχνει αν υπάρχει καθόλου μονάδα socket. Όταν η ενεργοποίηση είναι σε ισχύ, η διεύθυνση ανήκει στη μονάδα socket και το αρχείο του δαίμονα δεν είναι αυθεντικό. Διαβάστε το αρχείο εκκίνησης για το πραγματικό σφάλμα δέσμευσης αντί να το συμπεράνετε από το σύμπτωμα. Μια απούσα μονάδα socket σημαίνει απλώς την κλασική διάταξη, όπου ο δαίμονας δεσμεύεται απευθείας.
Κάντε την ετοιμότητα ρητή, όχι ύπνο
Μια σταθερή καθυστέρηση είναι μια εικασία που αντιμετωπίζει το γρήγορο υλικό και τα αργά δίκτυα το ίδιο. Εκφράστε την εξάρτηση αντί γι' αυτό: περιμένετε τη διεύθυνση και μετά ξεκινήστε.
ip -4 addr show dev tun0
systemctl edit ssh.serviceΠροσθέστε μια εντολή ExecStartPre που επαναλαμβάνεται μέχρι να εμφανιστεί η διεύθυνση, ή ταξινομήστε τη μονάδα μετά τον συγκεκριμένο στόχο δικτύου που κατέχει τη διεπαφή. Και οι δύο προσεγγίσεις καταγράφουν την εξάρτηση κάπου που μπορεί να διαβάσει ο επόμενος διαχειριστής. Ο βρόχος χρειάζεται χρονικό όριο, αλλιώς ένα αποτυχημένο VPN αφήνει μια μονάδα που κρέμεται αντί να αναφέρει σφάλμα. Στη συνέχεια επιβεβαιώστε ότι ο δαίμονας δεσμεύει τη διεύθυνση του τούνελ ενώ η συνηθισμένη διεπαφή παραμένει υπό τον έλεγχο των κανόνων φιλτραρίσματός σας.
Δοκιμάστε μια καθαρή εκκίνηση και μια επανασύνδεση
Μια χειροκίνητη επανεκκίνηση αφού όλα είναι σε απευθείας σύνδεση δεν αποδεικνύει τίποτα για τη σειρά εκκίνησης. Επανεκκινήστε το μηχάνημα με το τούνελ ρυθμισμένο να ανεβαίνει αυτόματα και παρατηρήστε αν ο ακροατής εμφανίζεται χωρίς παρέμβαση.
systemctl status ssh.service
ss -ltnp 'sport = :22'Στη συνέχεια ρίξτε και επαναφέρετε το τούνελ, γιατί μια επανασύνδεση μπορεί να αλλάξει τη διεύθυνση και μια σκληρά κωδικοποιημένη δέσμευση δεν θα την ακολουθήσει. Κρατήστε μια διαδρομή ανάκτησης εκτός ζώνης κατά τη δοκιμή, ώστε μια κακή αλλαγή σειράς να μην μπορεί να σας κλειδώσει έξω από τον κεντρικό υπολογιστή.
Το κριτήριο επιτυχίας είναι ένας ακροατής που εμφανίζεται κάτω από τη τεκμηριωμένη εξάρτησή του, όχι ένας που κάποιος θυμήθηκε να επανεκκινήσει.