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

Πρώτο βήμα: καταγράψτε το διάστημα και το κείμενο του σφάλματος

Ξεκινήστε από το δικό του αρχείο καταγραφής του πελάτη και όχι από τον πίνακα του παρόχου. Σε πελάτη Linux, το αρχείο της υπηρεσίας μαζί με τη ζωντανή κατάσταση της σήραγγας καλύπτουν τα περισσότερα:

journalctl -u openvpn-client@client --since '3 hours ago' | tail -60
journalctl -u wg-quick@wg0 --since '3 hours ago' | tail -40
wg show
ip -s link show wg0

Καταγράψτε τις χρονικές σημάνσεις της τελευταίας επιτυχημένης χειραψίας και τη στιγμή που σταμάτησε η κίνηση, όχι μόνο τη στιγμή που άλλαξε χρώμα το εικονίδιο. Ένας πελάτης GUI που λέει αποσυνδεμένο εκ των υστέρων μπορεί να αναφέρει κατάσταση που ο πυρήνας έφτασε δευτερόλεπτα νωρίτερα.

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

Δεύτερο βήμα: αλλάξτε μία μεταβλητή, όχι το προφίλ

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

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

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

Τρίτο βήμα: αντιστοιχίστε το διάστημα σε ένα επίπεδο

Η διάρκεια μιας καλής συνεδρίας είναι ο πιο κατατοπιστικός μεμονωμένος αριθμός που έχετε. Διαβάστε την απέναντι σε αυτή τη λίστα πριν αγγίξετε χρονόμετρα:

  • Πτώση μετά από αναστολή ή επαναφορά: η κατάσταση της σήραγγας επέζησε της αναστολής αλλά η διεπαφή όχι. Ελέγξτε τη συμπεριφορά επανασύνδεσης του πελάτη στην επαναφορά και αν η υπηρεσία επανεκκινεί τη σήραγγα ή περιμένει κίνηση.
  • Πτώση μόνο όταν είναι αδρανές: κάτι στη μέση άφησε τη ροή να λήξει. Για αυτήν ακριβώς την περίπτωση υπάρχουν τα keepalive.
  • Πτώση σε σταθερή ηλικία συνεδρίας: συμβάν επαναταυτοποίησης ή ανανέωσης κλειδιού, όχι αποτυχία διαδρομής. Μια ρητή απόρριψη στο αρχείο καταγραφής ακριβώς σε εκείνο το διάστημα είναι το σημάδι.
  • Πτώση κατά τη διάρκεια μεγάλων μεταφορών ή μεγάλων σελίδων: υποπτευθείτε MTU και κατακερματισμό, όχι χρονόμετρο αδράνειας.

Για την περίπτωση αδράνειας, οι ρυθμίσεις εξαρτώνται από το πρωτόκολλο και τα δύο άκρα μετράνε. Το keepalive 10 60 του OpenVPN στον διακομιστή στέλνει ping κάθε 10 δευτερόλεπτα και επανεκκινεί τη ζεύξη μετά από 60 δευτερόλεπτα χωρίς ένα· οι πελάτες WireGuard πίσω από NAT χρησιμοποιούν PersistentKeepalive = 25 στο μπλοκ ομοτίμου. OpenVPN επαναδιαπραγματεύεται επίσης το κανάλι δεδομένων με χρονόμετρο, reneg-sec, που από προεπιλογή είναι 3600 δευτερόλεπτα στο 2.x.

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

Τέταρτο βήμα: συγκρίνετε μία υποστηριζόμενη εναλλακτική

Αν ο πάροχος δημοσιεύει και προφίλ UDP και προφίλ TCP, τρέξτε την ίδια συσκευή και το ίδιο δίκτυο απέναντι στο άλλο. Χρησιμοποιήστε το πραγματικό αντίστοιχο αρχείο αντί να επεξεργαστείτε τη μεταφορά σε αντιγραμμένο προφίλ. Ένα σταθερό προφίλ TCP σε διαδρομή όπου το UDP επαναφέρεται περιορίζει το πρόβλημα σε εκείνη τη διαδρομή· δεν αποδεικνύει ότι το TCP είναι η καλύτερη μεταφορά παντού.

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

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

Επαληθεύστε τη διόρθωση και κρατήστε την επαναφορά

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

wg show wg0 latest-handshakes
curl -m 5 -sS https://ifconfig.me
cp client.ovpn client.ovpn.bak   # before editing timers

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

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

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