ZeroTier показва ONLINE, но ACCESS_DENIED: къде се поправя?
ONLINE описва връзката с кореновата инфраструктура; ACCESS_DENIED описва членство в една мрежа. Поправката е от страна на контролера.
ZeroTier съобщава ONLINE на ниво услуга и ACCESS_DENIED на ниво мрежа и двете не са противоречие. Първото е твърдение за пътя между вашия клиент и инфраструктурата за координация. Второто е твърдение за списъка с членове на една мрежа. Четете ги поотделно и комбинацията ще ви каже точно къде да гледате.
Какво измерва ONLINE
Командата за състояние съобщава дали локалната услуга има работещ път до кореновите сървъри, които координират откриването на партньори. Тя не казва нищо за отделна мрежа и нищо за това дали контролер е одобрил това устройство. Затова нова инсталация на работеща връзка съобщава ONLINE веднага, преди някой да я е оторизирал някъде.
Третирайте ONLINE като твърдение за тръбите, а състоянието за всяка мрежа — като твърдение за членството. Използването на едното, за да обясните другото, е мястото, откъдето започва по-голямата част от това объркване.
Какво иска от вас ACCESS_DENIED
В частна мрежа контролерът поддържа списък с членове. Възел, който липсва в този списък или е вписан, но не е оторизиран, получава ACCESS_DENIED без конфигурация отвъд основния ръкостиск. Поправката е от страна на контролера и се нуждае от адреса на възела, а не от името на машината, затова сравнете адреса от изхода на клиента със записа за членство и оторизирайте този запис.
Преинсталирането на клиента е грешен първи ход, защото новата инсталация носи нова идентичност и старата оторизация вече не се отнася за нея. Ако мрежата е публична, същото състояние сочи към друго условие, затова попитайте собственика на контролера дали мрежата е частна, преди да поискате одобрение. Този един въпрос решава остатъка от разговора.
Текстът за състоянието е разклонение, не присъда
Всяко състояние стеснява следващата проверка и именно четенето им като едно съобщение за грешка превръща поправка за две минути в цял следобед преинсталиране. NOT_FOUND означава, че идентификаторът, който сте въвели, не съществува при този контролер, така че въпросът за членството още не е достигнат. REQUESTING_CONFIGURATION означава, че възелът е достигнал контролера и чака конфигурация, която не пристига, което сочи към пътя, а не към оторизацията. OK означава, че членството и конфигурацията са налице, затова следващият въпрос е зададеният адрес и след това самата услуга.
Две команди разделят всичко това и двете четат същия клиент. Справочникът за ZeroTier CLI изброява низовете за състояние за всяка мрежа, които те връщат. Първата команда е изгледът на услугата, а втората е за всяка мрежа:
zerotier-cli status
zerotier-cli listnetworks
Запазете текста за състоянието, когато искате помощ от администратора. Локална команда за присъединяване, която е отпечатала потвърждение, доказва само, че заявката е приета локално, а това е различен факт от това да бъдете допуснати.
Членството принадлежи на идентичност
Именно файловете за идентичност на клиента разпознава контролерът, затова копирането на конфигурация на друга машина или изчистването на идентичността при преинсталация създава член, когото контролерът никога не е виждал. Затова също изтриването на запис за член се различава от отнемането на оторизацията му. Оторизиран възел, който все още работи, продължава да опитва, а запис, който е бил изтрит, вместо отнет, може да се върне като нова заявка от същия адрес.
Когато извеждате устройство от употреба, първо отнемете оторизацията и потвърдете, че записът отразява това състояние, преди да премахнете каквото и да е. Редът е разликата между чисто премахване и мистериозно повторно присъединяване.
Проверете след промяната
Прочетете отново записа за мрежата, вместо командата, която е направила промяната. Четири въпроса покриват резултата и всеки един от тях може да е грешен, докато останалите изглеждат правилни:
zerotier-cli listnetworks
ip -br addr show
ping -c 2 10.147.20.5
ip route get 10.147.20.5
Първата отпечатва членството и зададения адрес за всяка мрежа, а втората показва дали интерфейс действително е получил този адрес. Последните две доказват, че партньор в мрежата отговаря и кой интерфейс носи трафика. Отбележете коя команда на кой въпрос е отговорила, за да започне следващият човек от доказателства, а не от памет.
Ако членството е OK и адресът е налице, но партньорите не отговарят, проблемът се е преместил към маршрутизацията или към собствената политика на партньора. Извадете текста за състоянието от този разговор, защото той вече си е свършил работата. Записът за членство и пътят са отделни теми и колкото по-скоро се разделят, толкова по-кратко става разследването.