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

Τι κάνει κάθε σημαία στην προεπιλεγμένη διαδρομή

Χωρίς καμία σημαία, η επιλογή αφαιρεί τη συνηθισμένη προεπιλεγμένη διαδρομή και βάζει τη σήραγγα στη θέση της, ώστε η παλιά πύλη να εξαφανίζεται από τον πίνακα όσο η σύνδεση είναι ενεργή. Προσθέστε def1 και αυτή η προεπιλογή παραμένει στη λίστα, με δύο στενότερες διαδρομές να κάνουν τη δουλειά. Προσθέστε bypass-dhcp και η διαδρομή DHCP επιβιώνει επίσης, κάτι που έχει σημασία σε δίκτυο όπου ο πελάτης πρέπει ακόμη να φτάσει τον τοπικό διακομιστή DHCP. Η λίστα σημαιών στη σελίδα εγχειριδίου του OpenVPN 2.6 είναι αρκετά σύντομη για μία ανάγνωση, και κάθε καταχώριση αλλάζει ποιες διαδρομές καταλήγουν στον πίνακα.

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

Το def1 κερδίζει με ειδικότητα χωρίς να αγγίζει την προεπιλογή σας

Δύο μισές προεπιλεγμένες διαδρομές καλύπτουν μαζί τον χώρο IPv4, 0.0.0.0/1 και 128.0.0.0/1. Καθεμία είναι πιο ειδική από το 0.0.0.0/0, οπότε μια αναζήτηση τις προτιμά ενώ η πραγματική προεπιλογή μένει στον πίνακα για ό,τι ζητά την λιγότερο ειδική αντιστοίχιση.

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

ip route show default
ip route show | grep -E '^(0\.0\.0\.0/1|128\.0\.0\.0/1)'

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

Κρατήστε το άκρο της σήραγγας προσβάσιμο

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

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

ip route get 198.51.100.20

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

Η κίνηση IPv6 συνεχίζει να χρησιμοποιεί τον δικό της πίνακα

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

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

ip -6 route show default
ip -6 route get 2001:db8::10

Αποδείξτε ποια διεπαφή χρησιμοποιεί μια εφαρμογή

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

Δοκιμάστε τη διαδρομή που ακολουθεί πραγματικά μια εφαρμογή αντί για τη διαδρομή που περιγράφει το προφίλ. Ζητήστε πρώτα τη διαδρομή, μετά δεσμεύστε ένα αίτημα σε κάθε διεπαφή με τη σειρά και συγκρίνετε τι αναφέρει η μακρινή πλευρά:

ip route get 203.0.113.10
curl -s --interface tun0 https://ifconfig.me
curl -s --interface eth0 https://ifconfig.me

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

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