Τα τείχη προστασίας που επιτρέπουν IKE και ESP αλλά όχι UDP 1701 σπάνε τις συνδέσεις L2TP με τρόπο που μοιάζει με πρόβλημα διαπιστευτηρίων. Ο λόγος είναι ότι το L2TP είναι ένα δεύτερο πρωτόκολλο που ταξιδεύει μέσα στο πρώτο. Το IPsec μεταφέρει και επαληθεύει την ανταλλαγή, και το L2TP τρέχει τη δική του σήραγγα πάνω από το UDP 1701, την οποία η τοπική στοίβα πρέπει ακόμη να παραδώσει. Το να ξέρεις πού εμφανίζεται κάθε κεφαλίδα εξηγεί ποια συσκευή χρειάζεται ποιον κανόνα.

Δύο πρωτόκολλα, δύο σύνολα θυρών

Μια σύνδεση L2TP/IPsec χρησιμοποιεί IKE στο UDP 500, διάσχιση NAT στο UDP 4500 όπου υπάρχει μετάφραση, και ESP ως πρωτόκολλο IP 50 όπου δεν υπάρχει. Το ίδιο το L2TP είναι πρωτόκολλο σήραγγας στο UDP 1701 και τρέχει αφού το IPsec επαληθεύσει τον ομότιμο. Τα δύο μισά αποτυγχάνουν διαφορετικά, και οι γραμμές αρχείου καταγραφής που το αναφέρουν προέρχονται από διαφορετικά στοιχεία. Ένα σύνολο κανόνων που καλύπτει μόνο το πρώτο μισό παράγει μια σύνδεση που διαπραγματεύεται και μετά πεθαίνει στο στάδιο της σήραγγας.

Οι αριθμοί θυρών περιγράφουν τελικά σημεία μεταφοράς, και το ESP δεν είναι καθόλου θύρα. Γι' αυτό μια διεπαφή τείχους προστασίας που προσφέρει μόνο κανόνες TCP και UDP δεν μπορεί να εκφράσει μια πλήρη πολιτική IPsec. Το πρωτόκολλο 50 πρέπει να επιτραπεί ως πρωτόκολλο, και ένας κανόνας που αναφέρει μόνο UDP δεν θα ταιριάξει ποτέ μαζί του.

Το περιτύλιγμα εξηγεί τη θύρα

Στο δίκτυο, μια σύνδεση L2TP/IPsec εμφανίζει συνήθως IKE στο 500 και ενθυλακωμένο ESP στο 4500. Η κεφαλίδα UDP 1701 βρίσκεται μέσα στο προστατευμένο ωφέλιμο φορτίο, γι' αυτό μια σύλληψη στην εξωτερική διεπαφή δεν τη δείχνει. Ο τοπικός κεντρικός υπολογιστής πρέπει ακόμη να παραδώσει αυτό το datagram στον δαίμονα L2TP, και η παράδοση γίνεται μετά την απο-ενθυλάκωση. Άρα ο κανόνας για το 1701 ανήκει στο τείχος προστασίας του ίδιου του άκρου, ακόμη και όταν κανένα ενδιάμεσο κουτί δεν βλέπει ποτέ τη θύρα.

Η σειρά επεξεργασίας εξηγεί το μεγαλύτερο μέρος της σύγχυσης. Αν η στοίβα εφαρμόσει την πολιτική IPsec πριν από το φίλτρο του κεντρικού υπολογιστή, το απο-ενθυλακωμένο πακέτο L2TP αντιστοιχίζεται ως UDP 1701· αν η σειρά αντιστραφεί, οι εξωτερικές θύρες είναι αυτό που βλέπει το σύνολο κανόνων. Και οι δύο συμπεριφορές υπάρχουν στην πράξη, γι' αυτό το ίδιο σύνολο κανόνων φαίνεται να δουλεύει σε μια πλατφόρμα και να αποτυγχάνει σε άλλη.

Έλεγξε τη διαδρομή με σειρά

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

sudo tcpdump -ni eth0 'udp port 500 or udp port 4500'
sudo nft list ruleset | grep -i -A2 1701
sudo ss -lunp | grep 1701

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

Τι δεν μπορεί να δείξει μια σάρωση θυρών

Μια εξωτερική σάρωση του UDP 1701 εναντίον σωστά ρυθμισμένου διακομιστή συνήθως δεν αναφέρει τίποτα, και αυτό είναι το αναμενόμενο αποτέλεσμα. Η θύρα δεν είναι εκτεθειμένη στο διαδίκτυο· φτάνεις σε αυτήν μόνο αφού το IPsec επαληθεύσει τον ομότιμο. Το να αντιμετωπίζεις το κλειστό αποτέλεσμα ως βλάβη οδηγεί στο άνοιγμα μιας θύρας που θα έπρεπε να μείνει κλειστή. Η σάρωση δεν μπορεί να δει μέσα στη σήραγγα περισσότερο απ' όσο μπορεί να δει την κίνηση της εφαρμογής.

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

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