Γιατί πέφτει το VPN στο Mac όταν συνδέετε iPhone μέσω USB
Ένα iPhone συνδεδεμένο μέσω USB μπορεί να προσθέσει διαδρομή hotspot ή σύνδεσμο συσκευής Xcode. Ελέγξτε την υπηρεσία, τη διαδρομή και το σφάλμα του πελάτη πριν διαγράψετε κάτι.
Συνδέετε ένα iPhone για φόρτιση, και ένα λεπτό αργότερα το VPN στο Mac σας σταματά να περνά κίνηση. Οι Ρυθμίσεις Συστήματος δείχνουν μια νέα υπηρεσία με όνομα iPhone USB, και η προφανής κίνηση είναι να τη διαγράψετε. Αυτή η κίνηση είναι συχνά λανθασμένη. Η υπηρεσία μπορεί να είναι το Προσωπικό Hotspot του τηλεφώνου, ή μπορεί να είναι ένας σύνδεσμος που χρησιμοποιούν το Xcode και τα εργαλεία συσκευών για να μιλήσουν στο τηλέφωνο, και τα δύο συμπεριφέρονται αρκετά διαφορετικά ώστε η αναγνώριση να πρέπει να προηγηθεί της διαγραφής.
Βήμα 1: Διαβάστε την υπηρεσία που δημιούργησε πραγματικά το τηλέφωνο
Ανοίξτε τις Ρυθμίσεις Συστήματος, μετά το Δίκτυο, και συγκρίνετε τη λίστα υπηρεσιών με το τηλέφωνο αποσυνδεδεμένο και συνδεδεμένο. Στο τρέχον macOS η υπηρεσία εμφανίζεται ως iPhone USB. Σημειώστε αν είναι ενεργή, πού βρίσκεται στη σειρά υπηρεσιών και αν το Mac τη χρησιμοποιεί για την προεπιλεγμένη διαδρομή. Η σειρά υπηρεσιών έχει σημασία, γιατί το macOS επιλέγει την υψηλότερη ενεργή υπηρεσία που μπορεί να φτάσει έναν προορισμό, όχι εκείνη της οποίας το όνομα αναγνωρίζετε.
Οι οδηγίες της Apple για το Προσωπικό Hotspot περιγράφουν τον μηχανισμό: όσο το Προσωπικό Hotspot είναι ενεργοποιημένο στο τηλέφωνο, η σύνδεσή του μέσω USB μπορεί να κάνει το Mac να χρησιμοποιεί την κυψελοειδή σύνδεση του τηλεφώνου, ακόμη και όταν θέλατε μόνο να φορτίσετε. Αυτό δεν είναι σφάλμα του πελάτη VPN· ο πίνακας δρομολόγησης ακολουθεί μια υπηρεσία που ανέβηκε πριν από το Wi-Fi.
Αν η υπηρεσία υπάρχει αλλά παραμένει ανενεργή με το τηλέφωνο συνδεδεμένο, πιθανότατα βλέπετε σύνδεση μόνο για φόρτιση ή σύνδεσμο συσκευής, όχι hotspot. Κρατήστε αυτή τη διάκριση, γιατί τα επόμενα δύο βήματα τη δοκιμάζουν αντί να μαντεύουν από το εικονίδιο.
Βήμα 2: Ελέγξτε ποια διαδρομή χρησιμοποιεί το άκρο του VPN
Διαβάστε τη διαδρομή προς την επιλυμένη διεύθυνση του διακομιστή VPN, όχι προς έναν ιστότοπο. route -n get είναι μόνο για ανάγνωση και εκτυπώνει τη διεπαφή και την πύλη που θα χρησιμοποιούσε ο πυρήνας, και οι δύο γραμμές έχουν σημασία.
scutil --dns | head -20
route -n get 203.0.113.10Η διεύθυνση παραπάνω είναι θέση κράτησης για τεκμηρίωση. Αντικαταστήστε την με το άκρο που δείχνει ο πελάτης σας, και χρησιμοποιήστε route -n get -inet6 για άκρο IPv6. Συγκρίνετε την έξοδο με το τηλέφωνο αποσυνδεδεμένο και συνδεδεμένο, και μην προσθέτετε ή αφαιρείτε διαδρομές μεταξύ των δύο αναγνώσεων. Αν η διεπαφή αλλάξει από en0 στη διεπαφή iPhone USB, η διαδρομή του hotspot κέρδισε την αναζήτηση και η εξωτερική σύνδεση του VPN περνά τώρα από κυψελοειδές.
Μια αλλαγή διαδρομής δεν εξηγεί κάθε αποτυχία. Ο πελάτης μπορεί ακόμη να φτάνει τον διακομιστή και να αποτύχει αργότερα στην εσωτερική κίνηση της σήραγγας, γιατί η νέα διαδρομή έχει διαφορετικό MTU ή ο πάροχος μπλοκάρει το πρωτόκολλο. Διαβάστε το ίδιο το σφάλμα του πελάτη πριν αλλάξετε οτιδήποτε: μια εξωτερική λήξη χρόνου χειραψίας δείχνει προσβασιμότητα, ενώ μια εγκατεστημένη σήραγγα που σταματά να περνά κίνηση δείχνει MTU, DNS ή πολιτική.
Βήμα 3: Ξεχωρίστε ένα hotspot από έναν σύνδεσμο επικοινωνίας συσκευής
Το Xcode 15 και νεότερο μιλά με μια συσκευή συνδεδεμένη μέσω USB μέσω καναλιού δικτύου που περιλαμβάνει τοπικό IPv6 ζεύξης, οπότε ένα Mac ανάπτυξης μπορεί να εμφανίσει μια επιπλέον διεπαφή που δεν έχει καμία σχέση με πρόσβαση στο διαδίκτυο. Η τεχνική σημείωση TN3158 της Apple τεκμηριώνει αυτή τη συμπεριφορά και προειδοποιεί ότι VPN ή φιλτράρισμα ασφαλείας μπορεί να την εμποδίσει. Είναι το αντίστροφο του προβλήματος hotspot: το VPN δεν σπάει επειδή το τηλέφωνο προσφέρει διαδίκτυο· η σύνδεση της συσκευής σπάει επειδή το VPN την πιάνει.
Δύο παρατηρήσεις χωρίζουν τις περιπτώσεις χωρίς σύλληψη πακέτων. Πρώτον, ελέγξτε αν η διεπαφή έχει δρομολογήσιμη διεύθυνση και προεπιλεγμένη διαδρομή, ή μόνο τοπική διεύθυνση fe80:: ζεύξης· μόνο τοπική ζεύξης σημαίνει ότι δεν υπάρχει διαδρομή προς το διαδίκτυο. Δεύτερον, τερματίστε το VPN και δείτε αν το Xcode μπορεί να φτάσει ξανά τη συσκευή. Αν μπορεί, οι διαδρομές ή το φίλτρο περιεχομένου του VPN πιάνουν την κίνηση τοπικής ζεύξης, και η διόρθωση ανήκει στη διαμόρφωση διαχωρισμένης σήραγγας ή φίλτρου, όχι στο παράθυρο Δίκτυο.
ifconfig | grep -A4 -E '^en[0-9]+:'
netstat -rn -f inet6 | headΜην κρίνετε μόνο από το όνομα της διεπαφής. Το macOS δημιουργεί και καταστρέφει αυτές τις διεπαφές καθώς συνδέονται συσκευές, και ο αριθμός en εκχωρείται κατά την εκτέλεση, οπότε το ίδιο Mac μπορεί να δείχνει διαφορετικό αριθμό μετά από επανεκκίνηση ή αλλαγή καλωδίου.
Βήμα 4: Αναπαράγετε την αποτυχία με μία μεταβλητή τη φορά
Αφού ξέρετε ποια υπηρεσία εμπλέκεται, αναπαράγετε το πρόβλημα με σταθερή σειρά. Ξεκινήστε με το τηλέφωνο αποσυνδεδεμένο και το VPN συνδεδεμένο. Συνδέστε το τηλέφωνο με το Προσωπικό Hotspot απενεργοποιημένο, περιμένετε να σταθεροποιηθεί η λίστα Δικτύου και εκτελέστε ξανά το ερώτημα διαδρομής. Αποσυνδέστε, ενεργοποιήστε το Προσωπικό Hotspot, συνδέστε ξανά και επαναλάβετε. Γράψτε τη διεπαφή, την πύλη και το σφάλμα του πελάτη για καθεμία από τις τρεις καταστάσεις, και έχετε σύγκριση αντί για ανάμνηση.
Αν το VPN αποτυγχάνει μόνο στην κατάσταση hotspot, κρατήστε το τηλέφωνο μακριά από αυτή τη διαδρομή: απενεργοποιήστε το Προσωπικό Hotspot κατά τη φόρτιση, ή μετακινήστε την υπηρεσία iPhone USB κάτω από το Wi-Fi στη σειρά υπηρεσιών. Αν αποτυγχάνει σε κάθε συνδεδεμένη κατάσταση, ακόμη και με το hotspot απενεργοποιημένο, δείτε πώς ο πελάτης χειρίζεται μια μετάβαση δικτύου. Μερικοί πελάτες κατεβάζουν τη σήραγγα όταν αλλάζει η κύρια υπηρεσία και χρειάζονται επανασύνδεση· αυτή είναι συμπεριφορά πελάτη, όχι βλάβη του τηλεφώνου.
Αλλάξτε ένα πράγμα ανά προσπάθεια. Η διαγραφή της υπηρεσίας, η επαναφορά της διαμόρφωσης VPN και η επανεγκατάσταση του πελάτη το ίδιο λεπτό σας αφήνουν με ένα Mac που λειτουργεί και καμία ιδέα ποια ενέργεια το διόρθωσε.
Βήμα 5: Αποφασίστε τι θα κρατήσετε και τι θα επαληθεύσετε
Αφήστε τον σύνδεσμο της συσκευής ήσυχο. Η αφαίρεση μιας διεπαφής που χρησιμοποιεί το Xcode δεν διορθώνει διαδρομή VPN, και σπάει την ανάπτυξη σε συσκευές μέχρι την επόμενη σύνδεση. Αν η υπηρεσία hotspot είναι πραγματικά ανεπιθύμητη, απενεργοποιήστε πρώτα το Προσωπικό Hotspot στο τηλέφωνο· αυτός είναι ο τεκμηριωμένος έλεγχος και επιβιώνει από επανεκκίνηση.
Αν αφαιρέσετε υπηρεσία, αφαιρέστε αυτή που αναγνωρίσατε και μετά επαληθεύστε δύο πράγματα: η διαδρομή προς το άκρο του VPN είναι ξανά στη αναμενόμενη διεπαφή, και η σήραγγα περνά κίνηση προς εσωτερική διεύθυνση, όχι μόνο προς το διαδίκτυο. Κρατήστε σημείωση της σειράς υπηρεσιών και της έκδοσης του πελάτη, γιατί μια ενημέρωση macOS μπορεί να αλλάξει το πώς εμφανίζεται το τηλέφωνο.
Στη συνέχεια ταξινομήστε την αποτυχία που είδατε πραγματικά. Μια λήξη χρόνου χειραψίας, μια ανακοπή MTU αφού ανέβει η σήραγγα, και απαντήσεις DNS που έρχονται από τον πάροχο είναι τρία διαφορετικά προβλήματα με τρεις διαφορετικές διορθώσεις. Η υπηρεσία USB είναι η σκανδάλη και στα τρία· σπάνια είναι η αιτία.