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

Τρεις δουλειές, τρεις ιδιοκτήτες

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

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

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

Καθένα από αυτά μπορεί να είναι σωστό ενώ τα άλλα αποτυγχάνουν, και γι' αυτό μια δοκιμή που κάνει ping μόνο στην πύλη δεν αποδεικνύει τίποτα για την υπηρεσία πίσω από αυτήν.

Κατευθύνετε τη διαχειριζόμενη διαδρομή στο μέλος

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

Τα μέλη πρέπει να δέχονται τις διαχειριζόμενες διαδρομές για να λειτουργεί ο σχεδιασμός, και τα δικά τους τοπικά δίκτυα δεν πρέπει να χρησιμοποιούν ήδη το πρόθεμα που διαφημίζετε. Ένας απομακρυσμένος φορητός υπολογιστής που βρίσκεται στο σπίτι στο 192.168.60.0/24 δεν μπορεί επίσης να δρομολογεί το 192.168.60.0/24 μέσω του overlay.

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

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

Ενεργοποιήστε τη διέλευση στον πυρήνα

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

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

sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose

Το όνομα της διεπαφής είναι η πραγματική συσκευή overlay σε αυτόν τον κεντρικό υπολογιστή, την οποία μπορείτε να διαβάσετε από το ip link· δεν είναι σταθερή συμβολοσειρά σε όλες τις εγκαταστάσεις. Αν ο κεντρικός υπολογιστής προωθεί εξ ορισμού και το UFW δεν βρίσκεται στη διαδρομή, ο κανόνας διαδρομής θα αγνοηθεί και οι ρυθμίσεις του πυρήνα είναι αυτό που μετράει.

Επιλέξτε πώς επιστρέφουν οι απαντήσεις

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

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

Περιορίστε τη μετάφραση στην πηγή του overlay και στον συγκεκριμένο προορισμό του LAN. Το να μεταφράζετε ό,τι φεύγει από τη διεπαφή LAN είναι η ευρεία εκδοχή που αργότερα εκπλήσσει όποιον διαβάζει τους κανόνες, και επίσης κρύβει κίνηση που θα έπρεπε να είχε αποκλειστεί.

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

Δοκιμάστε από ένα πραγματικό μέλος

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

Ένα μέλος που αναφέρει ONLINE, ή ένα επιτυχές ping στη διεύθυνση overlay της πύλης, δεν επικυρώνει τη διαδρομή, τον κανόνα προώθησης ή τη διαδρομή επιστροφής:

zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered

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

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