ZeroTier rapporterar ONLINE på servicenivå och ACCESS_DENIED på nätverksnivå, och paret är ingen motsägelse. Det första är ett påstående om vägen mellan din klient och koordineringsinfrastrukturen. Det andra är ett påstående om medlemslistan för ett nätverk. Läs dem var för sig, och kombinationen säger exakt var du ska leta.

Vad ONLINE mäter

Statuskommandot rapporterar om den lokala tjänsten har en fungerande väg till de rotservrar som samordnar peer-upptäckt. Det säger ingenting om ett enskilt nätverk, och ingenting om huruvida en kontrollant har godkänt den här enheten. En ny installation på en fungerande anslutning rapporterar därför ONLINE direkt, innan någon har auktoriserat den någonstans.

Behandla ONLINE som ett påstående om rördragningen och statusen per nätverk som ett påstående om medlemskap. Att förklara det ena med det andra är där det mesta av den här förvirringen börjar.

Vad ACCESS_DENIED begär av dig

I ett privat nätverk håller kontrollanten en medlemslista. En nod som saknas i listan, eller står där men inte är auktoriserad, får ACCESS_DENIED tillsammans med ingen konfiguration utöver det grundläggande handslaget. Åtgärden finns på kontrollantens sida och kräver nodadressen i stället för maskinnamnet, så jämför adressen i klientens utdata med medlemsposten och auktorisera den posten.

Att installera om klienten är fel första steg, eftersom en ny installation för med sig en ny identitet och den gamla auktorisationen inte längre gäller för den. Om nätverket är offentligt pekar samma status på ett annat tillstånd, så fråga kontrollantens ägare om nätverket är privat innan du begär godkännande. Den enda frågan avgör resten av samtalet.

Statustext är en gren, inte en dom

Varje status snävar in nästa kontroll, och att läsa dem som ett enda felmeddelande är det som gör en tvåminutersfix till en hel eftermiddag av ominstallationer. NOT_FOUND betyder att den identifierare du skrev in inte finns hos den kontrollanten, så medlemskapsfrågan är ännu inte nådd. REQUESTING_CONFIGURATION betyder att noden nådde kontrollanten och väntar på konfiguration som inte kommer, vilket pekar på vägen och inte på auktorisationen. OK betyder att medlemskap och konfiguration är på plats, så är nästa fråga den tilldelade adressen och därefter själva tjänsten.

Två kommandon skiljer allt detta, och båda läser samma klient. ZeroTier CLI-referensen listar statussträngarna per nätverk som de returnerar. Det första kommandot är tjänstevyn och det andra är per nätverk:

zerotier-cli status
zerotier-cli listnetworks

Spara statustexten när du ber administratören om hjälp. Ett lokalt join-kommando som skrev ut en bekräftelse bevisar bara att begäran togs emot lokalt, vilket är ett annat faktum än att bli insläppt.

Medlemskap tillhör en identitet

Det är klientens identitetsfiler som kontrollanten känner igen, så att kopiera en konfiguration till en annan maskin eller rensa identiteten vid en ominstallation ger en medlem som kontrollanten aldrig har sett. Det är också skälet till att att radera en medlemspost skiljer sig från att återkalla dess auktorisation. En auktoriserad nod som fortfarande kör fortsätter att försöka, och en post som raderades i stället för återkallades kan komma tillbaka som en ny begäran från samma adress.

När du avvecklar en enhet, återkalla dess auktorisation först och bekräfta att posten återspeglar det tillståndet innan du tar bort något. Ordningen är skillnaden mellan en ren borttagning och ett mystiskt återinträde.

Verifiera efter ändringen

Läs nätverksposten igen i stället för kommandot som gjorde ändringen. Fyra frågor täcker utfallet, och vilken som helst av dem kan vara fel medan de andra ser rätt ut:

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

Den första skriver ut medlemskap och tilldelad adress för varje nätverk, och den andra visar om ett gränssnitt faktiskt fick den adressen. De två sista bevisar att en peer i nätverket svarar och vilket gränssnitt som bär trafiken. Anteckna vilket kommando som svarade på vilken fråga, så att nästa person börjar från bevis och inte från minnet.

Om medlemskapet är OK och adressen finns men peers svarar inte, har problemet flyttat till routning eller till peerns egen policy. Ta bort statustexten från det samtalet, för den har redan gjort sitt jobb. Medlemsposten och vägen är separata ämnen, och ju tidigare de skiljs, desto kortare blir undersökningen.

Relaterade artiklar