У кожній розмові про ZeroTier з'являються два ідентифікатори, і вони достатньо схожі, щоб їх плутали у вікні чату. ID вузла називає пристрій. ID мережі називає віртуальну мережу, до якої цей пристрій хоче приєднатися. Приєднання бере другий, а авторизація учасника — перший.

Два ідентифікатори, два завдання

Ідентичність вузла створюється під час першого запуску служби на машині, і це шістнадцяткова адреса з десяти символів. Вона залишається з цим встановленням, доки не видалено файли ідентичності, тому перевстановлення може створити нового учасника, якого ніхто не схвалив. ID мережі — шістнадцять шістнадцяткових символів, і він позначає віртуальну мережу, а не машину. Контролер, якому належить мережа, сам є вузлом, тому перші десять символів ID мережі збігаються з адресою контролера.

Жодне зі значень не є секретом, і жодне не замінює інше. Ділитися ID мережі з кожним учасником нормально; передача ID вузла вказує контролеру на один пристрій.

Читайте кожне значення з команди, яка його повідомляє

Одна команда повідомляє ідентичність локальної служби, а інша — мережі, до яких вона приєдналася. Просити значення в неправильної команди — це шлях, яким люди зрештою вставляють ID мережі в список учасників.

zerotier-cli info
zerotier-cli status
zerotier-cli listnetworks

Перша друкує адресу вузла і те, чи служба онлайн. Друга додає відомості про версію і порт. Третя перелічує приєднані мережі з їхніми ID, станом і призначеними адресами, і це єдина команда, яку слід використовувати, коли потрібен ID мережі.

Приєднуйтеся мережею, авторизуйте вузлом

Команда приєднання бере ID мережі, який надає той, хто керує контролером. Позитивна відповідь команди означає, що запит надіслано, а не що членство в приватній мережі надано.

Після приєднання адміністратор авторизує пристрій за його ID вузла у списку учасників цієї мережі. Йому більше не потрібен ID мережі, і він не може авторизувати пристрій за іменем хоста, бо ідентичність — це адреса. Якщо ви адміністратор, прочитайте список учасників і звірте адресу вузла із запитом. Запит, у якому названо мережу, але немає адреси вузла, невиконуваний.

Спільний префікс має причину

Оскільки ID мережі починається з адреси вузла контролера, ті самі десять символів видно в обох місцях. Це зручність маршрутизації, а не натяк на те, що значення взаємозамінні.

Це також пояснює, чому ідентичність контролера важливіша за його показане ім'я. Відновлення контролера під новою ідентичністю створює інший адресний простір, тому мережі, визначені під старою, не є тими самими мережами, навіть якщо імена використовуються повторно.

Зберігайте ідентичність контролера в резервній копії разом з його конфігурацією. Якщо ставитися до цієї ідентичності як до мітки, яку можна створити заново, відновлення перетворюється на перепроєктування.

Перевіряйте результат, а не вивід команди

Успішне приєднання — це початок перевірки, а не її кінець. Потім подивіться на запис мережі та прочитайте три поля: стан, призначену адресу і ID мережі.

zerotier-cli listnetworks -j
ip -br addr show | grep zt
ping -c 2 10.147.20.5

Перша команда друкує той самий список у розбірному вигляді, що полегшує порівняння з тим, чого очікував адміністратор. Друга підтверджує, що інтерфейс отримав адресу, а третя перевіряє партнера в мережі, а не локальний стан.

Якщо запис каже ACCESS_DENIED, ID вузла не авторизовано. Якщо він каже NOT_FOUND, ID мережі неправильний. Якщо він каже OK без адреси, наступне питання — призначення адрес контролером, і жодне з цих трьох не вирішується повторним приєднанням.

Схожі статті