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

Αυτή η διάκριση καθορίζει ποιες εντολές αξίζει να εκτελεστούν.

Δύο βλάβες που μοιάζουν ίδιες

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

Ρωτήστε ποια πλευρά ξεκίνησε την αποτυχημένη προσπάθεια. Αυτό το μόνο γεγονός αφαιρεί τις μισές πιθανές αιτίες.

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

Περίπτωση πρώτη: λείπει η διαδρομή επιστροφής

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

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

Περίπτωση δεύτερη: η πολιτική δεν το επέτρεψε ποτέ

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

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

Συγκρίνετε πριν και μετά στους ίδιους υπολογιστές

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

tcpdump -ni any host 10.20.30.40 and port 445
conntrack -L | grep 10.20.30.40
ip route get 10.20.30.40
swanctl --list-sas

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

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

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