ZeroTier приказује члана као OK, мрежа је придружена, а адресе за ping још нема. Та комбинација изгледа као грешка и обично је подељена конфигурација: одобравање члана је један прекидач, а додела адресе је други. Мрежа може да прихвати уређај и никада му ништа не додели, јер базен адреса или режим доделе никада није подешен.

Прочитајте обе стране пре него што промените било коју. Одговор се види на два места, а само једно од њих је на контролеру.

Ауторизација и додела су различити прекидачи

Ауторизација одговара на питање сме ли овај чвор да учествује у мрежи. Додела адресе одговара на питање шта му мрежа даје када учествује, а тај одговор долази из базена адреса заједно са режимом доделе. Ниједна поставка не подразумева другу. Једна је дозвола, друга је расподела.

Конфигурација контролера обично носи управљану руту, опсег адреса и режим који одлучује да ли се користи аутоматска додела. Копирање ID-ја мреже из другог окружења доноси чланство и ништа од те конфигурације.

Зато уређај може изгледати здраво на листи чланова док његова колона додељене адресе остаје празна. Контролер га је прихватио и нема шта да да. Обе тврдње су тачне у исто време.

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

Читање стварног стања члана

Питајте клијента шта је заиста примио, а не шта је контролер намеравао. Обична листа приказује колоне статуса и адресе, а JSON облик приказује мрежну конфигурацију коју је клијент применио, укључујући управљане адресе и руте.

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

Упоредите та два излаза за исти ID мреже, а не за физичке адаптере који се појављују на сопственој листи оперативног система. Ред који јавља OK са празним скупом адреса потврђује празнину у додели, а не квар повезаности. Читање погрешног реда је друга половина ове грешке.

Статус ACCESS_DENIED упућује назад на ауторизацију, а то је друга поправка. Ако наредба уопште не може да прочита локални токен за проверу идентитета, проблем су локалне дозволе, а не одбијање контролера, и поправка је на рачунару за којим седите.

Када клијент игнорише оно што контролер шаље

Клијент има сопствене поставке које одлучују да ли се примењује управљана конфигурација. Профил који онемогући управљане адресе, управљане руте или обраду подразумеване руте одбациће оно што мрежа шаље, а листа чланова ће са стране контролера и даље изгледати исправно.

Те заставице утичу само на локални чвор. Њихова промена не мења оно што примају други чланови и не поправља базен који никада није дефинисан.

Дијагноза дакле има две гране: или контролер нема адресу коју би дао, или је клијент одбио ону која му је дата. Оне воде до различитих поправки на различитим рачунарима. JSON излаз их разликује, јер адреса или недостаје у конфигурацији мреже, или постоји и недостаје у примењеном стању клијента.

Шта поправити уместо измишљања адресе

Уписивање произвољне статичке адресе примамљива је трећа опција и најгора. Случајна адреса може да се судари са другим чвором, падне изван рута које мрежа пропагира или у опсег који firewall правила третирају друкчије. Она такође скрива базен који недостаје од свакога ко следећи погледа мрежу. Поправите радије доделу и пустите контролер и клијент да се сложе о резултату.

Питајте администратора шта мрежа треба да даје, затим проверите да ли базен покрива предвиђени опсег и да ли је режим доделе укључен. Поново се придружите након промене, уместо да очекујете да ће клијент сам одмах доћи до нове конфигурације.

Када се адреса појави, тестирајте оно што вам је заиста требало: peer, сервис или подмрежу иза приступника. Достизање LAN-а иза члана захтева усмеравање и прослеђивање изван чланства, а општи приступ интернету захтева излазни чвор, па је радна адреса почетак тог теста, а не његов крај.

Повезани чланци