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

Η μία διαδρομή προωθεί πακέτα για κάποιον άλλον· η άλλη τα παραδίδει στον ίδιο τον κεντρικό υπολογιστή.

Ένα πακέτο που απευθύνεται στον κεντρικό υπολογιστή μένει στον κεντρικό υπολογιστή

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

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

Γιατί το ip_forward δεν ισχύει

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

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

Διαβάστε τον τοπικό πίνακα που αποφάσισε

Το ip rule show συνήθως αναφέρει έναν κανόνα με προτεραιότητα μηδέν που στέλνει όλες τις αναζητήσεις πρώτα στον τοπικό πίνακα, και το ip route show table local απαριθμεί τις δικές του διευθύνσεις του κεντρικού υπολογιστή με τοπικό εύρος. Αυτός ο πίνακας περιλαμβάνει διευθύνσεις σε διεπαφές που είναι διαχειριστικά ανενεργές αλλά εξακολουθούν να είναι ρυθμισμένες. Οι διευθύνσεις IPv4 που εκχωρούνται στατικά συνήθως επιβιώνουν από μια πτώση ζεύξης, και έτσι ένα ping σε μια ανενεργή γέφυρα μπορεί ακόμη να πετύχει και να εκπλήξει τον χειριστή.

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

Τι φτάνει πραγματικά ένας ομότιμος

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

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

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

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