Λήξη χρόνου L2TP στο Ubuntu 22.04: το σφάλμα τούνελ του xl2tpd
Το IPsec συνδέεται, το PPP δεν ξεκινά ποτέ και το xl2tpd επαναλαμβάνει ένα τούνελ που δεν μπορεί να αντιστοιχίσει. Ελέγξτε το εγκατεστημένο build πριν αγγίξετε το PSK ή τον διακομιστή.
Η επιφάνεια εργασίας δείχνει σύνδεση σε εξέλιξη, το IPsec αναφέρει επιτυχία και η διεπαφή PPP δεν εμφανίζεται ποτέ. Στο syslog ο ίδιος αριθμός τούνελ επαναλαμβάνεται μέχρι η προσπάθεια να λήξει στο UDP 1701. Πριν επεξεργαστείτε το προκοινόχρηστο κλειδί ή τη διαμόρφωση του διακομιστή, αναγνωρίστε αυτή τη μορφή: στο Ubuntu 22.04 είναι συνήθως παλινδρόμηση πακέτου στο xl2tpd και ο διακομιστής ήταν σωστός όλη την ώρα.
Τι σας λέει το επαναλαμβανόμενο ζεύγος του syslog
Μια αποτυχημένη συνεδρία εκτυπώνει ένα ζεύγος γραμμών σε τακτά διαστήματα: ο δαίμονας δεν βρίσκει τούνελ για ένα εισερχόμενο μήνυμα ελέγχου και μετά εμφανίζει τα αναγνωριστικά κλήσης και τούνελ που έλαβε. Αργότερα ο μετρητής επαναλήψεων φτάνει το όριό του και η σύνδεση κλείνει με λήξη χρόνου στη θύρα 1701. Οι διευθύνσεις και τα αναγνωριστικά είναι τυχαία· η μορφή είναι αυτό που μετράει. Το IKE ολοκληρώθηκε, έφτασε η κίνηση ελέγχου L2TP και ο δαίμονας απέτυχε να τη συσχετίσει με ένα τούνελ που είχε ήδη δημιουργήσει.
Επομένως το σφάλμα βρίσκεται μεταξύ του ελέγχου L2TP και του PPP. Τίποτα σχετικά με το μυστικό, τις επιλογές PPP ή το απομακρυσμένο υποδίκτυο δεν έχει δοκιμαστεί ακόμη.
Επιβεβαιώστε ότι το IPsec πέτυχε πραγματικά
Δύο έλεγχοι το ξεχωρίζουν από πρόβλημα διαπιστευτηρίων, και οι δύο ανήκουν πριν από οποιαδήποτε αλλαγή πακέτου.
ipsec status
journalctl -u strongswan --since "5 min ago" | grep -i "shared key"Η έξοδος κατάστασης απαριθμεί τη σύνδεση και την κατάστασή της, και ένα εγκατεστημένο τούνελ σημαίνει ότι η πρώτη και η δεύτερη φάση ολοκληρώθηκαν. Μια γραμμή καταγραφής για ένα απόν κοινόχρηστο κλειδί δείχνει μόνο το μυστικό, οπότε σταματήστε και διορθώστε το πρώτα. Όταν το IPsec είναι εγκατεστημένο και η λήξη χρόνου L2TP εμφανίζεται ακόμη, ο δαίμονας παραμένει ο ύποπτος. Κρατήστε τις ακριβείς γραμμές μιας προσπάθειας αντί για μια ολόκληρη μέρα επαναλήψεων.
Ελέγξτε το build του xl2tpd, όχι το όνομα της έκδοσης
Το build jammy του Ubuntu για το xl2tpd 1.3.16 ενεργοποίησε βελτιστοποίηση χρόνου σύνδεσης, που έσπασε την ανάλυση του αναγνωριστικού τούνελ στην απάντηση SCCRP του διακομιστή. Ο δαίμονας τότε απορρίπτει πακέτα ελέγχου για ένα τούνελ που δημιούργησε ο ίδιος. Η συμβολοσειρά έκδοσης μετράει περισσότερο από το όνομα της διανομής.
dpkg -l xl2tpd
apt policy xl2tpd
apt-mark showholdΤο διορθωμένο πακέτο είναι 1.3.16-1ubuntu0.1, άρα ένα build χωρίς αυτό το επίθεμα είναι παλαιότερο από τη διόρθωση. Η έξοδος πολιτικής δείχνει ποιον υποψήφιο θα εγκαθιστούσε μια αναβάθμιση, και η λίστα συγκράτησης εξηγεί γιατί μια διόρθωση δεν έφτασε. Όπου το πακέτο είναι διαθέσιμο, αναβαθμίστε το και συνδεθείτε ξανά μέσω του κανονικού προφίλ αντί να επεξεργάζεστε αρχεία με το χέρι. Μην ξαναχτίζετε μονάδες και μην αλλάζετε το μυστικό όσο το παλιό build είναι ακόμη εγκατεστημένο.
Επαληθεύστε το PPP μετά την αλλαγή
Μια επιτυχημένη αναβάθμιση αποδεικνύεται στο επίπεδο που ήταν χαλασμένο. Ελέγξτε ότι το PPP ανέβηκε, όχι μόνο ότι άλλαξε το εικονίδιο.
ip -4 addr show ppp0
ip route | grep pppΗ λίστα διεπαφών πρέπει να δείχνει μια τοπική και μια διεύθυνση ομοτίμου, και ο πίνακας δρομολόγησης πρέπει να φέρει τα προθέματα του τούνελ. Το syslog πρέπει να δείχνει το τούνελ αποδεκτό και το pppd να αναφέρει και τις δύο διευθύνσεις, χωρίς επαναλαμβανόμενες γραμμές για τούνελ που δεν βρέθηκε. Αν το PPP είναι ενεργό και η κίνηση αποτυγχάνει ακόμη, κοιτάξτε μετά τη δρομολόγηση ή το MTU, γιατί το στάδιο L2TP έχει τελειώσει τη δουλειά του. Καταγράψτε τη λειτουργική έκδοση πακέτου στις σημειώσεις του μηχανήματος, ώστε μια μελλοντική επανεγκατάσταση να μην επαναφέρει το χαλασμένο build.
Όπου το διορθωμένο πακέτο δεν είναι διαθέσιμο, οι τεκμηριωμένες εναλλακτικές είναι ένα τοπικό build από πηγαίο κώδικα 1.3.16 ή 1.3.17, μια μετάβαση στο kl2tpd ή μια καρφιτσωμένη υποβάθμιση. Καθεμία έχει κόστος συντήρησης που αξίζει να καταγραφεί.