Ένας κόμβος Tailscale μη προσβάσιμος: δρομολογητής υποδικτύου ή κόμβος εξόδου;
Τακτοποίησε πρώτα τον προορισμό που λείπει: ένα ιδιωτικό NAS χρειάζεται ανακοινωμένο υποδίκτυο, ενώ η δημόσια περιήγηση χρειάζεται κόμβο εξόδου.
Ένας κόμβος Tailscale απαντά ενώ ένας άλλος μένει σκοτεινός, ή όλα λειτουργούν μέχρι οι δημόσιες ιστοσελίδες να αρχίσουν να αναφέρουν λάθος χώρα. Και τα δύο παράπονα φτάνουν ως «το Tailscale είναι χαλασμένο», και συνήθως και τα δύο είναι η λάθος κατασκευή ενεργοποιημένη για τον λάθος προορισμό. Ένας δρομολογητής υποδικτύου εκθέτει ένα ιδιωτικό δίκτυο στο tailnet, ενώ ένας κόμβος εξόδου αλλάζει από πού φεύγει η κίνηση του διαδικτύου. Τακτοποίησε πρώτα τον προορισμό που αποτυγχάνει και μετά διάλεξε τον ρόλο που τον καλύπτει.
Ξεκίνα από τον προορισμό που απέτυχε
Γράψε τη διεύθυνση ή το όνομα που δεν λειτούργησε και τι λογής πράγμα είναι. Μια συσκευή σε ιδιωτικό LAN πίσω από άλλη τοποθεσία, μια υπηρεσία στο δικό σου τμήμα και μια δημόσια ιστοσελίδα είναι τρία προβλήματα δρομολόγησης που τυχαίνει να μοιράζονται έναν πελάτη. Η διάκριση δεν είναι διακοσμητική, γιατί οι δύο κατασκευές καλύπτουν διαφορετικά σύνολα προορισμών. Το να ενεργοποιήσεις τη μία δεν κάνει τίποτα για την άλλη, και αυτή είναι όλη η πηγή της σύγχυσης.
Πρόσεξε και την οικογένεια διευθύνσεων. Ένα υποδίκτυο που διαφημίζεται μόνο ως IPv4 αφήνει τους προορισμούς IPv6 στην τοπική διαδρομή, που διαβάζεται ως μερική αποτυχία μέχρι κάποιος να συγκρίνει και τους δύο πίνακες δρομολόγησης. Κατέγραψε τι περίμενες να είναι η διαδρομή, ώστε το τεστ να έχει αργότερα κάτι να αντικρούσει.
Φτάσε σε συσκευή που δεν εκτελεί ποτέ Tailscale
Ο δρομολογητής ανακοινώνει συγκεκριμένες περιοχές στο tailnet και μετά αναμεταδίδει πακέτα ανάμεσα στο tailnet και το ιδιωτικό τμήμα, άρα οι συσκευές σε αυτό το τμήμα δεν χρειάζονται δικό τους πελάτη. Το να φτάσεις σε ένα NAS στο γραφείο από φορητό στο σπίτι είναι ακριβώς αυτή η περίπτωση. Ο δρομολογητής είναι το μόνο μέλος του tailnet σε εκείνη την πλευρά.
tailscale up --advertise-routes=10.40.0.0/24 --advertise-exit-node=false
ip route get 10.40.0.55
tailscale status
Η ανακοίνωση είναι μόνο η πρώτη από τρεις προϋποθέσεις. Η διαδρομή πρέπει να εγκριθεί για το tailnet, ο πελάτης πρέπει να δεχτεί τις ανακοινωμένες διαδρομές, και ένας κανόνας πρόσβασης πρέπει να επιτρέψει τη σύνδεση. Αυτή η αλυσίδα είναι ο λόγος που το σύμπτωμα είναι τόσο συχνά ότι ο δρομολογητής είναι ζωντανός και το NAS όχι. Ένας προσβάσιμος δρομολογητής αποδεικνύει ότι το τούνελ λειτουργεί· δεν αποδεικνύει τίποτα για την έγκριση, την αποδοχή από τον πελάτη ή την πολιτική.
Καθεμία από αυτές τις τρεις αστοχίες φαίνεται διαφορετική στην κονσόλα διαχείρισης. Έλεγξέ τις με σειρά αντί να αλλάξεις και τις τρεις μαζί, γιατί μια δεύτερη αλλαγή κρύβει ποια είχε σημασία.
Στείλε την κοινή κίνηση έξω από άλλο μηχάνημα
Ένας κόμβος εξόδου δρομολογεί τη γενική κίνηση του διαδικτύου σου μέσα από τον εαυτό του, που είναι το πλησιέστερο ανάλογο της διάταξης πλήρους τούνελ σε άλλα προϊόντα VPN. Χρειάζεται κι αυτός τρεις ξεχωριστές συναινέσεις: η συσκευή ανακοινώνει τον ρόλο, ένας διαχειριστής τον επιτρέπει και ο πελάτης τον επιλέγει. Η ένταξη σε ένα tailnet δεν στέλνει τίποτα μέσα από άλλο μέλος εξ ορισμού.
tailscale up --advertise-exit-node
tailscale up --exit-node=100.101.102.103 --exit-node-allow-lan-access=false
tailscale status --json | grep -i exitnode
Η επιλογή κόμβου εξόδου δεν παρέχει αυτόματα πρόσβαση στο δικό του LAN. Η επιλογή πρόσβασης στο LAN υπάρχει ακριβώς επειδή πρόκειται για διαφορετικές άδειες, και το να την αφήσεις ανενεργή είναι η ασφαλέστερη προεπιλογή. Οι διαδρομές προς άλλους πόρους του Tailscale κρατούν τη δική τους διαχείριση ακόμη και όταν ένας κόμβος εξόδου είναι ενεργός. Γι' αυτό μια υπηρεσία που φιλοξενείται σε υποδίκτυο μπορεί να συνεχίσει να λειτουργεί ενώ η δημόσια διαδρομή του διαδικτύου έχει αλλάξει.
Ένας κόμβος εξόδου αλλάζει και το πώς σε βλέπει το διαδίκτυο, όχι μόνο το πόσο γρήγορο φαίνεται. Περίμενε η γεωτοποθεσία, οι κατάλογοι ροής και τα όρια ρυθμού να ακολουθούν τη διεύθυνση της εξόδου και όχι τη δική σου.
Διάβασε τον τριμερή διαχωρισμό όταν αποτυγχάνει μόνο ένας κόμβος
Ένας εκτυπωτής στο δικό σου τμήμα, ένα NAS πίσω από απομακρυσμένο δρομολογητή υποδικτύου και μια δημόσια ιστοσελίδα είναι τρεις προορισμοί με τρεις διαφορετικές διαδρομές. Αν αποτυγχάνει ακριβώς ένας από αυτούς, το ελάττωμα ανήκει στη διαδρομή εκείνου του προορισμού και όχι στον πελάτη συνολικά. Για τον τοπικό εκτυπωτή όσο χρησιμοποιείται κόμβος εξόδου, η ρύθμιση πρόσβασης στο LAN είναι η συνηθισμένη απάντηση. Για το απομακρυσμένο NAS, έλεγξε την ανακοινωμένη περιοχή, την κατάσταση έγκρισής της και τους κανόνες πρόσβασης με αυτή τη σειρά. Για μια δημόσια ιστοσελίδα, έλεγξε ποιος κόμβος εξόδου έχει επιλεγεί και αν ο πελάτης τον έχει όντως δεχτεί.
Αν η διεύθυνση λειτουργεί και το όνομα όχι, σταμάτα να κοιτάς διαδρομές. Το ιδιωτικό DNS ρυθμίζεται χωριστά, και ένα όνομα που επιλύεται σε λάθος διεύθυνση αποτυγχάνει με τρόπο που μοιάζει ίδιος με φραγμένη διαδρομή. Δοκίμασε πρώτα τη διεύθυνση και μετά το όνομα, και τα δύο αποτελέσματα σου λένε ποιο επίπεδο να ανοίξεις.
Επιβεβαίωσε τη διαδρομή που νομίζεις ότι έστησες
Η επαλήθευση είναι αναζήτηση διαδρομής συν έλεγχος διεύθυνσης, όχι ping. Η αναζήτηση λέει ποια διεπαφή θα χρησιμοποιούσε ένας προορισμός, και ο έλεγχος διεύθυνσης λέει σε ποια περιοχή ζει πραγματικά ο προορισμός. Ένα ping που πετυχαίνει λέει ότι ο κόμβος είναι ζωντανός κάπου, που δεν είναι το ερώτημα. Τρέξε και τα δύο πριν αλλάξεις οποιαδήποτε ρύθμιση.
ip route get 10.40.0.55
ip -6 route show default
tailscale ping 10.40.0.55
Συνδύασέ το με την οπτική του ίδιου του tailnet, που δείχνει αν ο ομότιμος είναι άμεσα συνδεδεμένος ή μέσω αναμετάδοσης. Η διαδρομή μέσω αναμετάδοσης λειτουργεί ακόμη, και αυτό εξηγεί παράπονα καθυστέρησης που δεν έχουν καμία σχέση με τη διαδρομή που διόρθωνες. η τεκμηρίωση του δρομολογητή υποδικτύου καλύπτει το βήμα της έγκρισης αν δεν σου είναι γνωστό. Μετά κατέγραψε ποια κατασκευή καλύπτει ποιον προορισμό στο δικό σου δίκτυο, γιατί το επόμενο άτομο που θα προσθέσει τοποθεσία θα κάνει την ίδια ερώτηση.