ZeroTier zobrazuje člena ako OK, sieť je pripojená, a napriek tomu nie je žiadna adresa na ping. Táto kombinácia vyzerá ako chyba a zvyčajne je to rozdelená konfigurácia: schválenie člena je jeden prepínač a pridelenie adresy druhý. Sieť môže zariadenie prijať a nikdy mu nič neprideliť, pretože fond adries alebo režim prideľovania nikdy nebol nastavený.

Prečítajte si obe strany, kým zmeníte ktorúkoľvek z nich. Odpoveď je viditeľná na dvoch miestach a len jedno z nich je na kontroléri.

Autorizácia a pridelenie sú rôzne prepínače

Autorizácia odpovedá, či tento uzol smie v sieti participovať. Prideľovanie adries odpovedá, čo mu sieť dá, keď už participuje, a táto odpoveď pochádza z fondu adries plus režimu prideľovania. Ani jedno nastavenie neimplikuje druhé. Jedno je povolenie a druhé je alokácia.

Konfigurácia kontroléra zvyčajne obsahuje spravovanú trasu, rozsah adries a režim, ktorý rozhoduje, či sa používa automatické prideľovanie. Skopírovanie ID siete z iného prostredia prinesie členstvo a nič z tejto konfigurácie.

Preto môže zariadenie vyzerať v zozname členov zdravo, zatiaľ čo jeho stĺpec pridelenej adresy zostáva prázdny. Kontrolér ho prijal a nemá čo dať. Obe tvrdenia platia súčasne.

LayerWhat it decidesWhere it is configured
MembershipWhether the node may joinMember authorization on the network
PoolWhich addresses exist to hand outNetwork address range
Assignment modeWhether they are handed out automaticallyNetwork v4/v6 assignment settings

Čítanie efektívneho stavu člena

Spýtajte sa klienta, čo skutočne dostal, nie čo kontrolér zamýšľal. Jednoduchý zoznam zobrazuje stĺpce stavu a adresy a forma JSON zobrazuje sieťovú konfiguráciu, ktorú klient aplikoval, vrátane spravovaných adries a trás.

zerotier-cli listnetworks
zerotier-cli -j listnetworks | jq '.networks[] | {nwid, status, assignedAddresses}'

Porovnajte oba výstupy pre to isté ID siete, nie pre fyzické adaptéry, ktoré sa objavujú vo vlastnom zozname operačného systému. Riadok, ktorý hlási OK s prázdnou množinou adries, potvrdzuje medzeru v prideľovaní, nie poruchu konektivity. Čítanie nesprávneho riadku je druhá polovica tejto chyby.

Stav ACCESS_DENIED ukazuje späť na autorizáciu, a to je iná oprava. Ak príkaz vôbec nedokáže prečítať lokálny autentifikačný token, problém je v lokálnych oprávneniach, nie v odmietnutí kontrolérom, a oprava je na stroji, pri ktorom sedíte.

Keď klient ignoruje to, čo kontrolér posiela

Klient má vlastné nastavenia, ktoré rozhodujú, či sa spravovaná konfigurácia aplikuje. Profil, ktorý vypne spravované adresy, spravované trasy alebo spracovanie predvolenej trasy, zahodí to, čo sieť posiela, a zoznam členov bude z pohľadu kontroléra stále vyzerať správne.

Tieto príznaky ovplyvňujú len lokálny uzol. Ich zmena nemení to, čo dostávajú ostatní členovia, a neopraví fond, ktorý nikdy nebol definovaný.

Diagnóza má teda dve vetvy: buď kontrolér nemá žiadnu adresu na pridelenie, alebo klient odmietol tú, ktorú dostal. Vedú k rôznym opravám na rôznych strojoch. Výstup JSON ich rozlišuje, pretože adresa buď v konfigurácii siete chýba, alebo je prítomná a chýba v aplikovanom stave klienta.

Čo opraviť namiesto vymýšľania adresy

Napísať ľubovoľnú statickú adresu je lákavá tretia možnosť a tá najhoršia. Náhodná adresa sa môže zraziť s iným uzlom, ležať mimo trás, ktoré sieť propaguje, alebo spadnúť do rozsahu, ktorý pravidlá firewallu ošetrujú inak. Tiež skrýva chýbajúci fond pred každým, kto sa na sieť pozrie nabudúce. Opravte radšej prideľovanie a nechajte kontrolér a klienta zhodnúť sa na výsledku.

Spýtajte sa správcu, čo má sieť prideľovať, potom overte, že fond pokrýva zamýšľaný rozsah a že režim prideľovania je zapnutý. Po zmene sa pripojte znova, namiesto toho, aby ste čakali, že klient sám okamžite dospeje k novej konfigurácii.

Keď sa adresa objaví, otestujte to, čo ste skutočne potrebovali: peer, službu alebo podsieť za bránou. Dostupnosť LAN za členom vyžaduje smerovanie a preposielanie nad rámec členstva a všeobecný prístup na internet vyžaduje výstupný uzol, takže fungujúca adresa je začiatok tohto testu, nie jeho koniec.

Súvisiace články