Η σήραγγα ανεβαίνει, το αρχείο καταγραφής λέει συνδεδεμένο, και μια εφαρμογή ακόμη δεν φτάνει πουθενά. Σε πελάτη Linux αυτό συνήθως σημαίνει ότι το τείχος προστασίας της διανομής φιλτράρει μια διαδρομή που ο πελάτης VPN δεν διαχειρίστηκε ποτέ. Δύο διαχειριστές μπορούν να είναι ενεργοί ταυτόχρονα, ο καθένας με τις δικές του αντιλήψεις για τη διεπαφή, τη ζώνη και την κατεύθυνση της κίνησης. Ο προσδιορισμός του ιδιοκτήτη πριν από οποιαδήποτε επεξεργασία είναι ταχύτερος από το να δοκιμάζετε κανόνες μέχρι να δουλέψει κάτι.

Βρείτε τον διαχειριστή και το backend

Ξεκινήστε με αυτό που είναι πραγματικά φορτωμένο, όχι με αυτό που είναι εγκατεστημένο. Μια διανομή μπορεί να παρέχει firewalld, ufw και μια απλή υπηρεσία nftables, και μόνο ένα από αυτά κατέχει το ενεργό σύνολο κανόνων. Τα πακέτα συνυπάρχουν ειρηνικά, και ένας κανόνας που εισάγεται από το λάθος frontend δεν φτάνει ποτέ στον πυρήνα. Διαβάστε την ενεργή υπηρεσία και μετά διαβάστε το σύνολο κανόνων που παρήγαγε.

Το backend έχει την ίδια σημασία με το frontend. Μια εγκατάσταση firewalld μπορεί να οδηγήσει nftables ή το παλιό backend iptables ανάλογα με την έκδοση και τη διαμόρφωση, και τα δύο παράγουν διαφορετική έξοδο επιθεώρησης. Γράψτε τη διανομή, την έκδοση και το backend στο δελτίο πριν συγκρίνετε το σύστημά σας με οποιονδήποτε οδηγό.

Ταιριάξτε την κατεύθυνση και τη διεπαφή

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

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

Κρατήστε τους ιδιοκτήτες κανόνων σε συμφωνία

Το άγκιστρο ενός πελάτη VPN, ένα περιβάλλον εκτέλεσης containers και η υπηρεσία της διανομής μπορούν όλα να τροποποιήσουν το δίκτυο, και δεν συντονίζονται μεταξύ τους. Οι κανόνες που εισάγονται με το χέρι εξαφανίζονται στην επόμενη επαναφόρτωση, και κανόνες που εισάγονται στην αλυσίδα ενός διαχειριστή μπορούν να αξιολογηθούν με σειρά που δεν σκοπεύατε. Χρησιμοποιήστε τη μόνιμη διαμόρφωση του διαχειριστή και επιθεωρήστε το προκύπτον σύνολο κανόνων αντί για το αρχείο που γράψατε. Η απενεργοποίηση ολόκληρου του τείχους επειδή μια υπηρεσία δεν είναι προσβάσιμη ανταλλάσσει ένα μικρό πρόβλημα με ένα μεγάλο.

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

Ελέγξτε τη διόρθωση χωρίς να χάσετε το κλείδωμα

Επιθεωρήστε την εφαρμοσμένη κατάσταση με τον διαχειριστή που την κατέχει, χρησιμοποιώντας εντολές που ταιριάζουν με το backend που καταγράψατε. Η παρακάτω λίστα υποθέτει ότι υπεύθυνο είναι το firewalld· αντικαταστήστε με το αντίστοιχο για nftables ή ufw αντί να τα εκτελέσετε όλα. Η ανάμειξη εργαλείων σε μία συνεδρία είναι ο τρόπος με τον οποίο ένα μηχάνημα καταλήγει με δύο αντιφατικά σύνολα κανόνων.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=trusted --list-all
sudo nft list ruleset | head -40

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

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

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