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

Τι μετρά το ONLINE

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

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

Τι σας ζητά το ACCESS_DENIED

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

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

Το κείμενο κατάστασης είναι κλάδος, όχι ετυμηγορία

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

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

zerotier-cli status
zerotier-cli listnetworks

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

Η συμμετοχή ανήκει σε μια ταυτότητα

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

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

Επαληθεύστε μετά την αλλαγή

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

zerotier-cli listnetworks
ip -br addr show
ping -c 2 10.147.20.5
ip route get 10.147.20.5

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

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

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