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

Εντοπίστε πρώτα τον τύπο σύνδεσης

Υπάρχουν τουλάχιστον τρεις διατάξεις στην ίδια οθόνη ρυθμίσεων. Μια εφαρμογή μπορεί να χρησιμοποιήσει VpnService για να φτιάξει εικονική διεπαφή και να κατέχει το πρωτόκολλο και την ιδιωτική διαμόρφωση, μαζί με μια τοπική εφαρμογή φιλτραρίσματος χωρίς απομακρυσμένη έξοδο. Το Android μπορεί επίσης να παράσχει προφίλ IKEv2 πλατφόρμας μέσω Ikev2VpnProfile, διαθέσιμο από το API 30, όπου η πλατφόρμα κρατά περισσότερο από το προφίλ. Και μια εφαρμογή παρόχου μπορεί να παρουσιάσει τη δική της λίστα διακομιστών και να συναρμολογήσει τις ρυθμίσεις εσωτερικά.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

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

Καταγράψτε τον ιδιοκτήτη και το εύρος του προφίλ

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

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

Συγκρίνετε ζητούμενη, ληφθείσα και εφαρμοσμένη κατάσταση

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

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

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

adb shell ip addr show tun0
adb shell ip route show table all | head -40

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

Επεξεργαστείτε το αρχείο που διαβάζει πραγματικά ο ιδιοκτήτης

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

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

Γράψτε τη σημείωση υποστήριξης χωρίς να εκθέτετε μυστικά

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

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

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

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