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

Τρεις διατάξεις, ένα ερώτημα

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

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

Εναλλαγή μέσα σε ένα πλαίσιο χρήστη

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

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

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

Διαχωρισμός ανά προφίλ

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

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

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

Μια αλυσίδα, όπου η σειρά είναι το σχέδιο

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

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

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

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

Ελέγξτε το σχέδιο πριν το αποσφαλματώσετε

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

adb shell ip -br addr
adb shell ip route get 10.20.0.8
adb shell dumpsys connectivity | grep -i vpn

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

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