Ένα στιγμιότυπο OpenVPN εμφανίζεται κατά την εκκίνηση με ένα όνομα που δεν αναγνωρίζετε, και η διακοπή του λειτουργεί μέχρι την επόμενη επανεκκίνηση. Αυτό το μοτίβο σημαίνει ότι αφαιρέσατε τη διεργασία αλλά όχι την ενεργοποίηση. Είναι δύο διαφορετικά αντικείμενα, και μόνο ένα από αυτά είναι ορατό σε μια οθόνη κατάστασης. Η εύρεση της ενεργοποίησης απαιτεί τέσσερις εντολές μόνο για ανάγνωση και μία απόφαση.

Ονομάστε πρώτα την ακριβή μονάδα

Ξεκινήστε από το όνομα της μονάδας στο journal και όχι από το όνομα ενός αρχείου προφίλ. Το στιγμιότυπο μπορεί να λέγεται openvpn@, openvpn-client@, openvpn-server@ ή κάτι ειδικό για τη διανομή, και η μαντεψιά του ονόματος σας οδηγεί στο λάθος πρότυπο. Η έξοδος κατάστασης ονομάζει τη μονάδα που εκτελέστηκε πραγματικά, και αυτό είναι το μόνο όνομα που έχει σημασία εδώ. Αντιγράψτε το ακριβώς, μαζί με οποιοδήποτε επίθημα.

Οι ακόλουθες εντολές περιγράφουν αυτή τη μονάδα χωρίς να αλλάζουν τίποτα. Το systemctl show αναφέρει τη διαδρομή του τμήματος, τη διαδρομή προέλευσης, την κατάσταση του αρχείου μονάδας, τυχόν drop-in και τι την ενεργοποίησε. Το list-dependencies --reverse δείχνει ποιες φορτωμένες μονάδες δείχνουν προς αυτήν. Και τα δύο είναι μόνο για ανάγνωση, οπότε εκτελέστε τα πριν σχηματίσετε θεωρία.

Αντικαταστήστε το παρατηρούμενο όνομα παντού. Ένα αντιγραμμένο όνομα παραδείγματος είναι ο πιο συνηθισμένος τρόπος να ερευνήσετε τη λάθος υπηρεσία, και δίνει σίγουρες απαντήσεις για μια μονάδα που δεν εκτελέστηκε ποτέ.

Διαβάστε το πρότυπο για να μάθετε το όνομα του αρχείου

Μια μονάδα στιγμιότυπου είναι επέκταση ενός προτύπου, και το πρότυπο αποφασίζει ποιο αρχείο ρυθμίσεων διαβάζει. Μια γραμμή εντολών που τελειώνει σε σύμβολο θέσης ειδικό για το στιγμιότυπο επιλύεται σε όνομα στιγμιότυπου συν το επίθημα. Αν το επίθημα είναι .conf και το στιγμιότυπο λέγεται old, το αρχείο είναι old.conf. Αν ονομάσετε το στιγμιότυπο old.conf, το ίδιο πρότυπο ζητά old.conf.conf.

Αυτή η λεπτομέρεια εξηγεί μια κατηγορία διπλοτύπων. Κάποιος προσθέτει ένα δεύτερο στιγμιότυπο με λάθος όνομα, το πρώτο συνεχίζει να εκτελείται, και ο κεντρικός υπολογιστής καταλήγει με δύο τούνελ και ένα μπερδεμένο αρχείο καταγραφής.

Διαβάστε το ενεργό πρότυπο και όχι το αρχείο που θυμάστε ότι επεξεργαστήκατε. Ένα drop-in μπορεί να αντικαταστήσει τη γραμμή εντολών, και αυτό που εκτελείται στην εκκίνηση είναι η αντικατάσταση.

Εντοπίστε πώς εισέρχεται στη συναλλαγή εκκίνησης

