Η γραμμή λέει PID_ERR replay-window backtrack occurred και όλα τα αποτελέσματα αναζήτησης την εξηγούν ως απορριφθέντα πακέτα και σπασμένο τούνελ. Στη διαδρομή UDP του Community OpenVPN 2.6, αυτό το μήνυμα γράφεται ενώ η συνάρτηση λήψης αποφασίζει ακόμη τι θα κάνει με το πακέτο. Καταγράφει ένα νέο μέγιστο οπισθοδρόμησης και μετά η ίδια συνάρτηση συγκρίνει την απόσταση με το παράθυρο και την καταγεγραμμένη κατάσταση πριν δεχτεί ή απορρίψει. Το να διαβάζετε την ετικέτα του αρχείου ως ετυμηγορία είναι το λάθος που υπάρχει για να αποτρέπει αυτή η λίστα ελέγχου.

Στάση πρώτη: προσδιορίστε τι είναι η γραμμή

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

Επιβεβαιώστε ποιος κεντρικός υπολογιστής το έγραψε και με ποια λεπτομέρεια. Διακομιστής και πελάτης μπορούν και οι δύο να εκπέμπουν μηνύματα αναγνωριστικού πακέτου, και ένα μήνυμα από τη μία πλευρά δεν λέει τίποτε για την κατάσταση λήψης της άλλης.

Στάση δεύτερη: βρείτε το αποτέλεσμα για εκείνο το πακέτο

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

journalctl -u openvpn-server@server --since "-10 min" | grep -n -A3 -B3 "backtrack occurred"

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

Στάση τρίτη: αποφασίστε αν η αναδιάταξη είναι πραγματική

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

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

Στάση τέταρτη: οι παράμετροι του παραθύρου και τι δεν είναι

Το replay-window παίρνει μέγεθος ακολουθίας και προαιρετική τιμή χρόνου, οπότε η διεύρυνσή του αλλάζει δύο διαφορετικές ανοχές ταυτόχρονα. Η αύξηση του αριθμού επιτρέπει πακέτα που είναι πιο μακριά εκτός σειράς· η τιμή χρόνου περιορίζει πόσο καιρό ένα πακέτο μπορεί ακόμη να λαμβάνεται υπόψη. Η διεύρυνση είναι αλλαγή πολιτικής με κόστος ασφάλειας, και δεν ενισχύει κρυπτογράφηση ούτε απενεργοποιεί την ανίχνευση διπλοτύπων. Οι δύο ανοχές κινούνται μαζί, είτε το θέλατε είτε όχι.

Ένα παλιό πιστοποιημένο πακέτο μπορεί ακόμη να είναι ανεπιθύμητη επανάληψη, γι' αυτό ο δέκτης κρατά αυτούς τους ελέγχους. Το να δέχεστε περισσότερη αναδιάταξη σημαίνει να δέχεστε περισσότερο από αυτόν τον κίνδυνο.

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

mute 20
replay-window 64 15

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

Στάση πέμπτη: δοκιμάστε τη διαδρομή που νοιάζει τον χρήστη

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

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

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

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