Ελέγξτε την πολιτική δρομολόγηση του Linux πριν αλλάξετε την προεπιλεγμένη διαδρομή
Ένας κανόνας μπορεί να στείλει μια ροή σε άλλον πίνακα και να καταστήσει άσχετη την κύρια προεπιλεγμένη διαδρομή. Διαβάστε προτεραιότητα, πίνακα και ιδιοκτήτη πριν αλλάξετε μια διαδρομή VPN στο Linux.
Ένας κεντρικός υπολογιστής VPN απαντά σε μία διεπαφή και αρνείται να στείλει τις απαντήσεις πίσω μέσω της σήραγγας, και η προεπιλεγμένη διαδρομή φαίνεται σωστή. Εδώ ο κύριος πίνακας παύει να είναι όλη η ιστορία. Το Linux μπορεί να επιλέγει πίνακα δρομολόγησης ανά πακέτο με κανόνες πολιτικής, και το VPN μπορεί να έχει εγκαταστήσει έναν. Διαβάστε τους κανόνες πριν αγγίξετε την προεπιλεγμένη διαδρομή.
Η σειρά έχει σημασία· πρώτα οι κανόνες, μετά ο πίνακας που επιλέγει κάθε κανόνας.
Διαβάστε τους κανόνες με σειρά προτεραιότητας
Εκτελέστε ip rule show και διαβάστε από πάνω προς τα κάτω. Ο αριθμός προτεραιότητας ελέγχει τη σειρά αξιολόγησης, και ένας μικρότερος αριθμός εξετάζεται νωρίτερα. Ο προεπιλεγμένος κανόνας στο 32766 είναι συνήθως ο τελευταίος που έχει σημασία. Αν η λίστα είναι μεγάλη, αποθηκεύστε την σε αρχείο πριν αλλάξετε οτιδήποτε.
Για κάθε κανόνα, καταγράψτε την προτεραιότητα, την αντιστοίχιση (πηγή, σημάδι, διεπαφή ή προορισμός) και τον πίνακα στον οποίο αναφέρεται. Ένας κανόνας χωρίς χρησιμοποιήσιμο πίνακα είναι αδιέξοδο, όχι διαδρομή.
Κάντε το ίδιο για το IPv6 με το ip -6 rule show. Μια πολιτική που υπάρχει μόνο στην οικογένεια IPv4 αφήνει την άλλη οικογένεια στον κύριο πίνακα.
Διαβάστε τον πίνακα που επιλέγει κάθε κανόνας
Χρησιμοποιήστε το ip route show table <name or number> για κάθε πίνακα που αναφέρεται. Συγκρίνετε τις διαδρομές του με τη διεπαφή και το επόμενο άλμα που περιμένετε. Ένας κενός ή ελλιπής πίνακας εξηγεί μια αποτυχία που ο κύριος πίνακας δεν μπορεί.
Ο κύριος πίνακας μπορεί να εξακολουθεί να κρατά την προεπιλεγμένη διαδρομή, και αυτό είναι εντάξει. Αν ένας κανόνας στείλει πρώτα τη ροή σας στον πίνακα 51820, η κύρια προεπιλεγμένη διαδρομή είναι άσχετη για αυτό το πακέτο.
Αναζητήστε το όνομα του πίνακα στο /etc/iproute2/rt_tables αν ο αριθμός δεν σας είναι γνωστός. Αυτή η αναζήτηση παίρνει ένα δευτερόλεπτο και αποτρέπει μια μεγάλη παράκαμψη.
Βρείτε ποιος εγκατέστησε τον κανόνα
Το NetworkManager, το wg-quick και άλλα σενάρια μπορούν να εγκαθιστούν κανόνες δυναμικά. Η διαγραφή ενός κατά την εκτέλεση μπορεί να αναιρεθεί στην επόμενη επανασύνδεση. Ελέγξτε τη διαμόρφωση του διαχειριστή πριν προσθέσετε έναν ανταγωνιστικό κανόνα.
Το wg-quick, για παράδειγμα, προσθέτει έναν σημασμένο κανόνα και έναν πίνακα για τις επιτρεπόμενες διευθύνσεις της σήραγγας. Αυτός ο κανόνας είναι ο λόγος που η κίνηση προς αυτές τις διευθύνσεις παρακάμπτει την κύρια προεπιλεγμένη διαδρομή. Αν τον αφαιρέσετε χωρίς να αλλάξετε τη διαμόρφωση, το επόμενο ξεκίνημα θα τον επαναφέρει.
Διατηρήστε την εξωτερική διαδρομή του τελικού σημείου και την πρόσβαση διαχείρισης όσο ελέγχετε. Μην καθαρίσετε όλους τους κανόνες σε μια ενεργή απομακρυσμένη πύλη για να απλοποιήσετε την έξοδο. Μια συνεδρία διαχείρισης που επιβιώνει της αλλαγής είναι μέρος της δοκιμής.
Δοκιμάστε το πλαίσιο πηγής που έχει σημασία
Ένα γενικό ip route get απαντά σε διαφορετικό ερώτημα από τη ροή της εφαρμογής. Προσθέστε τη διεύθυνση πηγής, και το σημάδι αν το VPN χρησιμοποιεί ένα, για να δείτε τη διαδρομή που ακολουθεί το πραγματικό πακέτο. Δοκιμάστε έναν συμπεριλαμβανόμενο και έναν εξαιρούμενο προορισμό με το ίδιο πλαίσιο πηγής. Στη συνέχεια επαναλάβετε για το IPv6 αν ο υπολογιστής εκτελεί διπλή στοίβα.
Μετά από μια εγκεκριμένη διόρθωση, εκτελέστε ξανά τις ίδιες δύο αναζητήσεις και συγκρίνετε. Κρατήστε αρχείο του επιδιωκόμενου κανόνα, του πίνακα και του πόσο καιρό ο κανόνας επιβιώνει από επανεκκίνηση. Αυτό το αρχείο κάνει την επόμενη επανεκκίνηση υπηρεσίας εξηγήσιμη αντί μυστηριώδη. Η σελίδα εγχειριδίου του ip-rule τεκμηριώνει τους επιλογείς αντιστοίχισης και τη σύνταξη πίνακα.