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

Βήμα 1: ονομάστε τον μηχανισμό που εγκαθιστά προθέματα

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

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

Βήμα 2: συγκρίνετε τον πίνακα κατά μήκος μιας σύνδεσης

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

Καταγράψτε τον με ip route show table main > /tmp/route-down.txt, συνδεθείτε και καταγράψτε ξανά. Κάντε το ίδιο για το ip -6 route αν ο ιστότοπος χρησιμοποιεί IPv6, γιατί ένα πρόθεμα που λείπει εκεί παράγει αστοχίες που φαίνονται άσχετες με τη δρομολόγηση.

Βήμα 3: διαβάστε τη μετρική, όχι μόνο την παρουσία

Δύο καταχωρήσεις για το ίδιο πρόθεμα μπορούν να συνυπάρχουν, και ο πυρήνας διαλέγει τη χαμηλότερη μετρική. Μια στατική διαδρομή με μετρική 50 θα συνεχίσει να κερδίζει μια διαδρομή που σπρώχνεται στο 100 παρόλο που και οι δύο είναι ορατές, γι' αυτό το «η διαδρομή είναι εκεί» και το «η κίνηση τη χρησιμοποιεί» είναι διαφορετικές δηλώσεις.

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

Βήμα 4: βρείτε τις καταχωρήσεις που επιβιώνουν της σήραγγας

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

Ελέγξτε τη μόνιμη πλευρά στο σημείο που χρησιμοποιεί η διανομή σας, είτε είναι μονάδα systemd-networkd, προφίλ NetworkManager ή σενάριο στον κατάλογο up του πελάτη. Η διόρθωση του ζωντανού πίνακα με ip route del κρατά μόνο μέχρι την επόμενη σύνδεση. Αντιμετωπίστε αυτή τη διαγραφή ως δοκιμή της υπόθεσης και όχι ως την επισκευή.

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

Βήμα 5: επιβεβαιώστε τη διαδρομή επιστροφής πριν κατηγορήσετε τον πελάτη

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

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

Βήμα 6: δοκιμάστε τον πόρο, όχι το ping

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

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

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