Το VPN επανασυνδέεται ενώ οδηγείτε: αλλαγή ραδιοκυψέλης ή διεύθυνσης IP;
Μια μεταβίβαση μεταξύ πύργων μπορεί να αφήσει τη διαδρομή IP άθικτη. Συγκρίνετε πελάτες που μετακινούν τη σήραγγα με εκείνους που την ξαναχτίζουν, και διαβάστε το γεγονός δικτύου, όχι τη διαδρομή.
Η κλήση πέφτει όταν περνάτε τα όρια της πόλης, και το εικονίδιο του VPN εξαφανίζεται την ίδια στιγμή. Είναι δελεαστικό να το καταγράψετε ως «η αλλαγή κυψέλης σκότωσε τη σήραγγα». Συνέβησαν δύο διαφορετικά πράγματα, και μόνο ένα από αυτά αφορά τους πύργους. Μια ραδιομεταβίβαση μπορεί να αφήσει τη διεύθυνση IP, την προεπιλεγμένη διαδρομή και τη συνεδρία σας εντελώς άθικτα, ενώ μια πραγματική αλλαγή διεύθυνσης θα σπάσει κάθε σήραγγα που δεν μπορεί να μετακινηθεί μαζί της. Η σύγκριση του τρόπου με τον οποίο οι πελάτες χειρίζονται τη δεύτερη περίπτωση είναι η χρήσιμη άσκηση, γιατί σας λέει αν βλέπετε σχεδιασμένη συμπεριφορά ή σφάλμα.
Η αλλαγή πύργου δεν είναι απαραίτητα αλλαγή διεύθυνσης
Τα δίκτυα κινητής τηλεφωνίας κρατούν τη συνεδρία πακέτων ζωντανή κατά τις μεταβιβάσεις όσο η άγκυρα κινητικότητας του παρόχου μένει η ίδια. Ο ραδιοσύνδεσμος αλλάζει, η σήραγγα δεν το αντιλαμβάνεται και καμία επανασύνδεση δεν θα έπρεπε να εμφανιστεί σε κανένα αρχείο καταγραφής. Αυτή είναι η συνήθης περίπτωση για κίνηση μέσα σε μια πόλη.
Αυτό που αλλάζει τη διεύθυνση είναι μια μετακίνηση μεταξύ αγκυρών, μια μετάβαση από Wi-Fi σε κυψελοειδές ή μια επανασύσταση της σήραγγας από την πλευρά του παρόχου μετά από μεγάλο κενό. Αυτά τα γεγονότα αντικαθιστούν τη διεύθυνση προέλευσης που φέρουν τα πακέτα σας, και ένας ομότιμος VPN βλέπει έναν ομότιμο που μετακινήθηκε.
Η πρακτική συνέπεια είναι ότι η κίνηση δεν αποτελεί απόδειξη. Μια συσκευή που διένυσε σαράντα χιλιόμετρα μπορεί να κράτησε μία διεύθυνση σε όλη τη διαδρομή, και μια ακίνητη συσκευή μπορεί να άλλαξε διεύθυνση δύο φορές επειδή το δίκτυο το αποφάσισε. Η καταγραφή του γεγονότος είναι ο μόνος τρόπος να τα ξεχωρίσετε.
Δύο σχέδια: μετακινήστε τη σήραγγα ή χτίστε την ξανά
Οι πελάτες διαφέρουν ως προς το πόσο τους νοιάζει ότι άλλαξε η εξωτερική πηγή. Κάποιοι δένουν τη σήραγγα στη διεύθυνση πάνω στην οποία χτίστηκε και απαιτούν πλήρη επανασύσταση. Άλλοι επαληθεύουν κάθε πακέτο ανεξάρτητα και απλώς ενημερώνουν πού στέλνουν τις απαντήσεις.
| Mechanism | Behaviour after the source changes | What the user notices |
|---|---|---|
| WireGuard | Endpoint updated on the next authenticated packet | Usually nothing; the tunnel continues |
| IKEv2 with MOBIKE | Security association moves to the new address | Short pause, no re-authentication |
| OpenVPN over UDP with float | Peer address may change without a restart | Might survive, depending on timing |
| Client bound to one address | Session dies and is rebuilt | A visible reconnect and a new authentication |
Η πάνω σειρά εξηγεί πολλές μπερδεμένες αναφορές. Το WireGuard δεν έχει συνεδρία που μπορεί να σπάσει: κάθε πακέτο φέρει το ευρετήριο του ομοτίμου και επαληθεύεται, οπότε ένα έγκυρο πακέτο που φτάνει από νέα διεύθυνση είναι εξ ορισμού από αυτόν τον ομότιμο, και το καταγεγραμμένο άκρο το ακολουθεί. Ένας πελάτης που δείχνει «συνδεδεμένο» συνεχώς σε όλη τη διαδρομή λέει την αλήθεια.
Ούτε η κάτω σειρά είναι ελάττωμα. Η αναδόμηση της συνεδρίας εκτελεί ξανά τον έλεγχο ταυτότητας στην τρέχουσα διεύθυνση, που είναι ακριβώς αυτό που θέλετε όταν η παλιά διεύθυνση μπορεί τώρα να ανήκει σε κάποιον άλλο.
Παρατηρήστε το γεγονός, όχι τη μετακίνηση
Στο Android το υποσύστημα συνδεσιμότητας αναφέρει τις αλλαγές δικτύου ως γεγονότα, και αυτά είναι που πρέπει να συσχετίσετε με τη συμπεριφορά του πελάτη. Η αποτύπωση είναι εκτενής, αλλά τα σχετικά μέρη είναι το προεπιλεγμένο δίκτυο και η διεύθυνσή του:
adb shell dumpsys connectivity | grep -E 'NetworkAgentInfo|Default network'
adb shell ip -br addr show
adb logcat -b main -s Vpn:* | head -n 40
Στην πλευρά του διακομιστή υπάρχει άμεση μέτρηση για την περίπτωση περιαγωγής. Το WireGuard αποθηκεύει το τελευταίο επαληθευμένο άκρο ανά ομότιμο, οπότε μια αλλαγή διεύθυνσης εμφανίζεται ως αλλαγμένη τιμή και όχι ως επανασύνδεση:
sudo wg show wg0 endpoints
sudo wg show wg0 latest-handshakes
Συγκρίνετε το άκρο πριν και μετά τη διαδρομή. Αν η διεύθυνση και η θύρα δεν άλλαξαν, η σήραγγα δεν χρειάστηκε να κάνει τίποτα και η επανασύνδεση ήρθε από αλλού, συνήθως από την εφαρμογή. Αν το άκρο άλλαξε ενώ η χρονική σφραγίδα της χειραψίας έμεινε κοντά στο συνηθισμένο διάστημα ανανέωσης κλειδιού, η σήραγγα μετακινήθηκε αντί να επανεκκινήσει.
Μια επανεκκίνηση φαίνεται διαφορετική: η χρονική σφραγίδα της χειραψίας μηδενίζεται στη στιγμή της επανασύνδεσης, και ο πελάτης καταγράφει μια ακολουθία αρχικοποίησης αντί για μια ήσυχη συνέχεια.
Πότε η επανασύνδεση είναι η σωστή συμπεριφορά
Το να θεωρείτε κάθε επανασύνδεση βλάβη οδηγεί σε ρυθμίσεις που κρατούν νεκρές συνεδρίες ζωντανές. Ένας ομότιμος του οποίου η διεύθυνση άλλαξε επειδή το δίκτυο την ανακατένειμε δεν θα έπρεπε να συνεχίσει να λαμβάνει κίνηση για την παλιά αντιστοίχιση, και ένας πελάτης που συνεχίζει σιωπηλά μπορεί να καταλήξει να στέλνει σε μια μαύρη τρύπα ενώ το εικονίδιο μένει πράσινο.
Συγκρίνετε τις δύο αποτυχίες από την οπτική του χρήστη. Μια επανασύνδεση κοστίζει λίγα δευτερόλεπτα και έναν νέο έλεγχο ταυτότητας. Μια παρωχημένη σήραγγα κοστίζει μια εφαρμογή που κολλάει χωρίς σφάλμα, κάτι πολύ δυσκολότερο να εξηγηθεί και πολύ πιο πιθανό να αναφερθεί ως «χάλασε το ίντερνετ».
Κάτω από αυτό κρύβεται και ένα ζήτημα πολιτικής. Στο κενό ανάμεσα στην απώλεια μιας διαδρομής και στη δημιουργία μιας άλλης, κάποιοι πελάτες επιστρέφουν στην άμεση αποστολή κίνησης. Η αποτροπή αυτού είναι ξεχωριστός έλεγχος από την αυτόματη αποκατάσταση, και ένας πελάτης μπορεί να είναι καλός στο ένα και κακός στο άλλο. Αποφασίστε τι χρειάζεστε πριν ρυθμίσετε οποιοδήποτε από τα δύο.
Γράψτε την παρατηρούμενη ακολουθία
Μια χρήσιμη αναφορά ονομάζει την πηγή του γεγονότος: μια αλλαγή του προεπιλεγμένου δικτύου με νέα διεύθυνση, μια μετάβαση από Wi-Fi σε κυψελοειδές, ή μια μεταβίβαση χωρίς καμία αλλαγή διεύθυνσης. Έπειτα δηλώνει τι έκανε ο πελάτης, με τη χρονική σφραγίδα από την πλευρά του διακομιστή και όχι από τη μνήμη.
Αν η σήραγγα μετακινήθηκε, πείτε το και σημειώστε τη νέα οικογένεια άκρων. Αν επανασυστάθηκε, σημειώστε αν ο έλεγχος ταυτότητας πέτυχε με την πρώτη προσπάθεια και πόσο διήρκεσε το κενό. Αυτά τα τρία γεγονότα ξεχωρίζουν έναν υγιή σχεδιασμό για κινητά από έναν πελάτη που ταλαντεύεται ανάμεσα σε δίκτυα.
Και αποφύγετε τη φράση «αλλαγή πύργου» εκτός αν το αρχείο καταγραφής της συσκευής την τεκμηριώνει πραγματικά. Η τεκμηρίωση συνδεσιμότητας του Android περιγράφει τις επιστροφές κλήσεων που ξεχωρίζουν τη διαθεσιμότητα από μια αλλαγή του προεπιλεγμένου δικτύου, και αυτή η διάκριση είναι αυτό που χρειάζεται η αναφορά σας. Όλα τα άλλα είναι μια ιστορία για την οδήγηση.