ID de nœud ou ID de réseau : lequel rejoint un réseau ZeroTier
Un ID de nœud nomme un appareil et un ID de réseau nomme le réseau virtuel. Rejoindre demande le réseau, et autoriser un membre demande l'identité de l'appareil.
Deux identifiants apparaissent dans toute conversation sur ZeroTier, et ils se ressemblent assez pour être confondus dans une fenêtre de discussion. L'ID de nœud nomme un appareil. L'ID de réseau nomme le réseau virtuel que cet appareil veut rejoindre. Rejoindre demande le second, et autoriser un membre demande le premier.
Deux identifiants, deux rôles
Une identité de nœud est générée au premier démarrage du service sur une machine, et c'est une adresse hexadécimale de dix caractères. Elle reste avec cette installation jusqu'à la suppression des fichiers d'identité, ce qui explique qu'une réinstallation peut produire un nouveau membre que personne n'a approuvé. Un ID de réseau fait seize caractères hexadécimaux, et il désigne un réseau virtuel plutôt qu'une machine. Le contrôleur qui possède le réseau est lui-même un nœud, ce qui explique que les dix premiers caractères de l'ID de réseau correspondent à l'adresse du contrôleur.
Aucune des deux valeurs n'est un secret et aucune ne remplace l'autre. Partager l'ID de réseau avec chaque participant est normal ; partager un ID de nœud désigne un appareil au contrôleur.
Lisez chaque valeur dans la commande qui la rapporte
Une commande rapporte l'identité du service local, et une autre les réseaux qu'il a rejoints. Demander une valeur à la mauvaise commande, c'est ainsi que l'on finit par coller un ID de réseau dans une liste de membres.
zerotier-cli info zerotier-cli status zerotier-cli listnetworks
La première affiche l'adresse du nœud et indique si le service est en ligne. La deuxième ajoute des informations de version et de port. La troisième liste les réseaux rejoints avec leurs ID, leur état et leurs adresses attribuées, et c'est la seule à utiliser lorsqu'il vous faut l'ID de réseau.
Rejoignez avec le réseau, autorisez avec le nœud
La commande de jointure prend l'ID de réseau fourni par celui qui exploite le contrôleur. Une réponse positive de la commande signifie que la demande a été soumise, non que l'adhésion à un réseau privé a été accordée.
Après la jointure, l'administrateur autorise l'appareil par son ID de nœud dans la liste des membres de ce réseau. Il n'a plus besoin de l'ID de réseau, et il ne peut pas autoriser un appareil par son nom d'hôte, car l'identité est l'adresse. Si vous êtes l'administrateur, lisez la liste des membres et comparez l'adresse du nœud à la demande. Une demande qui nomme un réseau mais pas d'adresse de nœud n'est pas exploitable.
Le préfixe partagé a une raison
Comme un ID de réseau commence par l'adresse de nœud du contrôleur, les mêmes dix caractères apparaissent aux deux endroits. C'est une commodité de routage, pas un indice que les deux valeurs sont interchangeables.
Cela explique aussi pourquoi l'identité d'un contrôleur compte plus que son nom affiché. Restaurer un contrôleur sous une nouvelle identité crée un autre espace d'adresses, si bien que les réseaux définis sous l'ancienne ne sont pas les mêmes réseaux même si les noms sont réutilisés.
Conservez l'identité du contrôleur dans votre sauvegarde avec sa configuration. Traiter cette identité comme une étiquette régénérable transforme une restauration en refonte.
Vérifiez le résultat, pas la sortie de la commande
Une jointure réussie est le début de la vérification, pas sa fin. Regardez ensuite l'entrée de réseau et lisez trois champs : l'état, l'adresse attribuée et l'ID de réseau.
zerotier-cli listnetworks -j ip -br addr show | grep zt ping -c 2 10.147.20.5
La première commande affiche la même liste sous une forme analysable, ce qui facilite la comparaison avec ce que l'administrateur attendait. La deuxième confirme que l'interface a reçu une adresse, et la troisième teste un pair sur le réseau plutôt que l'état local.
Si l'entrée indique ACCESS_DENIED, l'ID de nœud n'est pas autorisé. Si elle indique NOT_FOUND, l'ID de réseau est faux. Si elle indique OK sans adresse, l'attribution d'adresses du contrôleur est la question suivante, et aucune des trois ne se règle en rejoignant de nouveau.