Η θυγατρική SA του IPsec είναι ενεργή, αλλά οι μετρητές πακέτων μένουν στο μηδέν
Μηδενικοί μετρητές πακέτων σε μια εγκατεστημένη θυγατρική SA συνήθως σημαίνουν ότι τίποτα δεν ταίριαξε με αυτήν. Παρακολουθήστε μια καρφιτσωμένη ροή μέσα από μετρητές, διαδρομή, επιλογείς και προέλευση.
Σηκώσατε τη σήραγγα, το χρονόμετρο επαναδιαπραγμάτευσης μετρά αντίστροφα και οι δύο κατευθύνσεις εξακολουθούν να δείχνουν μηδέν πακέτα. Αυτό το ζεύγος αριθμών δεν λέει ότι ο ομότιμος απέρριψε τη σήραγγά σας: μια εγκατεστημένη CHILD SA με αδρανείς μετρητές είναι η φυσιολογική κατάσταση μιας συσχέτισης με την οποία δεν έχει ταιριάξει ακόμη τίποτα. Η δουλειά είναι να αποδείξετε ότι ένα πακέτο θα έπρεπε να είχε ταιριάξει και μετά να βρείτε το σημείο όπου έφυγε από τη διαδρομή που περιγράφουν οι επιλογείς. Κάντε το μία φορά, με σειρά, και κρατήστε το αίτημα πανομοιότυπο μεταξύ των εκτελέσεων.
Τι αποδεικνύει στην πραγματικότητα ένας μηδενικός μετρητής
Μια CHILD SA είναι ένα ζεύγος επιλογέων συν τα κλειδιά και τα SPI που κρυπτογραφούν την κίνηση που πέφτει μέσα σε αυτά τα εύρη. Η εγκατάστασή της σημαίνει μόνο ότι και οι δύο πλευρές συμφώνησαν σε αυτά τα εύρη και στα παράγωγα κλειδιά· ο πυρήνας θα τη διατηρεί για ώρες χωρίς να φτάσει ούτε ένα πακέτο. Άρα το ερώτημα δεν είναι ποτέ αν υπάρχει η σήραγγα, αλλά αν κάποιο πακέτο της δοκιμής σας έπεσε μέσα στα εύρη που διαπραγματεύτηκαν οι δύο πλευρές. Αν όχι, οι μετρητές μένουν στο μηδέν και η συσχέτιση λήγει ανεκμετάλλευτη στο τέλος της ζωής της.
Αυτή η διάκριση αλλάζει το τι ελέγχετε πρώτα. Μια απορριφθείσα πρόταση, μια αποτυχία πιστοποίησης ή μια IKE SA που πεθαίνει εμφανίζονται στο αρχείο καταγραφής ή στη λίστα SA, όχι ως σιωπηλό μηδέν. Μια σήραγγα που διαπραγματεύεται καθαρά και μετά μένει αδρανής δείχνει αντίθετα στην αντιστοίχιση, στη δρομολόγηση ή στην προέλευση της δοκιμαστικής κίνησης.
Στείλτε μια ροή που μπορείτε να περιγράψετε πριν τη στείλετε
Επιλέξτε έναν προορισμό μέσα στο προστατευμένο υποδίκτυο και ανοίξτε μια νέα σύνδεση προς αυτόν· μια σελίδα που φορτώσατε πριν από μία ώρα μπορεί να σερβιριστεί από την προσωρινή μνήμη, και μια αποθηκευμένη απάντηση δεν αγγίζει ποτέ τη σήραγγα. Στη συνέχεια σημειώστε τέσσερις τιμές όσο το αίτημα είναι ακόμη υποθετικό: τη διεύθυνση πηγής που θα δεσμεύσει η εφαρμογή, τον προορισμό, την οικογένεια διευθύνσεων και το όνομα ή το ζεύγος επιλογέων του θυγατρικού που παρακολουθείτε. Αυτή η καταγραφή μετατρέπει έναν επίπεδο μετρητή σε ελέγξιμο ισχυρισμό.
Η διεύθυνση πηγής είναι η τιμή που οι άνθρωποι παραλείπουν και είναι αυτή που χαλάει πιο συχνά τη δοκιμή. Ένας φορητός υπολογιστής με ενσύρματη διεύθυνση, διεύθυνση Wi-Fi και διεύθυνση σήραγγας μπορεί να δεσμεύσει οποιαδήποτε από αυτές ανάλογα με την αναζήτηση διαδρομής, και μόνο μία μπορεί να βρίσκεται μέσα στο διαπραγματευμένο εύρος. Χρησιμοποιήστε ένα εργαλείο που σας επιτρέπει να καρφιτσώσετε την πηγή, όπως ping -I 10.1.0.5 10.2.0.9 ή curl --interface 10.1.0.5, ώστε το πακέτο να μην μπορεί να διαλέξει ήσυχα άλλη διεύθυνση. Όταν η καρφιτσωμένη εκτέλεση κινεί τους μετρητές και η μη καρφιτσωμένη όχι, βρήκατε πρόβλημα δρομολόγησης και όχι πρόβλημα IPsec.
Ποιους αριθμούς να διαβάζετε και πού κατοικούν
Στο Linux το ip -s xfrm state εκτυπώνει κάθε συσχέτιση με μια γραμμή lifetime current: της οποίας το σύνολο byte και πακέτων ανήκει μόνο σε αυτήν την SA, ακολουθούμενη από μια γραμμή stats: για μετρητές επανάληψης και σφαλμάτων. Σε έναν ομότιμο strongSwan το swanctl --list-sas εμφανίζει μία γραμμή in και μία γραμμή out ανά εγκατεστημένο θυγατρικό, καθεμία τελειώνει με πλήθος byte και πλήθος πακέτων· τα παλαιότερα εργαλεία stroke ονομάζουν το ίδιο ζεύγος bytes_i και bytes_o. Διαβάστε τις δύο κατευθύνσεις χωριστά, γιατί η κατεύθυνση που έμεινε επίπεδη είναι το εύρημα. Το να τις προσθέσετε κρύβει ακριβώς την ασυμμετρία που ψάχνετε.
Και οι δύο όψεις είναι ανά συσχέτιση, άρα μια επαναδιαπραγμάτευση εγκαθιστά ένα νέο ζεύγος SPI και η βασική σας γραμμή επιστρέφει στο μηδέν χωρίς να έχει σπάσει τίποτα. Καταγράψτε το SPI που παρακολουθείτε πριν ενεργοποιηθεί το χρονόμετρο επαναδιαπραγμάτευσης, αλλιώς θα συγκρίνετε μια νέα SA με έναν παλιό αριθμό. Αν το εξερχόμενο ανεβαίνει ενώ το εισερχόμενο μένει επίπεδο, ο επιλογέας ταίριαξε και η απάντηση δεν επέστρεψε ποτέ, κάτι που μεταφέρει την έρευνα στην προώθηση του ομοτίμου και στη δική του πολιτική. Η τεκμηρίωση ρύθμισης του IKEv2 του strongSwan καλύπτει τον κύκλο ζωής της θυγατρικής SA και τον χρόνο επαναδιαπραγμάτευσης πίσω από αυτούς τους αριθμούς.
Το σημείο παρατήρησης είναι ξεχωριστή μεταβλητή από την προέλευση του πακέτου. Μια αποφόρτιση υλικού μπορεί να αυξήσει τους μετρητές της συσχέτισης ενώ μια καταγραφή λογισμικού στη διεπαφή δεν δείχνει τίποτα, επειδή τα αποφορτισμένα πακέτα παρακάμπτουν το άγκιστρο στο οποίο κάθεται η καταγραφή, και η εισερχόμενη κατεύθυνση μπορεί να αποκλίνει με τον ίδιο τρόπο. Όταν τα δύο διαφωνούν, χρησιμοποιήστε τους μετρητές για να απαντήσετε αν ταίριαξε κάτι και την καταγραφή για να απαντήσετε πώς έμοιαζε το πακέτο.
Διαδρομή, επιλογείς και πού γεννήθηκε το πακέτο
Συγκρίνετε τρία πράγματα δίπλα-δίπλα: τη διαδρομή που επιλέγει ο πυρήνας για τον προορισμό σας, την πολιτική που οδηγεί την κίνηση στη σήραγγα και το ζεύγος επιλογέων που διαπραγματεύτηκε το θυγατρικό. Το ip route get 10.2.0.9 from 10.1.0.5 ονομάζει τη διεπαφή και την πηγή που θα χρησιμοποιούσε ο πυρήνας, και συχνά δεν είναι το ζεύγος που υποθέσατε. Το ip xfrm policy δείχνει τα τοπικά εγκατεστημένα πρότυπα και τους επιλογείς, ενώ το swanctl --list-sas δείχνει τι συμφώνησε ο ομότιμος. Μια αναζήτηση που στέλνει το πακέτο έξω από τη φυσική διεπαφή δεν φτάνει καθόλου στην πολιτική, άρα οι μετρητές δεν μπορούν να κινηθούν.
Οι αναντιστοιχίες έρχονται σε διάφορες μορφές που από έναν μετρητή φαίνονται ίδιες. Ένας προορισμός IPv6 έξω από επιλογέα IPv4, μια διεύθυνση πηγής από λάθος υποδίκτυο και μια πολιτική στενότερη από το θυγατρικό παράγουν όλα το ίδιο μηδέν. Διορθώστε πρώτα τη στενότερη αιτία, γιατί το να φαρδύνετε έναν επιλογέα μόνο για να μετακινήσετε έναν αριθμό αλλάζει το τι προστατεύει η σήραγγα.
Έπειτα είναι η προέλευση του πακέτου, η παγίδα που στήνει μια πύλη στον δικό της χειριστή. Η κίνηση που παράγει η ίδια η πύλη αντιστοιχίζεται με την πολιτική εξόδου, ενώ ένα πακέτο που προωθεί για έναν πελάτη αντιστοιχίζεται με την πολιτική προώθησης, άρα ένα ping από το μηχάνημα μπορεί να πετύχει σε μια διαδρομή που κανένας πελάτης δεν παίρνει ποτέ.
Μία αναστρέψιμη αλλαγή και μια αναφορά που αντέχει στην αξιολόγηση
Αλλάξτε ένα μόνο στοιχείο, επαναλάβετε το πανομοιότυπο αίτημα και διαβάστε τους ίδιους μετρητές. Το να καθαρίσετε κάθε κανόνα τείχους προστασίας ή να αντικαταστήσετε όλους τους επιλογείς ταυτόχρονα θα μετακινήσει έναν αριθμό και θα καταστρέψει την απόδειξη που σας είπε γιατί. Αν η δεύτερη εκτέλεση δείχνει ακόμη μηδέν, έχετε αποκλείσει μία υπόθεση αντί να σπαταλήσετε το απόγευμα.
Γράψτε το εύρημα σε μορφή που κάποιος άλλος μπορεί να αναπαράγει: όνομα θυγατρικού, αποδεκτά εύρη, η πηγή που καρφιτσώσατε, ο προορισμός που δοκιμάσατε, η κατεύθυνση που έμεινε στο μηδέν και το SPI που διαβάζατε. Αυτή η πρόταση χωρίζει μια συσχέτιση που δεν χρησιμοποίησε κανείς από μια απομακρυσμένη εφαρμογή που έλαβε την κίνηση και την απέρριψε. Αναστρέψτε την αλλαγή όταν δεν κίνησε τους μετρητές και κρατήστε την καταγραφή· το επόμενο άτομο ξεκινά εκεί που σταματήσατε. Τίποτα στη σήραγγα δεν χρειάστηκε ανοικοδόμηση για όλα αυτά, και αυτό είναι το νόημα του να ελέγχετε την αντιστοίχιση πριν αγγίξετε τη διαμόρφωση.