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

Πρώτα: ποια ανταλλαγή απορρίφθηκε

Το IKEv2 διαπραγματεύεται δύο είδη συσχέτισης. Το IKE SA προστατεύει την ίδια τη διαπραγμάτευση, και το CHILD SA προστατεύει την κίνηση. Κάθε ένα έχει το δικό του σύνολο προτάσεων, και κάθε ένα μπορεί να αποτύχει με την ίδια ειδοποίηση. Μια απόρριψη κατά την αρχική διαπραγμάτευση IKE και μια απόρριψη κατά τη διαπραγμάτευση CHILD απαιτούν διαφορετικές διορθώσεις, και το αρχείο καταγραφής συνήθως ονομάζει την ανταλλαγή μία ή δύο γραμμές πάνω από την ειδοποίηση. Διαβάστε αυτές τις δύο γραμμές μαζί, αλλιώς θα διορθώσετε τη λάθος λίστα προτάσεων.

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

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

Μια πρόταση είναι ένας συνδυασμός: αλγόριθμος κρυπτογράφησης, ακεραιότητα ή AEAD, ομάδα ανταλλαγής κλειδιών και οποιαδήποτε ψευδοτυχαία συνάρτηση. Το να συγκρίνετε μόνο το όνομα κρυπτογράφησης είναι το συνηθισμένο λάθος, γιατί δύο ομότιμοι μπορούν να συμφωνήσουν στο AES-256 και να διαφωνήσουν στο SHA-1 έναντι του SHA-256. Γράψτε τα προσφερόμενα και επιτρεπόμενα σύνολα δίπλα-δίπλα στο στάδιο που απέτυχε και μετά αναζητήστε την κενή τομή.

offered:   aes256-sha256-modp2048
permitted: aes256-sha1-modp2048

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

Το σύνολο IKE και το σύνολο ESP είναι διαφορετικά αντικείμενα

Η επεξεργασία της πρότασης IKE δεν θα διορθώσει μια απορριφθείσα πρόταση CHILD, και ισχύει και το αντίστροφο. Στο strongSwan αυτά είναι ξεχωριστές ρυθμίσεις, περίπου proposals = aes256-sha256-modp2048 για το IKE SA και μια ξεχωριστή λίστα ESP για το CHILD SA. Αλλάξτε τη λίστα που αντιστοιχεί στην ανταλλαγή που απέτυχε και μετά ξαναδιαβάστε το αρχείο καταγραφής αντί να υποθέσετε ότι η διόρθωση δούλεψε.

Για το CHILD SA, η σχετική ρύθμιση είναι η λίστα προτάσεων ESP, όχι η λίστα IKE. Η αντιγραφή της γραμμής IKE εκεί παράγει μια διαμόρφωση που αναλύεται αλλά διαπραγματεύεται το λάθος αντικείμενο.

Μια σήραγγα που δουλεύει και αποτυγχάνει στην ανανέωση κλειδιού

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

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

ipsec statusall | grep -E "IKE:|ESP:"

Επιλέξτε μια τομή και μετά επιβεβαιώστε και τις δύο φάσεις

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

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

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