Идентификатор на възел или на мрежа: кой се присъединява към мрежа ZeroTier
Идентификаторът на възел именува устройство, а идентификаторът на мрежа — виртуалната мрежа. Присъединяването изисква мрежата, а оторизирането на член — идентичността на устройството.
Два идентификатора се появяват във всеки разговор за ZeroTier и изглеждат достатъчно сходни, за да бъдат объркани в чат прозорец. Идентификаторът на възел именува устройство. Идентификаторът на мрежа именува виртуалната мрежа, към която това устройство иска да се присъедини. Присъединяването взема втория, а оторизирането на член — първия.
Два идентификатора, две задачи
Идентичността на възел се създава при първото стартиране на услугата на машина и е шестнадесетичен адрес от десет знака. Тя остава с тази инсталация, докато файловете с идентичност не бъдат премахнати, поради което преинсталиране може да създаде нов член, който никой не е одобрил. Идентификаторът на мрежа е шестнадесет шестнадесетични знака и определя виртуална мрежа, а не машина. Контролерът, който притежава мрежата, сам е възел, поради което първите десет знака от идентификатора на мрежата съвпадат с адреса на контролера.
Нито една от двете стойности не е тайна и нито една не замества другата. Споделянето на идентификатора на мрежа с всеки участник е нормално; споделянето на идентификатор на възел идентифицира едно устройство пред контролера.
Четете всяка стойност от командата, която я отчита
Една команда отчита идентичността на локалната услуга, а друга — мрежите, към които се е присъединила. Запитването на стойност от грешната команда е начинът, по който хората стигат до поставяне на идентификатор на мрежа в списък с членове.
zerotier-cli info zerotier-cli status zerotier-cli listnetworks
Първата отпечатва адреса на възела и дали услугата е онлайн. Втората добавя информация за версията и порта. Третата изброява присъединените мрежи с техните идентификатори, състояние и зададени адреси и е единствената, която трябва да се използва, когато ви трябва идентификаторът на мрежата.
Присъединете се с мрежата, оторизирайте с възела
Командата за присъединяване взема идентификатора на мрежата, предоставен от този, който управлява контролера. Положителен отговор от командата означава, че заявката е подадена, а не че членство в частна мрежа е предоставено.
След присъединяването администраторът оторизира устройството по неговия идентификатор на възел в списъка с членове за тази мрежа. Той вече не се нуждае от идентификатора на мрежата и не може да оторизира устройство по име на хост, защото идентичността е адресът. Ако сте администратор, прочетете списъка с членове и съпоставете адреса на възела със заявката. Заявка, която посочва мрежа, но не и адрес на възел, не може да бъде изпълнена.
Споделеният префикс има причина
Тъй като идентификаторът на мрежа започва с адреса на възела на контролера, същите десет знака се появяват на двете места. Това е удобство за маршрутизиране, а не намек, че двете стойности са взаимозаменяеми.
Това също обяснява защо идентичността на контролера е по-важна от показваното му име. Възстановяването на контролер под нова идентичност създава различно адресно пространство, така че мрежите, дефинирани под старата, не са същите мрежи, дори имената да се използват повторно.
Пазете идентичността на контролера в резервното си копие заедно с конфигурацията му. Отнасянето към тази идентичност като към етикет, който може да се пресъздаде, превръща възстановяването в препроектиране.
Проверявайте резултата, не изхода на командата
Успешното присъединяване е началото на проверката, не нейният край. След това погледнете записа за мрежата и прочетете три полета: състоянието, зададения адрес и идентификатора на мрежата.
zerotier-cli listnetworks -j ip -br addr show | grep zt ping -c 2 10.147.20.5
Първата команда отпечатва същия списък в разбираем за анализ вид, което улеснява сравнението с очакваното от администратора. Втората потвърждава, че интерфейсът е получил адрес, а третата тества партньор в мрежата, а не локалното състояние.
Ако записът казва ACCESS_DENIED, идентификаторът на възела не е оторизиран. Ако казва NOT_FOUND, идентификаторът на мрежата е грешен. Ако казва OK без адрес, следващият въпрос е задаването на адреси от контролера и нито един от тези три случая не се решава с повторно присъединяване.