Τι αλλάζει πραγματικά όταν αλλάζετε αποθηκευμένες ρυθμίσεις VPN στο macOS
Η εναλλαγή αποθηκευμένου VPN στο Mac δεν είναι αλλαγή προφίλ. Δείτε τι αλλάζει σε διαδρομές, DNS και διαπιστευτήρια και πώς να επαληθεύσετε τη σήραγγα που πήρατε.
Ανοίγετε τη λίστα VPN, επιλέγετε την άλλη αποθηκευμένη καταχώριση και περιμένετε μια καθαρή αλλαγή: μια νέα διεύθυνση εξόδου και όλα τα άλλα αμετάβλητα. Αυτή είναι η υπόθεση που πρέπει να εγκαταλείψετε πρώτη. Στο macOS ένα αποθηκευμένο VPN είναι πλήρης υπηρεσία δικτύου και όχι προεπιλογή, οπότε η αλλαγή υπηρεσίας μπορεί να αλλάξει ταυτόχρονα δρομολόγηση, DNS και έλεγχο ταυτότητας. Η γραμμή μενού δείχνει ποια υπηρεσία είναι ενεργή· δεν λέει αν η σήραγγα από κάτω ταιριάζει με αυτό που θέλατε.
Η αποθηκευμένη λίστα δεν είναι επιλογέας προφίλ
Κάθε καταχώριση στις Ρυθμίσεις Συστήματος > Δίκτυο είναι ξεχωριστή υπηρεσία, με δική της διεύθυνση διακομιστή, λογαριασμό, μέθοδο ελέγχου ταυτότητας, διακομιστές DNS και επιλογές όπως Αποστολή όλης της κίνησης μέσω της σύνδεσης VPN. Οι παλαιότερες εκδόσεις κρατούν την ίδια λίστα στις Προτιμήσεις Συστήματος. Δύο καταχωρίσεις μπορεί να δείχνουν στο ίδιο όνομα κεντρικού υπολογιστή και παρ’ όλα αυτά να συμπεριφέρονται διαφορετικά, επειδή το πρωτόκολλο ή η επέκταση πελάτη αποφασίζει πώς χτίζεται η σήραγγα.
Οι πελάτες τρίτων κρατούν ξεχωριστές λίστες. Το Tunnelblick διαβάζει ρυθμίσεις από τον δικό του φάκελο, το WireGuard κρατά τη δική του λίστα σηράγγων και το OpenVPN Connect αποθηκεύει προφίλ μέσα στην εφαρμογή. Κάποιοι καταχωρίζουν μια ρύθμιση στο σύστημα· άλλοι κρατούν τα πάντα μέσα στην εφαρμογή και δεν εμφανίζονται ποτέ στην ενσωματωμένη λίστα. Άρα το «αλλαγή στην αποθηκευμένη» σημαίνει διαφορετικές ενέργειες ανάλογα με το ποια εφαρμογή κατέχει το προφίλ.
scutil --nc list εκτυπώνει τις υπηρεσίες VPN που είναι καταχωρισμένες στη ρύθμιση συστήματος, με τα ονόματα σε εισαγωγικά. Χρησιμοποιήστε ακριβώς αυτά τα ονόματα όταν γράφετε σενάριο αλλαγής και μην υποθέσετε ότι η λίστα καλύπτει κάθε σήραγγα τρίτου.
Τι αλλάζει πραγματικά μια αλλαγή
Τέσσερα πράγματα κινούνται μαζί όταν αλλάζει η ενεργή υπηρεσία. Η προεπιλεγμένη διαδρομή ακολουθεί τη νέα σήραγγα αν η υπηρεσία στέλνει όλη την κίνηση· η λίστα επιλυτών αλλάζει στους διακομιστές DNS που ορίζει η υπηρεσία· οι νέες συνδέσεις παίρνουν τη νέα διεύθυνση σήραγγας ως πηγή· και τα διαπιστευτήρια που χρησιμοποιούνται ανήκουν στη νέα υπηρεσία. Μια εγγενής ρύθμιση και ένα προφίλ εφαρμογής δεν ανταλλάσσονται, ακόμη και όταν και τα δύο καταλήγουν στην ίδια πύλη.
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP sessions tied to the old address stall |
Το μέρος του DNS αιφνιδιάζει τους περισσότερους. Το macOS διατηρεί σειρά επιλυτών και scutil --dns δείχνει ποιοι επιλυτές χρησιμοποιούνται και σε ποια διασύνδεση. Μια υπηρεσία VPN χωρίς ρυθμισμένους διακομιστές DNS μπορεί να αφήσει τον επιλυτή του Wi-Fi να απαντά, οπότε παίρνετε νέα δημόσια διεύθυνση με την παλιά συμπεριφορά DNS και συμπεραίνετε ότι η αλλαγή δούλεψε μισή.
Γιατί η παλιά ρύθμιση επιστρέφει
Αν αποσυνδεθείτε και η ίδια υπηρεσία επανασυνδεθεί λίγο αργότερα, κοιτάξτε πρώτα το On Demand. Ένας κανόνας σύνδεσης κατ’ απαίτηση μπορεί να φέρει πίσω μια υπηρεσία όταν μια εφαρμογή επιλύσει αντίστοιχο τομέα, και ένα προφίλ διαχείρισης μπορεί να επιβάλει τον ίδιο κανόνα. Η διαγραφή της καταχώρισης σπάνια το διορθώνει: μια ρύθμιση εγκατεστημένη από προφίλ συνήθως επιστρέφει στην επόμενη ανανέωση προφίλ, και μια χειροκίνητη μπορεί να αφήσει τον κωδικό της στο Keychain ενώ η υπηρεσία έχει φύγει.
Η εκκίνηση δεύτερης υπηρεσίας δεν σταματά πάντα την πρώτη. Ανάλογα με τον πελάτη και το πρωτόκολλο μπορεί να καταλήξετε με δύο σήραγγες και δύο σύνολα διαδρομών, και η σειρά υπηρεσιών μαζί με την εξειδίκευση διαδρομής αποφασίζουν ποια μεταφέρει κίνηση, όχι το εικονίδιο που πατήσατε τελευταίο. Ελέγξτε τις διασυνδέσεις πριν υποθέσετε ότι έγινε αλλαγή.
Επαληθεύστε τη σήραγγα, όχι το σημάδι
Περάστε από την οπτική του ίδιου του συστήματος πριν αγγίξετε ρυθμίσεις.scutil --nc status "Name" αναφέρει τι πιστεύει το σύστημα·ifconfig δείχνει αν μια διασύνδεση utun έχει διεύθυνση·netstat -rn -f inet δείχνει πού οδηγεί η προεπιλεγμένη διαδρομή·scutil --dns δείχνει τον επιλυτή που χρησιμοποιείται πραγματικά. Έπειτα ανοίξτε φρέσκια σύνδεση και επιβεβαιώστε τη διεύθυνση εξόδου, γιατί μια σελίδα που ήταν ήδη συνδεδεμένη μπορεί να χρησιμοποιεί ακόμη υποδοχή δεσμευμένη στην παλιά σήραγγα.
Αν το DNS απαντά ακόμη από το τοπικό δίκτυο, συγκρίνετε τους ρυθμισμένους διακομιστές της υπηρεσίας με τη λίστα επιλυτών. Αν η προεπιλεγμένη διαδρομή δείχνει ακόμη στη φυσική διασύνδεση, η υπηρεσία είναι split-tunnel ή δεν έχει συνδεθεί πλήρως. Και τα δύο είναι αποτέλεσμα ρύθμισης, όχι απόδειξη χαλασμένου πελάτη.
Σειρά αλλαγής που αποφεύγει εκπλήξεις
- Σημειώστε την τρέχουσα υπηρεσία και αν τη διαχειρίζεται προφίλ.
- Αποσυνδέστε την πρώτα όταν οι δύο σήραγγες δεν μπορούν να συνυπάρξουν.
- Συνδέστε τον στόχο και περιμένετε Συνδεδεμένο, όχι Σύνδεση.
- Ελέγξτε την προεπιλεγμένη διαδρομή, τη λίστα επιλυτών και μια φρέσκια διεύθυνση εξόδου.
- Επανεκκινήστε εφαρμογές που κρατούν μακρόβιες συνεδρίες.
Κρατήστε την παλιά καταχώριση ώσπου η νέα να περάσει αυτούς τους ελέγχους, και δώστε σε κάθε καταχώριση ξεχωριστό όνομα· οι ίδιες ετικέτες κάνουν την επόμενη αποτυχία δυσκολότερα αποδιδόμενη. Η βοήθεια Mac της Apple περιγράφει την εγγενή πλευρά στη σελίδα Ρύθμιση σύνδεσης VPN στο Mac, που είναι η αναφορά που πρέπει να ελέγξετε πριν επεξεργαστείτε μια διαχειριζόμενη ρύθμιση.
Αν η επιλογή επανέρχεται, αντιμετωπίστε το πρώτα ως πολιτική ή On Demand. Επιβεβαιώστε ποιος κατέχει τη ρύθμιση και αν είναι ρυθμισμένη για αυτόματη σύνδεση, μετά αποφασίστε αν αλλάζετε υπηρεσία ή παλεύετε με προφίλ.