Η σύνδεση λειτουργούσε την Πέμπτη, η αναβάθμιση έτρεξε την Παρασκευή, και τη Δευτέρα ο πελάτης γυρίζει στο “connecting” και τα παρατάει. Ίδιο φορητό, ίδιος διακομιστής, ίδιος λογαριασμός, ίδιο προ-κοινόχρηστο κλειδί. Τίποτα στο προφίλ δεν επεξεργάστηκε, γι' αυτό οι προφανείς ύποπτοι, ο κωδικός και το τείχος προστασίας, σας σπαταλούν χρόνο.

Αυτό που άλλαξε είναι η λίστα των μετασχηματισμών που το μηχάνημά σας είναι πρόθυμο να προσφέρει. Και οι δύο στοίβες IPsec που χρησιμοποιούνται στο Ubuntu, οι strongSwan και Libreswan, κόβουν αλγορίθμους που δεν θεωρούν πλέον ασφαλείς, και το πρόσθετο του NetworkManager που βρίσκεται μπροστά τους έχει τη δική του λίστα, η οποία κινείται με διαφορετικό χρονοδιάγραμμα. Ένας διακομιστής καρφιτσωμένος σε 3DES, SHA1 και ομάδα Diffie-Hellman 1024 bit μπορεί να καταλήξει να μην ακούει τίποτα από όσα δέχεται.

Τι άλλαξε πραγματικά η αναβάθμιση

Δύο επίπεδα τροφοδοτούν την πρόταση IKEv1. Ο δαίμονας παρέχει ένα προεπιλεγμένο σύνολο προτάσεων ενσωματωμένο στη μεταγλώττιση, και το πρόσθετο L2TP είτε το εμπιστεύεται είτε παρέχει τη δική του λίστα. Πριν από το NetworkManager-l2tp 1.2.16 το πρόσθετο το εμπιστευόταν, οπότε η πρότασή σας ήταν ό,τι θεωρούσε λογικό ο εγκατεστημένος δαίμονας. Από το 1.2.16 και μετά το πρόσθετο στέλνει μια τεκμηριωμένη λίστα που έχει διαμορφωθεί κατά τα πρότυπα πελατών Windows και Apple, και αυτή η λίστα είναι ευρύτερη από την παλιά προεπιλογή αλλά δεν περιέχει πλέον κάθε παλιό συνδυασμό στην αρχή της ουράς.

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

Υπάρχει μια μικρότερη παγίδα στην ίδια περιοχή. Οι δύο δαίμονες γράφουν διαφορετικά τις ομάδες Diffie-Hellman ελλειπτικής καμπύλης, ο ένας γράφει ecp384 και ο άλλος ecp_384. Επικολλήστε τη λανθασμένη ορθογραφία στον διάλογο Advanced και ο δαίμονας θα απορρίψει τη ρύθμιση ως μη αναλύσιμη, κάτι που εμφανίζεται στο αρχείο καταγραφής ως πρόβλημα διαπραγμάτευσης και όχι ως τυπογραφικό λάθος στη διαμόρφωση.

Διαβάστε την αποτυχία πριν αλλάξετε οτιδήποτε

Ξεκινήστε από το ποιο backend εκτελείτε, γιατί η απάντηση καθορίζει και τη σύνταξη και τη θέση του αρχείου καταγραφής.

ipsec --version
nmcli connection show "Your VPN name" | grep -i ipsec

Έπειτα διαβάστε την ίδια την ανταλλαγή. Στο strongSwan ο δαίμονας γράφει στο journal σε τρέχουσα έκδοση και στο /var/log/syslog σε παλαιότερη, και το ενδιαφέρον μέρος είναι η πρόταση που στέλνει, όχι η τελευταία γραμμή. Ψάχνετε για διατύπωση περί μη αντιστοιχούσας πρότασης, που είναι πρόβλημα αλγορίθμου· για αποτυχία ταυτοποίησης, που δείχνει το κλειδί ή τον λογαριασμό· ή για απλό χρονικό όριο, που δείχνει την προσβασιμότητα.

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

Η φάση 1 και η φάση 2 είναι ξεχωριστά στοιχήματα

Το IKEv1 διαπραγματεύεται δύο φορές. Η κύρια λειτουργία χτίζει τη συσχέτιση ασφαλείας IKE από έναν αλγόριθμο κρυπτογράφησης, έναν αλγόριθμο ακεραιότητας, μια ομάδα Diffie-Hellman και μια μέθοδο ταυτοποίησης. Η γρήγορη λειτουργία χτίζει έπειτα τη συσχέτιση ESP που θα μεταφέρει το L2TP. Ο διακομιστής είναι ελεύθερος να δεχτεί την πρώτη και να απορρίψει τη δεύτερη, οπότε ένα μισοσωστό προφίλ αποτυγχάνει αργότερα απ' ό,τι περιμένετε και μοιάζει με άλλο σφάλμα.

Phase 1: 3des-sha1-modp1024!
Phase 2: 3des-sha1!

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

Αλλάξτε ένα πεδίο και επαναλάβετε τη δοκιμή

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

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

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