Σταματήστε τη σωστή σύνδεση OpenVPN: foreground, systemd ή NM
Η εντολή που αποσυνδέει μια σήραγγα εξαρτάται από το ποιος την ξεκίνησε. Συγκρίνετε τους ιδιοκτήτες foreground, systemd, NetworkManager και OpenVPN 3 πριν στείλετε σήμα.
Το κλείσιμο ενός παραθύρου τερματικού δεν είναι το ίδιο με το κλείσιμο μιας σήραγγας, και το σκότωμα μιας διεργασίας δεν είναι το ίδιο με το σταμάτημα μιας υπηρεσίας. Στο Linux η εντολή που πραγματικά αποσυνδέει εξαρτάται από ποιο στοιχείο ξεκίνησε τη σύνδεση και επομένως κατέχει τον κύκλο ζωής της. Η σύγκριση παρακάτω καλύπτει τις τέσσερις διατάξεις που θα συναντήσετε πιθανότατα, και το αναγνωριστικό που χρειάζεται καθεμία.
Πελάτες foreground και δαιμονοποιημένοι πελάτες
Ένας πελάτης που ξεκίνησε με το χέρι σε τερματικό ανήκει σε εκείνο το τερματικό. Το Ctrl+C στέλνει διακοπή, ο πελάτης κατεδαφίζει τη διεπαφή του και η σήραγγα τελειώνει. Δεν χρειάζεται να ειδοποιηθεί τίποτα άλλο.
Ένας πελάτης που ξεκίνησε μέσω περιτυλίγματος κελύφους και έμεινε στο παρασκήνιο δεν ανήκει σε κανέναν συγκεκριμένα, και αυτή είναι η περίπτωση όπου οι άνθρωποι καταφεύγουν στο killall. Βρείτε πρώτα τη διεργασία, επιβεβαιώστε ότι η γραμμή εντολών της αναφέρει το προφίλ που εννοείτε, και μετά στείλτε το κανονικό σήμα τερματισμού. Μια εποπτευόμενη διεργασία που σκοτώνεται κάτω από τον επόπτη της θα απλώς επανεκκινηθεί, γι' αυτό ο εντοπισμός του ιδιοκτήτη έχει μεγαλύτερη σημασία από την επιλογή σήματος. Στείλτε σήμα στην ομάδα διεργασιών μόνο όταν έχετε επιβεβαιώσει ότι καμία άλλη σήραγγα δεν τη μοιράζεται.
Το SIGUSR1 δεν είναι αποσύνδεση· ζητά από τον πελάτη να επανεκκινήσει τη σήραγγα.
Στιγμιότυπα systemd
Όταν μια μονάδα κατέχει τη σύνδεση, η μονάδα είναι το αντικείμενο που πρέπει να σταματήσει. Τα στιγμιότυπα προτύπων όπως το openvpn-client@office φέρουν το όνομα του προφίλ, και το σταμάτημα του στόχου προτύπου αντί του στιγμιοτύπου μπορεί να επηρεάσει κάθε πελάτη στον κεντρικό υπολογιστή.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Διαβάστε το ExecStart της μονάδας όταν δεν είστε σίγουροι ποιο προφίλ φόρτωσε το στιγμιότυπο.
Μια μονάδα που είναι ενεργοποιημένη θα επιστρέψει στην επόμενη εκκίνηση, που είναι ξεχωριστή απόφαση από το σταμάτημά της τώρα. Απενεργοποιήστε την μόνο αφού αποφασίσετε ότι η σύνδεση δεν πρέπει να επιστρέψει, και καταγράψτε αυτή την απόφαση εκεί όπου θα τη βρει ο επόμενος διαχειριστής.
Προφίλ NetworkManager
Ένα προφίλ που διαχειρίζεται το NetworkManager δεν είναι διεργασία στην οποία μπορείτε να στείλετε σήμα. Ο διαχειριστής κατέχει τον κύκλο ζωής, και το αντικείμενο στο οποίο πρέπει να ενεργήσετε είναι η ενεργή σύνδεση, που αναγνωρίζεται από το UUID και όχι από το εμφανιζόμενο όνομα. Η ανάγνωση της ενεργής λίστας πρώτα δείχνει επίσης αν τρέχει δεύτερη σήραγγα με όνομα που δεν περιμένατε.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Τα εμφανιζόμενα ονόματα επαναλαμβάνονται, και το όνομα ενός αρχείου προφίλ δεν είναι το αναγνωριστικό του, οπότε αντιγράψτε το UUID από τη λίστα. Αν η σύνδεση επιστρέψει αμέσως, κάτι την ενεργοποιεί: μια καταχώριση secondaries σε μια βασική σύνδεση, ένα σκριπτ dispatcher ή μια σημαία αυτόματης σύνδεσης. Το σταμάτημα της σύνδεσης του διαχειριστή είναι το σωστό πρώτο βήμα, και η επανενεργοποίηση είναι το επόμενο ερώτημα. Μη διαγράψετε το προφίλ για να σταματήσετε την επανενεργοποίηση, γιατί αυτό αφαιρεί και τα διαπιστευτήρια που μπορεί να χρειαστείτε αύριο.
Η αναφορά εντολών του διαχειριστή τεκμηριώνει πώς επιλέγεται ένας στόχος down.
Συνεδρίες OpenVPN 3
Το OpenVPN 3 Linux χρησιμοποιεί μοντέλο συνεδριών αντί για διεργασία ανά σήραγγα. Εξετάζετε τις συνεδρίες που γνωρίζει η υπηρεσία και μετά ενεργείτε σε μία διαδρομή συνεδρίας. Η διαδρομή είναι το αναγνωριστικό, και δεν ανταλλάσσεται με όνομα διαμόρφωσης.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Η αποσύνδεση κάθε συνεδρίας είναι διαφορετική ενέργεια, και θα πρέπει να είναι σκόπιμη.
Ο ίδιος κεντρικός υπολογιστής μπορεί να έχει συνεδρίες από πολλούς χρήστες, οπότε καταγράψτε τις πριν ενεργήσετε και επιβεβαιώστε τον ιδιοκτήτη της συνεδρίας που πρόκειται να τερματίσετε.
Τι να επαληθεύσετε μετά
Ελέγξτε τρία πράγματα μετά από οποιοδήποτε από αυτά τα σταματήματα: η λίστα ενεργών συνδέσεων δεν περιέχει πλέον τη σήραγγα, η διεπαφή έχει φύγει, και μια αναζήτηση διαδρομής για εσωτερική διεύθυνση δεν επιλέγει πλέον συσκευή σήραγγας. Μετά αποφασίστε τι συμβαίνει στην επόμενη εκκίνηση.
ip -brief address
ip route get 10.8.0.1
Η αφαίρεση μιας διεπαφής με το χέρι δεν σταματά τον ιδιοκτήτη, και αφήνει τον καθαρισμό μισοτελειωμένο.
Η αποσύνδεση τώρα, η αποτροπή της επόμενης αυτόματης εκκίνησης και η άδεια κίνησης εκτός VPN μετά είναι τρεις ξεχωριστές επιλογές. Κάντε καθεμία ρητά.