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
جب آپ منتظم سے مدد مانگیں تو اسٹیٹس متن رکھیں۔ تصدیق چھاپنے والی مقامی join کمانڈ صرف یہ ثابت کرتی ہے کہ درخواست مقامی طور پر قبول ہوئی، جو نیٹ ورک میں داخل کیے جانے سے مختلف حقیقت ہے۔
رکنیت ایک شناخت کی ہوتی ہے
کنٹرولر کلائنٹ کی شناخت کی فائلوں کو ہی پہچانتا ہے، اس لیے ترتیب کو دوسری مشین پر کاپی کرنا یا دوبارہ تنصیب کے دوران شناخت مٹانا ایسا رکن بناتا ہے جو کنٹرولر نے کبھی نہیں دیکھا۔ یہی وجہ ہے کہ رکن کا ریکارڈ مٹانا اس کی اجازت واپس لینے سے مختلف ہے۔ اب بھی چلنے والا مجاز نوڈ کوشش جاری رکھتا ہے، اور وہ ریکارڈ جو واپس لینے کی بجائے مٹا دیا گیا ہو، اسی پتے سے نئی درخواست کے طور پر واپس آ سکتا ہے۔
جب آپ کوئی ڈیوائس ریٹائر کریں تو پہلے اس کی اجازت واپس لیں اور کچھ بھی ہٹانے سے پہلے تصدیق کریں کہ اندراج اس حالت کو ظاہر کرتا ہے۔ ترتیب ہی صاف ہٹانے اور پراسرار دوبارہ شمولیت کے درمیان فرق ہے۔
تبدیلی کے بعد تصدیق کریں
تبدیلی کرنے والی کمانڈ کی بجائے نیٹ ورک کے اندراج کو دوبارہ پڑھیں۔ نتیجہ چار سوالوں پر محیط ہے، اور ان میں سے کوئی بھی غلط ہو سکتا ہے جبکہ باقی درست دکھائی دیں:
zerotier-cli listnetworks
ip -br addr show
ping -c 2 10.147.20.5
ip route get 10.147.20.5
پہلی ہر نیٹ ورک کی رکنیت اور مختص کردہ پتہ چھاپتی ہے، اور دوسری دکھاتی ہے کہ انٹرفیس کو واقعی وہ پتہ ملا یا نہیں۔ آخری دو ثابت کرتی ہیں کہ نیٹ ورک میں ہم منصب جواب دیتا ہے اور کون سا انٹرفیس ٹریفک اٹھاتا ہے۔ لکھ لیں کہ کون سی کمانڈ نے کس سوال کا جواب دیا، تاکہ اگلا شخص یادداشت کی بجائے ثبوت سے شروع کرے۔
اگر رکنیت OK ہو اور پتہ بھی ہو مگر ہم منصب جواب نہ دیں، تو مسئلہ روٹنگ یا خود ہم منصب کی پالیسی کی طرف منتقل ہو گیا ہے۔ اسٹیٹس متن کو اس گفتگو سے نکال دیں، کیونکہ وہ اپنا کام پہلے کر چکا ہے۔ رکنیت کا ریکارڈ اور راستہ الگ موضوعات ہیں، اور جتنی جلدی وہ الگ ہوں گے اتنی ہی تفتیش مختصر ہو گی۔