Το αρχείο καταγραφής αποσφαλμάτωσης του L2TP είναι κενό; Το σφάλμα είναι πιθανώς στο journal
Το βοηθητικό πρόγραμμα εκτυπώνει τη δική του έξοδο, ενώ το pppd και ο δαίμονας IPsec γράφουν στο journal. Συσχετίστε μία απόπειρα πριν αλλάξετε ένα PSK ή έναν κωδικό πρόσβασης.
Ξεκινάτε το βοηθητικό πρόγραμμα L2TP με αποσφαλμάτωση, κοιτάτε το τερματικό και σταματά χωρίς τίποτα χρήσιμο στην οθόνη. Δεν είναι χαλασμένη σημαία αποσφαλμάτωσης. Μια σύνδεση NetworkManager L2TP είναι τέσσερις διεργασίες που συνεργάζονται, και μόνο μερικές από αυτές γράφουν στο τερματικό που κοιτάτε. Τα υπόλοιπα στοιχεία είναι στο journal, σε απόσταση ενός φίλτρου.
Τέσσερις διεργασίες, δύο προορισμοί καταγραφής
Η σύνδεση ξεκινά με IPsec, που είναι είτε libreswan είτε strongSwan ανάλογα με την εγκατάσταση. Έπειτα ο δαίμονας L2TP, παραδοσιακά xl2tpd και σε ορισμένες εκδόσεις kl2tpd, τρέχει τη σήραγγα. Τέλος το pppd χειρίζεται τον έλεγχο ταυτότητας και τη διευθυνσιοδότηση μέσα σε αυτή.
Η βοηθητική υπηρεσία συντονίζει αυτά τα κομμάτια και εκτυπώνει τη δική της πρόοδο. Ο δαίμονας IPsec και το pppd αναφέρουν συνήθως μέσω του journal του συστήματος, γι’ αυτό το τερματικό δείχνει μια σύνδεση που αποτυγχάνει ενώ ο λόγος βρίσκεται σε ένα αρχείο που δεν ανοίξατε.
Αυτός ο διαχωρισμός εξηγεί επίσης γιατί ένα σφάλμα PSK και ένα σφάλμα κωδικού πρόσβασης μοιάζουν ίδια από την επιφάνεια εργασίας: και τα δύο παράγουν μια γενική αποσύνδεση, και το στάδιο που απέτυχε φαίνεται μόνο στην έξοδο κάθε διεργασίας. Αυτός είναι όλος ο λόγος που το journal έχει σημασία εδώ. Ένα γενικό μήνυμα στην επιφάνεια εργασίας, τέσσερις πιθανοί συντάκτες από πίσω.
Συλλέξτε μία απόπειρα και μετά διαβάστε τη σειρά
Αναπαράγετε μία φορά, με γνωστό προφίλ και γνωστή ώρα, και μετά διαβάστε ένα στενό παράθυρο αντί για ολόκληρη την εκκίνηση. Η επανάληψη αποπειρών όσο αλλάζετε ρυθμίσεις μετατρέπει το αρχείο καταγραφής σε μείγμα που δεν μπορεί να ερμηνευτεί.
Αυτές οι εντολές επιλέγουν τις διεργασίες που συμμετέχουν για την τρέχουσα εκκίνηση, και αξίζει να επιβεβαιώσετε τη διαδρομή του πρόσθετου στη διανομή σας:
journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=pluto _COMM=charon _COMM=xl2tpd _COMM=pppd
rpm -ql NetworkManager-l2tp 2>/dev/null | grep nm-l2tp-service
Τα επαναλαμβανόμενα πεδία σε μία κλήση επιλέγουν την ένωση αυτών των διεργασιών, που διατηρεί τη σειρά σε χρονική διάταξη. Σε σύστημα βασισμένο στο Debian το ισοδύναμο ερώτημα είναι dpkg -L· το ζητούμενο είναι να βρείτε πού ζει πραγματικά το βοηθητικό πρόγραμμα πριν δοκιμάσετε να το τρέξετε με το χέρι.
Τρεις συνθήκες που καθορίζουν την επόμενη κίνηση
Διαβάστε το πρώτο στάδιο που αποτυγχάνει και επιλέξτε αναλόγως. Αν το IPsec αναφέρει αποτυχία πρότασης ή ελέγχου ταυτότητας του ομότιμου, η σήραγγα δεν σχηματίστηκε ποτέ, και η αλλαγή του κωδικού PPP δεν μπορεί να βοηθήσει.
Αν η σήραγγα σχηματίστηκε και το pppd απέρριψε τη σύνδεση, το κοινό μυστικό ήταν ήδη εντάξει και το πρόβλημα διαπιστευτηρίων βρίσκεται ένα επίπεδο πιο πάνω. Αν το pppd διαπραγματεύτηκε μια διεύθυνση και η αποτυχία εμφανιστεί αργότερα, και τα δύο λειτουργούν και το εναπομείναν πρόβλημα είναι η δρομολόγηση, το DNS ή η πολιτική του ίδιου του διακομιστή.
Αυτοί οι τρεις κλάδοι καλύπτουν σχεδόν κάθε γενική αποσύνδεση, και καθορίζονται από το ποια διεργασία κατέγραψε το τελευταίο σφάλμα και όχι από το ποιο μήνυμα σφάλματος φαίνεται πιο ανησυχητικό.
Αξίζει επίσης να επιβεβαιώσετε ποιο backend IPsec είναι εγκατεστημένο πριν αγγίξετε μια ρύθμιση αποσφαλμάτωσης. Μια επιλογή καταγραφής γραμμένη για strongSwan δεν κάνει τίποτα όταν τρέχει libreswan, και η σύνδεση θα συνεχίσει να αποτυγχάνει στο ίδιο σημείο όσο επεξεργάζεστε ένα αρχείο που κανείς δεν διαβάζει.
Η λειτουργία αποσφαλμάτωσης αφήνει αρχεία
Η αρχική ροή εργασίας αποσφαλμάτωσης τρέχει την υπηρεσία με το χέρι με σημαία αποσφαλμάτωσης, και αυτή η λειτουργία μπορεί να αφήσει παραγόμενα αρχεία ρυθμίσεων χρόνου εκτέλεσης στη θέση τους όταν τελειώσει η σύνδεση.
Αυτά τα αρχεία περιέχουν υλικό ελέγχου ταυτότητας: το προκοινόχρηστο κλειδί, διαπιστευτήρια ή και τα δύο. Μια παραγόμενη ρύθμιση αντιγραμμένη σε παράθυρο συνομιλίας είναι αποκάλυψη διαπιστευτηρίων, όχι απόσπασμα καταγραφής. Αφαιρέστε τις γραμμές με μυστικά πριν μοιραστείτε οτιδήποτε και διαγράψτε τον κατάλογο όταν τελειώσει η έρευνα. Αντιμετωπίστε τα ως μυστικά, εξαγάγετε τις συγκεκριμένες γραμμές που χρειάζεστε για μια αναφορά και διαγράψτε τα μετά, αντί να επικολλήσετε έναν κατάλογο σε ένα δελτίο.
Το χειροκίνητο στιγμιότυπο πρέπει επίσης να συντονιστεί με το κανονικό. Η εκκίνηση ενός αντιγράφου αποσφαλμάτωσης ενώ η υπηρεσία κατέχει ήδη το πρόσθετο δημιουργεί δύο ιδιοκτήτες και ένα αρχείο καταγραφής που τα αναμειγνύει, κάτι που είναι χειρότερο από καθόλου έξοδο αποσφαλμάτωσης.
Έπειτα επαναφέρετε το κανονικό βοηθητικό πρόγραμμα
Όταν τελειώσει η έρευνα, σταματήστε το χειροκίνητο στιγμιότυπο, αφαιρέστε τα διατηρημένα αρχεία χρόνου εκτέλεσης και συνδεθείτε ξανά από την κανονική διαδρομή ώστε το επόμενο άτομο να δει μια ρύθμιση που ταιριάζει με την πραγματικότητα.
Έπειτα επαληθεύστε το αποτέλεσμα στο επίπεδο που απέτυχε, όχι στο εικονίδιο της επιφάνειας εργασίας:
journalctl -b -u NetworkManager --since -10min | tail -30
ip -4 addr show ppp0
ip -4 route get 10.20.4.10
Μια συνεδρία που αυθεντικοποιείται, λαμβάνει διεύθυνση και δρομολογείται προς τον επιδιωκόμενο προορισμό είναι το αποτέλεσμα που αποσφαλματώνατε. Ένα σιωπηλό τερματικό κατά τη διάρκεια μιας αποτυχημένης απόπειρας σας λέει μόνο πού δεν γράφτηκε η έξοδος.