Διαδρομή συσκευής OpenVPN: ιδιοκτήτης ρυθμίσεων ή σενάριο εκκίνησης;
Μια διαδρομή υποκαταστήματος που επιβιώνει από μια επανεκκίνηση μπορεί ακόμη να εξαφανιστεί μετά από αποθήκευση στο GUI ή ενημέρωση υλικολογισμικού. Συγκρίνετε τον υποστηριζόμενο ιδιοκτήτη ρυθμίσεων με ένα σενάριο επιδιορθώσεων.
Προσθέτετε μια διαδρομή υποκαταστήματος, λειτουργεί, και μετά μια ενημέρωση υλικολογισμικού ή μια αποθήκευση από τη διεπαφή ιστού την αφαιρεί. Δύο διορθώσεις φαίνονται εξίσου λογικές εκείνη τη στιγμή: να βάλετε τη διαδρομή στην υποστηριζόμενη πηγή ρυθμίσεων της συσκευής ή να την προσαρτήσετε στο παραγόμενο αρχείο από ένα σενάριο εκκίνησης. Συμπεριφέρονται το ίδιο για μια εβδομάδα και αποκλίνουν στη δεύτερη αναβάθμιση. Αυτό το άρθρο συγκρίνει τι πραγματικά κατέχει το καθένα.
Οι δύο υποψήφιοι κατέχουν διαφορετικά πράγματα
Η υποστηριζόμενη πηγή ρυθμίσεων είναι ό,τι η συσκευή αντιμετωπίζει ως είσοδο: ένα πεδίο GUI, ένα εισαγόμενο προφίλ, ένας τεκμηριωμένος κατάλογος ανά πελάτη, μια βάση ρυθμίσεων που διαβάζει το πακέτο διαχείρισης. Το παραγόμενο server.conf είναι έξοδος. Η επεξεργασία της εξόδου λειτουργεί έως ότου η γεννήτρια εκτελεστεί ξανά, κάτι που συμβαίνει στην αποθήκευση, στην επανεκκίνηση και στην αναβάθμιση.
Η προσέγγιση με σενάριο επιδιορθώνει αυτή την έξοδο αφού τελειώσει η γεννήτρια. Είναι θεμιτή τεχνική για εργαστήριο, και είναι η λάθος προεπιλογή για υποκατάστημα, επειδή κάνει τη διαδρομή να εξαρτάται από αντιστοίχιση κειμένου αντί για τεκμηριωμένο πεδίο.
| Question | Supported config source | Post-generation script |
|---|---|---|
| Survives a GUI save | Yes | Only if the save does not regenerate the file |
| Survives a package upgrade | Usually, when the field is documented | No guarantee; the wrapper can be replaced |
| Supportable by the vendor | Yes | No |
| Obvious to the next admin | Yes, it is in the UI | No, it lives in a wrapper |
Τι αναπαράγει η συσκευή, και πότε
Τα πακέτα διαχείρισης συνήθως κρατούν ρυθμίσεις σε βάση δεδομένων ή σύνολο προτύπων και παράγουν τη διαμόρφωση του δαίμονα κατά την εκκίνηση. Μια αποθήκευση από τη διεπαφή ιστού συχνά ξαναγράφει ολόκληρο το αρχείο αντί να επιδιορθώσει μια γραμμή. Αν η αλλαγή σας ζούσε σε εκείνο το αρχείο, τώρα έφυγε, και τίποτα δεν καταγράφει προειδοποίηση, γιατί από την οπτική της συσκευής δεν χάθηκε τίποτα.
Τα περιτυλίγματα εκκίνησης έχουν δεύτερο τρόπο αποτυχίας. Ένα grep για οδηγία με συγκεκριμένη απόσταση παύει να αντιστοιχεί μετά από αλλαγή προτύπου, και το σενάριο σιωπηλά δεν κάνει τίποτα. Ακόμη χειρότερα, μια ενημέρωση υλικολογισμικού μπορεί να αντικαταστήσει το περιτύλιγμα με νέα έκδοση, παίρνοντας μαζί την επιδιόρθωση. Τότε έχετε μια διαδρομή που υπήρχε για ένα χρόνο και εξαφανίστηκε κατά τη διάρκεια συντήρησης που κανείς δεν συνέδεσε με τη δρομολόγηση.
Τι πρέπει να εκφράζει ο υποστηριζόμενος ιδιοκτήτης
Ένα πρόθεμα υποκαταστήματος χρειάζεται τρεις δηλώσεις, όχι μία. Ο πελάτης πρέπει να μάθει τη διαδρομή, ο διακομιστής πρέπει να ξέρει ποιος πιστοποιημένος πελάτης κατέχει το πρόθεμα, και η πλευρά του υποκαταστήματος πρέπει να επιστρέφει την κίνηση στη διεύθυνση σήραγγας που της δόθηκε. Σε όρους OpenVPN αυτό σημαίνει ένα ωθούμενο route, ένα αντίστοιχο iroute δεμένο στον πελάτη, και μια διαδρομή επιστροφής στην άλλη πλευρά.
Εδώ οι διεπαφές συσκευών παραπλανούν. Ένα πλαίσιο ελέγχου με ετικέτα «να επιτρέπεται στους πελάτες η πρόσβαση στο LAN του διακομιστή» περιγράφει κίνηση προς το δικό του δίκτυο του διακομιστή. Το υποκατάστημά σας είναι η αντίθετη κατεύθυνση: ένα δίκτυο πίσω από έναν πελάτη, προσβάσιμο από την πλευρά του διακομιστή. Η ίδια ετικέτα δεν υπονοεί υποστήριξη γι' αυτό, και μια έγκυρη οδηγία σε αρχείο δεν είναι υπόσχεση ότι το πακέτο θα τη διατηρήσει.
Όταν δεν υπάρχει υποστηριζόμενος έλεγχος
Μερικές φορές η εγκατεστημένη έκδοση πραγματικά δεν μπορεί να εκφράσει διαδρομή ειδική για ομότιμο. Τότε οι έντιμες επιλογές είναι μια άλλη πύλη που ελέγχετε εσείς, ή μια υποστηριζόμενη λειτουργία τοποθεσίας-σε-τοποθεσία στα δύο άκρα. Και τα δύο άκρα πρέπει να τη μιλούν. Μια σελίδα προϊόντος που λέει τοποθεσία-σε-τοποθεσία δεν κάνει ένα αυθαίρετο προφίλ OpenVPN ανταλλάξιμο με τη σήραγγα άλλου πρωτοκόλλου, και η επιβολή αυτού του ζεύγους συνήθως παράγει μια μισοσυνδεδεμένη σήραγγα που φαίνεται καλή σε σελίδα κατάστασης.
Διαλέξτε την επιλογή που μπορείτε να περιγράψετε σε μία πρόταση σε όποιον κληρονομήσει το δίκτυο. Αν η απάντηση απαιτεί να αναφέρετε διαδρομή σεναρίου και μοτίβο κειμένου, ο σχεδιασμός είναι ήδη εύθραυστος.
Κάντε την πρόθεση ελέγξιμη
Καταγράψτε το συμβόλαιο έξω από τη συσκευή: πραγματική ταυτότητα πελάτη, πρόθεμα, πύλη επιστροφής, και το υποστηριζόμενο πεδίο που παρέχει καθένα από αυτά. Εξάγετε τη διαμόρφωση μέσω του υποστηριζόμενου μηχανισμού ώστε μια επανακατασκευή να έχει αναφορά, και επαληθεύστε την υπηρεσία μετά από επανασύνδεση, επανεκκίνηση και αναβάθμιση αντί μόνο μετά την αλλαγή.
Συγκρίνετε το παραγόμενο αποτέλεσμα με εκείνη την καταγραφή όταν κάτι σπάσει, αντί να επαναφέρετε μια ανεξήγητη γραμμή και να ελπίζετε.αναφορά του OpenVPN 2.6 είναι το μέρος για να επιβεβαιώσετε πώς αλληλεπιδρούν τα route και iroute πριν διαφωνήσετε με μια διεπαφή.
Λίστα ελέγχου για την επόμενη αλλαγή: ονομάστε τον ιδιοκτήτη, δηλώστε το τριμερές συμβόλαιο, εξάγετε την πρόθεση, και δοκιμάστε ξανά μετά τα δικά της γεγονότα κύκλου ζωής της συσκευής αντί μετά την επεξεργασία σας.