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

Η γραμμή που αφαιρέσατε ήταν επόμενο άλμα, όχι διακόπτης πολιτικής

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

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

Τέσσερις μοχλοί, τέσσερις διαφορετικές εργασίες

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

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

What you are trying to changeDirective that decides itWhat it leaves alone
Which destinations use the tunnelredirect-gatewayPer-prefix routes and resolver choice
The next hop a pushed route points atroute-gatewayCoverage of public destinations
One reachable prefixrouteEvery other destination, default path included
All pushed routing and DNS at onceroute-nopullNothing, which is the problem

Φιλτράρετε τη ωθημένη γραμμή, κρατήστε το επόμενο άλμα

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

pull-filter ignore "redirect-gateway"

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

Διαβάστε την αναζήτηση, όχι τον πίνακα

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

ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show

Η παραλλαγή def1 αξίζει εξοικείωση, γιατί αφήνει την παλιά προεπιλεγμένη καταχώριση ορατή ενώ ένα ζεύγος μισο-προεπιλογών κερδίζει την αναζήτηση. Επομένως μια γραμμή 0.0.0.0/0 στην έξοδο δεν αποδεικνύει τίποτα από μόνη της. Η αναζήτηση απαντά στο ερώτημα που η λίστα μόνο φαίνεται να απαντά.

DNS, IPv6 και η ιδιωτική διαδρομή πρέπει ακόμη να λειτουργούν

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

Ένα ευρύτερο εργαλείο αξίζει προειδοποίηση: το route-nopull πετάει κάθε ωθημένη διαδρομή και κάθε ωθημένη επιλογή DNS, που σίγουρα σταματά το πλήρες τούνελ και εξίσου σίγουρα σπάει τις ιδιωτικές διαδρομές από τις οποίες εξαρτάται η ανάπτυξη, άρα είναι πολύ μεγαλύτερο σφυρί από ένα φίλτρο ονόματος στοχευμένο σε μία επιλογή. Ελέγξτε τον ιδιωτικό προορισμό, έναν δημόσιο προορισμό και τον επιλυτή μετά από κάθε αλλαγή, και θεωρήστε μια ολοκληρωμένη χειραψία απόδειξη για τίποτα άλλο εκτός από τη χειραψία.

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