OpenVPN Access Server: επανεκκίνηση του δαίμονα ή εφαρμογή της ρύθμισης
Το systemctl restart openvpnas επανεκκινεί τον δαίμονα, το sacli start σηκώνει τις εσωτερικές υπηρεσίες. Ακολουθήστε ό,τι λέει η τεκμηρίωση της ρύθμισης και μετά επαληθεύστε κάτι παραπάνω από active.
Δύο εντολές επικολλώνται για αυτό που μοιάζει με την ίδια δουλειά στο OpenVPN Access Server, και κάνουν διαφορετικά πράγματα. Το systemctl restart openvpnas σταματά και ξεκινά ολόκληρο το προϊόν. Το sacli start σηκώνει τις εσωτερικές υπηρεσίες που διαβάζουν τη διαμόρφωση που μόλις αλλάξατε. Η επιλογή ανάμεσά τους δεν είναι θέμα γούστου: εξαρτάται από το τι λέει η τεκμηρίωση της ίδιας της ρύθμισης, από το αν η συνεδρία σας περνά από τον διακομιστή που πρόκειται να επανεκκινήσετε και από το αν κοιτάτε καν το σωστό προϊόν.
Δύο επίπεδα, ένας δαίμονας
Το Access Server τρέχει ως μία μονάδα systemd, το openvpnas, και αυτός ο δαίμονας επιβλέπει τις εσωτερικές υπηρεσίες πίσω από τη διεπαφή ιστού και τους ακροατές VPN. Το sacli είναι η διεπαφή γραμμής εντολών προς την ίδια εγκατάσταση, στο /usr/local/openvpn_as/scripts/sacli, και μπορεί να ξεκινά, να σταματά και να ερωτά αυτά τα εσωτερικά στοιχεία χωρίς να αντικαθιστά τη μονάδα.
Γι αυτό υπάρχουν και οι δύο εντολές. Μια επανεκκίνηση του δαίμονα εκτελεί ξανά τα πάντα, μαζί με τη διεργασία που τερματίζει τις σήραγγες των πελατών. Το sacli start ζητά από τον ήδη εκτελούμενο δαίμονα να σηκώσει τα στοιχεία του ώστε να διαβάσουν τη νέα διαμόρφωση, και αυτό απαιτούν στην πράξη οι περισσότερες αλλαγές ιδιοτήτων.
Πρώτη συνθήκη: τι λέει η τεκμηρίωση της ρύθμισης
Διαβάστε τη σελίδα της ρύθμισης που αλλάξατε, όχι μιας ρύθμισης που αλλάξατε τον περασμένο μήνα. Μετά από μια ιδιότητα που γράφτηκε μέσω ConfigPut ακολουθεί συνήθως sacli start, και αυτό το ζεύγος είναι το τεκμηριωμένο βήμα εφαρμογής. Μια αλλαγή στη συμπεριφορά σε επίπεδο ακροατή, ή οτιδήποτε η σελίδα περιγράφει ως απαιτούν επανεκκίνηση υπηρεσίας, είναι η κατηγορία όπου η επανεκκίνηση της μονάδας είναι σωστή.
Οι δύο εντολές δεν είναι εναλλάξιμες, οπότε ο τρόπος αποτυχίας όταν μαντεύετε είναι ασύμμετρος. Η χρήση sacli start όταν χρειαζόταν πλήρης επανεκκίνηση αφήνει μια παλιά διεργασία να εξυπηρετεί την προηγούμενη διαμόρφωση, κάτι που μοιάζει σαν να αγνοήθηκε η ρύθμιση. Μια πλήρης επανεκκίνηση όταν θα αρκούσε το sacli start πετά έξω κάθε συνδεδεμένο πελάτη χωρίς λόγο.
Δεύτερη συνθήκη: είναι η συνεδρία σας μέσα στη σήραγγα
Αν διαχειρίζεστε το Access Server μέσω του VPN που παρέχει, η επανεκκίνηση αφαιρεί τη σύνδεση που μεταφέρει το shell σας. Η εντολή μπορεί να ολοκληρωθεί αφού πεθάνει η συνεδρία σας, κι έτσι μαντεύετε αν δούλεψε. Το sacli start μπορεί επίσης να διακόψει μια συνεδρία στιγμιαία για τον ίδιο λόγο όταν το στοιχείο που επανεκκινείται χειρίζεται την κίνησή σας.
Κρατήστε ανοιχτή μια διαδρομή εκτός ζώνης πριν από οποιαδήποτε από τις δύο εντολές: μια κονσόλα παρόχου, μια κονσόλα hypervisor ή μια σειριακή συνεδρία. Αυτή η συνθήκη καθορίζει πότε εκτελείτε την εντολή, όχι ποια εντολή, και είναι αυτή που μετατρέπει μια αλλαγή δύο λεπτών σε αναφορά διακοπής.
Τρίτη συνθήκη: είναι αυτό το προϊόν που νομίζετε
Το Access Server δεν είναι Community OpenVPN. Μια εγκατάσταση κοινότητας τρέχει μονάδες όπως openvpn@server ή openvpn-client@profile, με διαμόρφωση στο /etc/openvpn, και το sacli δεν υπάρχει εκεί. Το να επανεκκινήσετε κάθε μονάδα με openvpn στο όνομά της σε έναν κοινόχρηστο κεντρικό υπολογιστή είναι ο τρόπος με τον οποίο άσχετες σήραγγες πέφτουν μαζί.
Προσδιορίστε πριν αγγίξετε οτιδήποτε: το systemctl status openvpnas --no-pager απαντά αν το Access Server είναι αυτό που τρέχει, το sacli status απαριθμεί τα εσωτερικά στοιχεία του, και το systemctl list-units --type=service απαριθμεί μονάδες των οποίων τα ονόματα περιέχουν openvpn. Αν η τελευταία εντολή δείχνει μονάδες με ονόματα προφίλ, είστε στο προϊόν κοινότητας και το υπόλοιπο δεν σας αφορά.
Εφαρμόστε το και μετά επαληθεύστε πέρα από το active
Μια μονάδα που αναφέρει active έχει μια διεργασία σε λειτουργία, που δεν είναι το ίδιο με μια διαδρομή ταυτοποίησης που δουλεύει. Μετά το βήμα εφαρμογής, ελέγξτε το sacli status για τα στοιχεία που περιμένατε να επανεκκινήσουν, επιβεβαιώστε ότι η τιμή αποθηκεύτηκε με το sacli ConfigQuery, και μετά εκτελέστε μία περιορισμένη σύνδεση πελάτη με δοκιμαστικό λογαριασμό.
Τελειώστε με κάτι σε επίπεδο εφαρμογής: φτάστε σε έναν ιδιωτικό πόρο μέσω της σήραγγας, όχι απλώς ένα ping στη δημόσια διεύθυνση του διακομιστή. Μια χειραψία που πετυχαίνει ενώ η διαδρομή που προωθήθηκε ή η ρύθμιση DNS είναι λάθος θα περάσει κάθε έλεγχο υπηρεσίας και πάλι θα απογοητεύσει το άτομο που ανέφερε το πρόβλημα.
Το το σεμινάριο του παρόχου για τη διαχείριση υπηρεσιών είναι η αναφορά για το ποιες λειτουργίες ανήκουν στο sacli, και αξίζει να το ανοίξετε πριν αποφασίσετε ότι η επανεκκίνηση είναι η ασφαλής επιλογή.
Η απόφαση σε ένα πέρασμα
Διατρέξτε αυτές τις τέσσερις γραμμές και σταματήστε στην πρώτη που ταιριάζει:
- Η σελίδα της ρύθμισης αναφέρει sacli start, ή μόλις εκτελέσατε ConfigPut: χρησιμοποιήστε sacli start.
- Η σελίδα απαιτεί επανεκκίνηση, ή η αλλαγή αγγίζει ακροατές και όχι ιδιότητες: χρησιμοποιήστε systemctl restart openvpnas.
- Το shell σας φτάνει μέσω αυτού του διακομιστή: κανονίστε πρώτα πρόσβαση στην κονσόλα και μετά εκτελέστε όποια εντολή επέλεξαν οι δύο γραμμές πιο πάνω.
- Επαλήθευση: sacli status, ConfigQuery για την τιμή, μία σύνδεση, ένας ιδιωτικός πόρος. Η κατάσταση υπηρεσίας μόνη της δεν είναι η γραμμή τερματισμού.
Δύο από αυτές τις γραμμές είναι έλεγχοι και δύο είναι ενέργειες, και αυτό είναι το νόημα της σειράς. Αν δεν μπορείτε να απαντήσετε στο ερώτημα του προϊόντος, σταματήστε: η εντολή που επρόκειτο να εκτελέσετε ανήκει σε άλλη εγκατάσταση, και η σήραγγα που θα ρίξετε δεν θα είναι αυτή που εννοούσατε.