Autorizirano u ZeroTieru, ali bez adrese? Dvije odvojene postavke
Odobriti člana i dodijeliti mu adresu dvije su postavke. Pročitajte bazen, način dodjele i primijenjeno stanje klijenta prije nego što izmislite IP.
ZeroTier prikazuje člana kao OK, mreža je pridružena, a adrese za ping još nema. Ta kombinacija izgleda kao greška i obično je podijeljena konfiguracija: odobravanje člana jedan je prekidač, a dodjela adrese drugi. Mreža može prihvatiti uređaj i nikada mu ništa ne dodijeliti jer bazen adresa ili način dodjele nikada nije postavljen.
Pročitajte obje strane prije nego što promijenite bilo koju. Odgovor je vidljiv na dva mjesta, a samo je jedno od njih na kontroleru.
Autorizacija i dodjela različiti su prekidači
Autorizacija odgovara smije li ovaj čvor sudjelovati u mreži. Dodjela adrese odgovara što mu mreža daje nakon sudjelovanja, a taj odgovor dolazi iz bazena adresa plus načina dodjele. Nijedna postavka ne podrazumijeva drugu. Jedna je dopuštenje, druga je raspodjela.
Konfiguracija kontrolera obično nosi upravljanu rutu, raspon adresa i način koji odlučuje koristi li se automatska dodjela. Kopiranje ID-a mreže iz drugog okruženja donosi članstvo i ništa od te konfiguracije.
Zato uređaj može izgledati zdravo na popisu članova dok njegov stupac dodijeljene adrese ostaje prazan. Kontroler ga je prihvatio i nema što dati. Obje tvrdnje istovremeno su točne.
| Layer | What it decides | Where it is configured |
|---|---|---|
| Membership | Whether the node may join | Member authorization on the network |
| Pool | Which addresses exist to hand out | Network address range |
| Assignment mode | Whether they are handed out automatically | Network v4/v6 assignment settings |
Čitanje stvarnog stanja člana
Pitajte klijenta što je stvarno primio, a ne što je kontroler namjeravao. Obični popis prikazuje stupce statusa i adrese, a JSON oblik prikazuje mrežnu konfiguraciju koju je klijent primijenio, uključujući upravljane adrese i rute.
zerotier-cli listnetworks
zerotier-cli -j listnetworks | jq '.networks[] | {nwid, status, assignedAddresses}'
Usporedite ta dva izlaza za isti ID mreže, a ne za fizičke adaptere koji se pojavljuju na vlastitom popisu operacijskog sustava. Red koji javlja OK s praznim skupom adresa potvrđuje prazninu u dodjeli, a ne kvar povezanosti. Čitanje pogrešnog reda druga je polovica ove pogreške.
Status ACCESS_DENIED upućuje natrag na autorizaciju, a to je druga popravka. Ako naredba uopće ne može pročitati lokalni token za provjeru identiteta, problem su lokalne dozvole, a ne odbijanje kontrolera, i popravak je na računalu na kojem sjedite.
Kada klijent ignorira ono što kontroler šalje
Klijent ima vlastite postavke koje odlučuju primjenjuje li se upravljana konfiguracija. Profil koji onemogući upravljane adrese, upravljane rute ili obradu zadane rute odbacit će ono što mreža šalje, a popis članova će sa strane kontrolera i dalje izgledati ispravno.
Te zastavice utječu samo na lokalni čvor. Njihova promjena ne mijenja ono što primaju drugi članovi i ne popravlja bazen koji nikada nije definiran.
Dijagnoza dakle ima dvije grane: kontroler nema adresu koju bi dao, ili je klijent odbio onu koja mu je dana. One vode do različitih popravaka na različitim računalima. JSON izlaz ih razlikuje jer adresa ili nedostaje u konfiguraciji mreže, ili postoji i nedostaje u primijenjenom stanju klijenta.
Što popraviti umjesto izmišljanja adrese
Upisivanje proizvoljne statičke adrese primamljiva je treća opcija i najgora. Slučajna adresa može se sudariti s drugim čvorom, pasti izvan ruta koje mreža propagira ili u raspon koji firewall pravila tretiraju drukčije. Ona također skriva bazen koji nedostaje od svakoga tko sljedeći pogleda mrežu. Popravite radije dodjelu i pustite kontroler i klijent da se slože o rezultatu.
Pitajte administratora što mreža treba davati, zatim provjerite pokriva li bazen predviđeni raspon i je li način dodjele uključen. Ponovno se pridružite nakon promjene, umjesto da očekujete da će klijent sam odmah doći do nove konfiguracije.
Kad se adresa pojavi, testirajte što vam je stvarno trebalo: peer, uslugu ili podmrežu iza pristupnika. Dosezanje LAN-a iza člana zahtijeva usmjeravanje i prosljeđivanje izvan članstva, a opći pristup internetu zahtijeva izlazni čvor, pa je radna adresa početak tog testa, a ne njegov kraj.