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 і адрас прысутнічае, але партнёры не адказваюць, праблема перайшла да маршрутызацыі або да ўласнай палітыкі партнёра. Прыбярыце тэкст статусу з гэтай размовы, бо ён ужо зрабіў сваю справу. Запіс сяброўства і шлях — асобныя прадметы, і чым хутчэй іх раздзяліць, тым карацейшае расследаванне.