Γιατί η διεπαφή VPN σας εγκαταλείπει συνεχώς τη ζώνη firewalld της
Η ζώνη αντέχει μέχρι να επανασυνδεθεί η σήραγγα και μετά εξαφανίζεται. Βρείτε αν η NetworkManager ή το firewalld κατέχει αυτή τη διεπαφή πριν επικολλήσετε την εντολή.
Προσθέτετε το tun0 στη σωστή ζώνη, η εφαρμογή αρχίζει να λειτουργεί και η διόρθωση εξατμίζεται στην επόμενη επανασύνδεση. Η επανεκτέλεση της ίδιας εντολής λειτουργεί, γεγονός που κάνει να φαίνεται ότι το firewalld ξέχασε. Δεν ξέχασε· κάτι με ισχυρότερη αξίωση σε αυτή τη διεπαφή την εκχώρησε ξανά.
Η ζώνη επιβιώνει μέχρι να δημιουργηθεί ξανά η διεπαφή
Η εκχώρηση ζώνης firewalld σε μια διεπαφή είναι δέσμευση, και οι δεσμεύσεις συνδέονται με το αντικείμενο της διεπαφής όπως υπάρχει τώρα. Ένας πελάτης VPN που καταστρέφει τη συσκευή και τη δημιουργεί ξανά παράγει νέο αντικείμενο, και το νέο ξεκινά από ό,τι λέει το στοιχείο που εκχωρεί. Γι’ αυτό το σύμπτωμα επαναλαμβάνεται σε κάθε επανασύνδεση και όχι σε κάθε πακέτο.
Η ίδια λογική εξηγεί τη συμπεριφορά στην επανεκκίνηση: οι δεσμεύσεις χρόνου εκτέλεσης δεν επιβιώνουν από επανεκκίνηση, και οι μόνιμες δεσμεύσεις ισχύουν μόνο για συσκευές που το firewalld θεωρεί δικές του.
Πριν αλλάξετε οτιδήποτε, βρείτε ποιο στοιχείο εκχωρεί τη ζώνη.
Διαβάστε τρία πράγματα πριν αλλάξετε οτιδήποτε
Καταγράψτε τη ζώνη που έχει τώρα η διεπαφή, τις ενεργές ζώνες με τις διεπαφές τους και τη μόνιμη λίστα διεπαφών για τη ζώνη που σκοπεύετε. Εκτελέστε αυτά τα ερωτήματα πριν από την αλλαγή, μετά από επανασύνδεση και μετά από επανεκκίνηση. Η σύγκριση των τριών αποτελεσμάτων σας λέει αν η δέσμευση αντικαθίσταται, αγνοείται ή απλώς εφαρμόζεται καθυστερημένα. Αν η μόνιμη λίστα αναφέρει ήδη τη συσκευή ενώ η ζώνη χρόνου εκτέλεσης διαφωνεί, κάτι υπερισχύει της επεξεργασίας σας.
Καταγράψτε επίσης το πραγματικό όνομα της συσκευής σε κάθε βήμα, γιατί μια σήραγγα που σήμερα προσγειώνεται στο tun0 μπορεί αύριο να προσγειωθεί στο tun1.
Μια αποθηκευμένη δέσμευση σε γενικό όνομα δεν είναι έλεγχος ταυτότητας, και δύο λεπτά καταγραφής γλιτώνουν μία ώρα εικασιών.
Όταν η NetworkManager κατέχει τη σύνδεση
Αν η NetworkManager διαχειρίζεται τη σύνδεση VPN, το προφίλ της φέρει τη ζώνη και τη μεταβιβάζει στο firewalld όταν ενεργοποιείται η σύνδεση. Μια μόνιμη δέσμευση διεπαφής στο firewalld για την ίδια συσκευή μπορεί τότε να αγνοηθεί, γιατί ιδιοκτήτης είναι η NetworkManager. Ορίστε τη ζώνη στη σύνδεση και επιβεβαιώστε ότι επεξεργάζεστε το προφίλ VPN και όχι μια άσχετη φυσική σύνδεση ή μια προσωρινή εγγραφή.
Η αλλαγή αυτής της ιδιότητας μπορεί να επηρεάσει αμέσως μια ενεργή σύνδεση.
Κρατήστε διαθέσιμη μια διαδρομή διαχείρισης και διαβάστε την πολιτική της ζώνης προορισμού πριν την εφαρμόσετε. Η επεξεργασία του πεδίου ZONE ενός αρχείου ifcfg είναι σωστή μόνο εκεί όπου το αρχείο αυτό είναι ακόμη η πηγή διαμόρφωσης.
Όταν το firewalld κατέχει τη δέσμευση
Για μια αυτόνομη σήραγγα με σκόπιμα σταθερό όνομα διεπαφής, μια μόνιμη αλλαγή διεπαφής είναι το σωστό εργαλείο. Εφαρμόστε την μέσω της επαναφόρτωσης ή του κύκλου ζωής που χρησιμοποιεί η ανάπτυξή σας, και μετά επιθεωρήστε την κατάσταση χρόνου εκτέλεσης, γιατί μια επεξεργασία μόνο στα μόνιμα περιγράφει την πρόθεση και όχι το ενεργό. Τα δύο μπορούν να διαφωνούν όσο χρόνο διαρκεί η επαναφόρτωση.
Αν το όνομα της διεπαφής είναι δυναμικό, συντηρήστε την εκχώρηση μέσω του κύκλου ζωής της σύνδεσης αντί να συναγωνίζεστε ποια σήραγγα θα διεκδικήσει πρώτη το όνομα.
Μην πετάτε τη διεπαφή στο trusted μόνο για να λειτουργήσει η εφαρμογή.
Δοκιμάστε την επαναφόρτωση, την επανασύνδεση και την επανεκκίνηση
Μια αλλαγή ολοκληρώνεται μόνο όταν επιβιώσει και από τα τρία.
Κάντε πρώτα επαναφόρτωση, γιατί εκεί εξαφανίζονται οι επεξεργασίες μόνο χρόνου εκτέλεσης. Στη συνέχεια επανασυνδέστε τη σήραγγα, γιατί εκεί μια αντικατεστημένη διεπαφή χάνει τη δέσμευσή της. Στη συνέχεια κάντε επανεκκίνηση, γιατί εκεί εμφανίζεται επιτέλους μια ασυμφωνία ιδιοκτήτη. Καταγράψτε τη ζώνη σε κάθε στάδιο και συγκρίνετέ την με την πρόθεση που γράψατε, και σημειώστε ποιο βήμα παρήγαγε τη διαφορά.
Αν η ζώνη είναι σωστή και η εφαρμογή αποτυγχάνει ακόμη, το πρόβλημα είναι στους κανόνες της ζώνης ή σε ταξινόμηση βάσει πηγής και όχι στη συμμετοχή. Η τεκμηρίωση του firewalld για συνδέσεις και διεπαφές είναι η αναφορά για το πώς πρέπει να λειτουργεί η ιδιοκτησία.
Γράψτε τον ιδιοκτήτη, την τιμή και το αναμενόμενο αποτέλεσμα στο runbook, και η επόμενη εκχώρηση θα είναι εξηγήσιμη.