ZeroTier muestra el miembro como OK, la red está unida y aun así no hay ninguna dirección a la que hacer ping. Esa combinación parece un fallo y normalmente es una configuración dividida: aprobar a un miembro es un interruptor y darle una dirección es otro. Una red puede aceptar un dispositivo y no asignarle nunca nada, porque el grupo de direcciones o el modo de asignación nunca se configuró.

Lee ambos lados antes de cambiar cualquiera de ellos. La respuesta es visible en dos lugares, y solo uno de ellos está en el controlador.

Autorización y asignación son interruptores distintos

La autorización responde si este nodo puede participar en la red. La asignación de direcciones responde qué le entrega la red una vez que participa, y esa respuesta procede de un grupo de direcciones más un modo de asignación. Ninguno de los dos ajustes implica al otro. Uno es un permiso y el otro es una asignación.

La configuración de un controlador suele incluir una ruta gestionada, un rango de direcciones y el modo que decide si se usa la asignación automática. Copiar un identificador de red de otro entorno trae la pertenencia y nada de esa configuración.

Por eso un dispositivo puede verse sano en la lista de miembros mientras su columna de dirección asignada sigue vacía. El controlador lo ha aceptado y no tiene nada que dar. Ambas afirmaciones son ciertas a la 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

Leer el estado efectivo del miembro

Pregunta al cliente qué recibió realmente en lugar de qué pretendía el controlador. La lista simple muestra columnas de estado y dirección, y la forma JSON muestra la configuración de red que el cliente aplicó, incluidas direcciones y rutas gestionadas.

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

Compara las dos salidas para el mismo identificador de red, no para los adaptadores físicos que aparecen en la lista propia del sistema operativo. Una fila que informa OK con un conjunto de direcciones vacío confirma el hueco de asignación y no una falla de conectividad. Leer la fila equivocada es la otra mitad de este error.

Un estado ACCESS_DENIED apunta de vuelta a la autorización, y esa es otra reparación. Si el comando no puede leer en absoluto el token de autenticación local, el problema son los permisos locales y no un rechazo del controlador, y la corrección está en la máquina en la que estás sentado.

Cuando el cliente ignora lo que envía el controlador

El cliente tiene sus propios ajustes que deciden si se aplica la configuración gestionada. Un perfil que desactive direcciones gestionadas, rutas gestionadas o el manejo de la ruta predeterminada descartará lo que envía la red, y la lista de miembros seguirá viéndose correcta desde el lado del controlador.

Esos indicadores solo afectan al nodo local. Cambiarlos no altera lo que reciben otros miembros y no repara un grupo que nunca se definió.

Así que el diagnóstico tiene dos ramas: o el controlador no tiene ninguna dirección que dar, o el cliente rechazó la que se le dio. Llevan a reparaciones distintas en máquinas distintas. La salida JSON las distingue, porque la dirección o está ausente de la configuración de la red o está presente y falta en el estado aplicado del cliente.

Qué reparar en lugar de inventar una dirección

Escribir una dirección estática arbitraria es la tercera opción tentadora y la peor. Una dirección aleatoria puede chocar con otro nodo, quedar fuera de las rutas que la red propaga o caer en un rango que las reglas del firewall tratan de forma distinta. También esconde el grupo que falta a quien mire la red después. Repara la asignación y deja que el controlador y el cliente coincidan en el resultado.

Pregunta al administrador qué debe entregar la red, luego verifica que el grupo cubra el rango previsto y que el modo de asignación esté activado. Vuelve a unirte después del cambio en lugar de esperar que el cliente llegue por sí solo de inmediato a una configuración nueva.

Cuando aparezca una dirección, prueba lo que realmente necesitabas: un par, un servicio o una subred detrás de una puerta de enlace. Alcanzar una LAN detrás de un miembro requiere enrutamiento y reenvío más allá de la pertenencia, y el acceso general a internet requiere un nodo de salida, así que una dirección que funciona es el comienzo de esa prueba y no su final.

Artículos relacionados