ID węzła czy ID sieci: co dołącza do sieci ZeroTier
ID węzła nazywa urządzenie, a ID sieci nazywa sieć wirtualną. Dołączenie wymaga sieci, a autoryzacja członka wymaga tożsamości urządzenia.
W każdej rozmowie o ZeroTier pojawiają się dwa identyfikatory i wyglądają dość podobnie, by pomylić je w oknie czatu. ID węzła nazywa urządzenie. ID sieci nazywa sieć wirtualną, do której to urządzenie chce dołączyć. Dołączenie bierze drugi, a autoryzacja członka pierwszy.
Dwa identyfikatory, dwa zadania
Tożsamość węzła powstaje, gdy usługa po raz pierwszy działa na maszynie, i jest to szesnastkowy adres o dziesięciu znakach. Pozostaje przy tej instalacji, dopóki pliki tożsamości nie zostaną usunięte, dlatego reinstalacja może utworzyć nowego członka, którego nikt nie zatwierdził. ID sieci to szesnaście znaków szesnastkowych i wskazuje sieć wirtualną, a nie maszynę. Kontroler, który posiada sieć, sam jest węzłem, dlatego pierwsze dziesięć znaków ID sieci zgadza się z adresem kontrolera.
Żadna z tych wartości nie jest tajemnicą i żadna nie zastępuje drugiej. Udostępnianie ID sieci każdemu uczestnikowi jest normalne; udostępnienie ID węzła wskazuje kontrolerowi jedno urządzenie.
Każdą wartość czytaj z polecenia, które ją zgłasza
Jedno polecenie zgłasza tożsamość lokalnej usługi, a inne sieci, do których dołączyła. Pytanie niewłaściwego polecenia o wartość to sposób, w jaki ludzie w końcu wklejają ID sieci do listy członków.
zerotier-cli info zerotier-cli status zerotier-cli listnetworks
Pierwsze wypisuje adres węzła i to, czy usługa jest online. Drugie dodaje informacje o wersji i porcie. Trzecie wymienia dołączone sieci z ich ID, statusem i przypisanymi adresami i jest jedynym, którego należy użyć, gdy potrzebujesz ID sieci.
Dołączaj siecią, autoryzuj węzłem
Polecenie dołączenia bierze ID sieci podane przez osobę zarządzającą kontrolerem. Pozytywna odpowiedź polecenia oznacza, że żądanie zostało wysłane, a nie że członkostwo w sieci prywatnej zostało przyznane.
Po dołączeniu administrator autoryzuje urządzenie po jego ID węzła na liście członków tej sieci. Nie potrzebuje już ID sieci i nie może autoryzować urządzenia po nazwie hosta, ponieważ tożsamością jest adres. Jeśli jesteś administratorem, przeczytaj listę członków i porównaj adres węzła z żądaniem. Żądanie, które wymienia sieć, ale nie adres węzła, nie jest wykonalne.
Wspólny prefiks ma powód
Ponieważ ID sieci zaczyna się od adresu węzła kontrolera, te same dziesięć znaków pojawia się w obu miejscach. To wygoda routingu, a nie wskazówka, że obie wartości są wymienne.
Wyjaśnia to też, dlaczego tożsamość kontrolera liczy się bardziej niż jego wyświetlana nazwa. Przywrócenie kontrolera pod nową tożsamością tworzy inną przestrzeń adresową, więc sieci zdefiniowane pod starą nie są tymi samymi sieciami, nawet jeśli nazwy są używane ponownie.
Przechowuj tożsamość kontrolera w kopii zapasowej razem z jego konfiguracją. Traktowanie tej tożsamości jako etykiety do ponownego wygenerowania zamienia przywracanie w przeprojektowanie.
Sprawdzaj wynik, a nie wyjście polecenia
Udane dołączenie to początek sprawdzania, a nie jego koniec. Potem spójrz na wpis sieci i odczytaj trzy pola: status, przypisany adres i ID sieci.
zerotier-cli listnetworks -j ip -br addr show | grep zt ping -c 2 10.147.20.5
Pierwsze polecenie wypisuje tę samą listę w formie możliwej do przetworzenia, co ułatwia porównanie z tym, czego oczekiwał administrator. Drugie potwierdza, że interfejs otrzymał adres, a trzecie testuje partnera w sieci, a nie stan lokalny.
Jeśli wpis mówi ACCESS_DENIED, ID węzła nie jest autoryzowane. Jeśli mówi NOT_FOUND, ID sieci jest błędne. Jeśli mówi OK bez adresu, następnym pytaniem jest przydział adresów przez kontroler, a żadnego z tych trzech nie rozwiązuje ponowne dołączenie.