ZeroTier mostra o membro como OK, a rede está unida e aínda non hai ningún enderezo ao que facer ping. Esa combinación parece un fallo e normalmente é unha configuración dividida: aprobar un membro é un interruptor e darlle un enderezo é outro. Unha rede pode aceptar un dispositivo e nunca asignarlle nada, porque o conxunto de enderezos ou o modo de asignación nunca se configurou.

Le os dous lados antes de cambiar calquera deles. A resposta é visible en dous lugares, e só un deles está no controlador.

Autorización e asignación son interruptores distintos

A autorización responde se este nodo pode participar na rede. A asignación de enderezos responde que lle entrega a rede unha vez que participa, e esa resposta procede dun conxunto de enderezos máis un modo de asignación. Ningún dos dous axustes implica o outro. Un é un permiso e o outro é unha asignación.

A configuración dun controlador adoita incluír unha ruta xestionada, un rango de enderezos e o modo que decide se se usa a asignación automática. Copiar un identificador de rede doutro ambiente trae a pertenza e nada desa configuración.

Por iso un dispositivo pode verse san na lista de membros mentres a súa columna de enderezo asignado segue baleira. O controlador aceptouno e non ten nada que dar. Ambas as afirmacións son certas á vez.

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

Ler o estado efectivo do membro

Pregunta ao cliente que recibiu realmente en lugar de que pretendía o controlador. A lista simple mostra columnas de estado e enderezo, e a forma JSON mostra a configuración de rede que o cliente aplicou, incluíndo enderezos e rutas xestionadas.

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

Compara as dúas saídas para o mesmo identificador de rede, non para os adaptadores físicos que aparecen na lista propia do sistema operativo. Unha fila que informa de OK cun conxunto de enderezos baleiro confirma o oco de asignación e non unha falla de conectividade. Ler a fila equivocada é a outra metade deste erro.

Un estado ACCESS_DENIED apunta de volta á autorización, e esa é outra reparación. Se a orde non pode ler en absoluto o token de autenticación local, o problema son os permisos locais e non un rexeitamento do controlador, e a corrección está na máquina na que estás sentado.

Cando o cliente ignora o que envía o controlador

O cliente ten os seus propios axustes que deciden se se aplica a configuración xestionada. Un perfil que desactive enderezos xestionados, rutas xestionadas ou o tratamento da ruta predeterminada descartará o que envía a rede, e a lista de membros seguirá parecendo correcta desde o lado do controlador.

Eses indicadores só afectan o nodo local. Cambialos non altera o que reciben outros membros e non repara un conxunto que nunca se definiu.

Así que o diagnóstico ten dúas ramas: ou o controlador non ten ningunha dirección que dar, ou o cliente rexeitou a que se lle deu. Levan a reparacións distintas en máquinas distintas. A saída JSON distíngueas, porque o enderezo ou está ausente da configuración da rede ou está presente e falta no estado aplicado do cliente.

Que reparar en lugar de inventar un enderezo

Escribir un enderezo estático arbitrario é a terceira opción tentadora e a peor. Un enderezo aleatorio pode chocar con outro nodo, quedar fóra das rutas que a rede propaga ou caer nun rango que as regras do firewall tratan de forma distinta. Tamén agocha o conxunto que falta a quen mire a rede despois. Repara a asignación e deixa que o controlador e o cliente coincidan no resultado.

Pregunta ao administrador que debe entregar a rede, despois verifica que o conxunto cubra o rango previsto e que o modo de asignación estea activado. Volve unirte despois do cambio en lugar de esperar que o cliente chegue por si só de inmediato a unha configuración nova.

Cando apareza un enderezo, proba o que realmente necesitabas: un par, un servizo ou unha subrede detrás dunha pasarela. Alcanzar unha LAN detrás dun membro require encamiñamento e reenvío máis alá da pertenza, e o acceso xeral a internet require un nodo de saída, así que un enderezo que funciona é o comezo desa proba e non o seu final.

Artigos relacionados