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

Δύο αλυσίδες, δύο διαφορετικοί προορισμοί

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

Όλος ο μύθος σε μία πρόταση: το να επιτρέπεις στον ακροατή δεν λέει τίποτα για το δίκτυο πίσω του. Είναι δύο χωριστές αποφάσεις με χωριστά στοιχεία, και ένα όνομα διεπαφής και στις δύο δεν τις ενώνει.

Τι επιτρέπει στην πραγματικότητα ο κανόνας του ακροατή

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

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

Δοκιμάστε από πελάτη, ποτέ από την πύλη

Μια δοκιμή που παράγεται στην πύλη ακολουθεί τη δική της διαδρομή εξόδου και μπορεί να πετύχει ενώ η διαδρομή προώθησης είναι κλειστή. Ξεκινήστε τη δοκιμή από τον πελάτη και παρακολουθήστε και τα δύο άκρα της ροής.

nc -vz 10.40.7.25 445
tcpdump -ni tun0 host 10.40.7.25

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

Η προώθηση χρειάζεται τρία πράγματα, όχι ένα

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

sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
sudo iptables -S INPUT

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

Κρατήστε τα δύο σύνολα κανόνων χωριστά στην τεκμηρίωση

Γράψτε τον κανόνα του ακροατή και τον κανόνα της προωθούμενης υπηρεσίας σε χωριστές γραμμές, με χωριστούς ιδιοκτήτες και αιτιολογίες. Όταν αλλάζει η θύρα VPN ή δημοσιεύεται νέα υπηρεσία, ο διαχωρισμός αυτός εμποδίζει μια αλλαγή να διευρύνει σιωπηλά την άλλη.

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

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

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