Τρεις διαδρομές είναι συνηθισμένες: ένας σύνδεσμος wants από έναν στόχο, μια απαίτηση από άλλη μονάδα ή μια παραγόμενη μονάδα από γεννήτρια πακέτων. Η λίστα αντίστροφων εξαρτήσεων καλύπτει τις δύο πρώτες ως φορτωμένες εγγραφές γράφου. Δεν καλύπτει χρονόμετρο, άγκιστρο ή εξωτερικό αίτημα, γι' αυτό η λίστα είναι απόδειξη και όχι πλήρης έλεγχος.

Η παραγόμενη έξοδος κάτω από το /run/systemd/generator είναι προϊόν, όχι πηγή. Η επεξεργασία της επιβιώνει μόνο μέχρι την επόμενη παραγωγή, γι' αυτό μια διόρθωση που εφαρμόζεται εκεί φαίνεται επιτυχής και μετά επανέρχεται.

Ελέγξτε την τεκμηριωμένη είσοδο του πακέτου πριν υποθέσετε από πού διαβάζει η γεννήτρια. Μια μη τεκμηριωμένη σάρωση καταλόγου είναι ο συνηθισμένος λόγος που μια μονάδα εμφανίζεται χωρίς σύνδεσμο ενεργοποίησης.

Αφαιρέστε την ενεργοποίηση, όχι μόνο τη διεργασία

Αν το στιγμιότυπο είναι άμεσα ενεργοποιημένο και πραγματικά παρωχημένο, το systemctl disable --now το σταματά και αφαιρεί τον σύνδεσμο εκκίνησης σε ένα βήμα. Ελέγξτε πρώτα ότι αυτό το τούνελ δεν είναι η μόνη διαχειριστική διαδρομή σας προς τον κεντρικό υπολογιστή. Η εντολή είναι παράδειγμα κύκλου ζωής, όχι πρόταση να σταματήσετε κάθε VPN στο μηχάνημα. Εκτελέστε τον έλεγχο πριν από την εντολή, όχι μετά.

Τα δύο μισά είναι διαχωρίσιμα και συχνά συγχέονται. Η απενεργοποίηση δεν σταματά μια εκτελούμενη υπηρεσία, και η διακοπή δεν αφαιρεί την ενεργοποίηση, οπότε μια μερική εντολή εξηγεί ένα πρόβλημα που επανέρχεται στην εκκίνηση.

Μια απενεργοποιημένη μονάδα μπορεί ακόμη να εκκινηθεί από άλλη μονάδα ή από ρητό αίτημα. Όταν η γεννήτρια κατέχει την ενεργοποίηση, διορθώστε την είσοδό της αντί να απενεργοποιήσετε την έξοδό της. Η συγκάλυψη μπλοκάρει περισσότερες διαδρομές αλλά μπορεί να σπάσει εξαρτήσεις, οπότε δεν αντικαθιστά την κατανόηση.

Επαληθεύστε με επανεκκίνηση, όχι με οθόνη κατάστασης

Επαναφορτώστε το systemd αν άλλαξαν οι ορισμοί μονάδων ή οι είσοδοι της γεννήτριας, και μετά εξετάστε την προκύπτουσα κατάσταση. Η επαναφόρτωση του δαίμονα δεν σπρώχνει νέο προφίλ σε ένα εκτελούμενο τούνελ, οπότε οι δύο έλεγχοι είναι ξεχωριστοί. Προγραμματίστε επανεκκίνηση και επιβεβαιώστε ότι το στιγμιότυπο παραμένει απόν ενώ το επιδιωκόμενο τούνελ εξακολουθεί να λειτουργεί.

Κρατήστε το παλιό προφίλ μέχρι να γίνει κατανοητή η ιδιοκτησία του, και μετά αποσύρετέ το μέσω της προβλεπόμενης διαδικασίας. Επιτυχία είναι μια απούσα μονάδα και μια λειτουργική διαδρομή πρόσβασης, όχι μια αποτυχημένη μονάδα που λείπει από μια οθόνη.

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