Χρειάζεστε ένα ακόμη ιδιωτικό υποδίκτυο — ας πούμε 10.60.0.0/24 — που το προφίλ δεν περιλαμβάνει αυτή τη στιγμή. Σε φορητό υπολογιστή θα προσθέτατε μια διαδρομή και θα συνεχίζατε. Στο Android το VPN είναι εφαρμογή, η συσκευή tun ανήκει σε αυτή την εφαρμογή και δεν υπάρχει πίνακας δρομολόγησης για να επεξεργαστείτε χωρίς root. Η διαδρομή πρέπει να υπάρχει, αλλά πηγαίνει στο προφίλ που φορτώνει ο πελάτης και λειτουργεί μόνο αν συμφωνεί η άλλη πλευρά. Ακολουθούν η αλλαγή, η επανασύνδεση, η πλευρά του διακομιστή και η επαναφορά.

Πριν από την αλλαγή: τι μπορεί και τι δεν μπορεί να κάνει μια διαδρομή

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

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

The route gives youThe route does not give you
A destination prefix associated with the tunnelPermission to forward at the gateway
A path for the phone's own trafficA return route on the target host
A scope for the client's virtual interfaceA name in DNS, or HTTPS identity

Επεξεργαστείτε το προφίλ που φορτώνει πραγματικά ο πελάτης

Για έναν συμβατό πελάτη που εισάγει συνηθισμένο κείμενο επιλογών OpenVPN, η προσθήκη είναι μία γραμμή:

route 10.60.0.0 255.255.255.0

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

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

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

Επανασυνδέστε και επαληθεύστε στη συσκευή

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

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

Δύο έλεγχοι εμβέλειας ανήκουν επίσης εδώ. Το per-app VPN σημαίνει ότι μια διαδρομή διεύθυνσης μπορεί να υπάρχει ενώ η εφαρμογή με την οποία δοκιμάζετε είναι εκτός του συνόλου που περιλαμβάνεται, οπότε δοκιμάστε με εφαρμογή που είναι πραγματικά μέσα. Και ένα πρόθεμα IPv4 δεν λέει τίποτα για τη διαδρομή IPv6· αν η υπηρεσία είναι dual-stack, προσθέστε την αντίστοιχη διαδρομή IPv6 ή περιμένετε ο πελάτης να προτιμήσει μια διαδρομή που δεν σκοπεύατε.

Ένα αρνητικό αποτέλεσμα αξίζει να το αναγνωρίσετε νωρίς: αν μια διαδρομή full-tunnel καλύπτει ήδη το 0.0.0.0/0, το πρόθεμα δεν λείπει και η εκ νέου προσθήκη του δεν αλλάζει τίποτα. Η διπλή κάλυψη δεν διορθώνει άρνηση από την πλευρά του διακομιστή ούτε απάντηση που λείπει.

Ολοκληρώστε τη διαδρομή στον διακομιστή

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

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

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

Επαναφορά και αποδοχή

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

Αποδεχτείτε την αλλαγή όταν ισχύουν τέσσερα πράγματα, ελεγμένα με αυτή τη σειρά μετά από νέα επανασύνδεση: ο προορισμός απαντά στη θύρα υπηρεσίας του, το ιδιωτικό όνομα επιλύεται αν αναμένεται, το HTTPS εξακολουθεί να επικυρώνει το επιδιωκόμενο όνομα κεντρικού υπολογιστή και το όλο σύστημα λειτουργεί ακόμη μετά από επανεκκίνηση ή αλλαγή από Wi-Fi σε κυψελοειδές. Ο τελευταίος έλεγχος είναι αυτός που πιάνει μια διαδρομή που υπάρχει μόνο μέχρι το Android να επανιδρύσει το tunnel.

  • Επιβεβαιώστε ότι ο ιδιοκτήτης του δικτύου επιτρέπει τον προορισμό πριν αλλάξετε οτιδήποτε.
  • Βάλτε τη διαδρομή στο προφίλ που φορτώνει ο πελάτης, μετά εισάγετε ξανά και επανασυνδέστε.
  • Επαληθεύστε μέσω θύρας υπηρεσίας, μέσα στην εμβέλεια per-app, για τη σωστή οικογένεια διευθύνσεων.
  • Διορθώστε προώθηση, δρομολόγηση επιστροφής και iroute στον διακομιστή, όχι στο τηλέφωνο.
  • Κρατήστε αντίγραφο επαναφοράς και επαναλάβετε τη δοκιμή μετά από επανεκκίνηση.

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