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

Διαχωρίστε το σύμπτωμα πριν αλλάξετε οτιδήποτε

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

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

Διαβάστε τη βάση πολιτικών και τη βάση καταστάσεων

Στο Linux η κρυπτογράφηση καθορίζεται από τις εγγραφές πολιτικής, άρα μια πολιτική που ταιριάζει, όχι μια διαδρομή, βάζει ένα πακέτο στο τούνελ. Εκτελέστε ip xfrm policy για να δείτε τους επιλογείς, την κατεύθυνση, την προτεραιότητα και το πρότυπο κάθε εγγραφής, και ip xfrm state για να δείτε τις εγκατεστημένες συσχετίσεις με τα reqid τους. Η πολιτική και η συσχέτιση ενώνονται με αυτό το reqid.

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

Η κλασική ασυμμετρία: ένα reqid για πολλά υποδίκτυα

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

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

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

Οι επιλογείς προέρχονται από τη διαπραγμάτευση, όχι από τη διαμόρφωσή σας

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

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

Επαληθεύστε με αυτή τη σειρά και ξέρετε πώς να κάνετε αναστροφή

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

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

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