ایک ہی وقت میں چلنے والے دو VPN کلائنٹ نیسٹڈ سرنگ نہیں بناتے؛ وہ دو سرنگیں اور روٹنگ پر جھگڑا بناتے ہیں۔ نیسٹڈ سرنگ اُس وقت ہوتی ہے جب اندرونی کلائنٹ کا اپنے سرور سے کنکشن خود بیرونی سرنگ اٹھاتی ہے، اور یہ ایسا انتظام ہے جو جان بوجھ کر بنایا جاتا ہے۔ اگر درست ہو تو اندرونی سرور بیرونی سرور کا پتہ دیکھتا ہے؛ اگر غلط ہو تو ایک کلائنٹ خاموشی سے دوسرے کے گرد دوبارہ جڑ جاتا ہے۔ تین شرائط طے کرتی ہیں کہ نیسٹنگ حقیقی ہے یا اتفاقی۔

تین شرائط نیسٹنگ کا فیصلہ کرتی ہیں

پہلی یہ ہے کہ کس اختتامی نقطے کو کس راستے کی ضرورت ہے۔ اندرونی سرور کا پتہ نام دیں، بیرونی سرور کا پتہ نام دیں، اور واضح طور پر بتائیں کہ اندرونی سرور صرف بیرونی سرنگ کے ذریعے قابل رسائی ہے۔ باقی سب اسی جملے سے نکلتا ہے، بشمول یہ کہ کون سے راستے کس جدول میں ہیں۔

دوسری یہ ہے کہ کیا آپ ہر پرت میں راستہ دیکھ سکتے ہیں۔ اگر آپ کرنل سے نہیں پوچھ سکتے کہ کوئی مخصوص منزل کون سا راستہ استعمال کرے گی، تو آپ زنجیر کا اندازہ آخری خارجی IP سے لگا رہے ہیں، اور یہی وہ ثبوت ہے جو نیسٹنگ کو اتفاق سے الگ نہیں کر سکتا۔

تیسری یہ ہے کہ بیرونی سرنگ گرنے پر کیا ہوتا ہے۔ اندرونی سرنگ اس کے ساتھ رک سکتی ہے، عام نیٹ ورک سے دوبارہ جڑ سکتی ہے، یا بیرونی راستہ واپس آنے تک مسدود رہ سکتی ہے، اور تینوں قابلِ دفاع پالیسیاں ہیں۔ یہ ایک ہی پالیسی نہیں ہیں، اور بیشتر کلائنٹس کا طے شدہ رویہ دوسرا ہے۔ وہ کلائنٹ جو اپنے اختتامی نقطے کو جسمانی نیٹ ورک سے دوبارہ جوڑتا ہے اور ساتھ ہی صحت مند کنکشن دکھاتا ہے، وہ سب سے عام راستہ ہے جس سے ارادہ شدہ زنجیر خاموشی سے دو غیر متعلق سرنگوں میں بدل جاتی ہے۔

پہلی شرط: کس اختتامی نقطے کو کس راستے کی ضرورت ہے

ip route get 203.0.113.10 اس سوال کا سیدھا جواب دیتا ہے: یہ راستہ، ماخذ پتہ اور وہ انٹرفیس چھاپتا ہے جو کرنل ابھی اُس منزل کے لیے استعمال کرے گا۔

اندرونی کلائنٹ کے شروع ہونے سے پہلے اندرونی سرور کے لیے اور بعد میں ایک بار پھر چلائیں، پھر موازنہ کریں۔ اگر جواب جسمانی انٹرفیس سے بیرونی سرنگ کے انٹرفیس پر بدل جائے تو اُس لمحے نیسٹنگ حقیقی ہے۔ اگر نہ بدلے تو اندرونی کلائنٹ سیدھا جڑ رہا ہے، پینل کچھ بھی کہے۔ بیرونی سرور کے پتے کے لیے دہرائیں، جسے اب بھی جسمانی انٹرفیس سے حل ہونا چاہیے، کیونکہ ایسا راستہ جو دونوں اختتامی نقطوں کو تکراری طور پر پکڑ لے وہ خرابی ہے جو مشین کو مکمل طور پر نیٹ ورک سے نکال دیتی ہے۔

دوسری شرط: ہر پرت میں راستہ جانچیں

جدید کلائنٹ میں راستے کا انتخاب مرکزی جدول سے زیادہ ہے۔ پالیسی قواعد نشان زدہ پیکٹ دوسرے جدول میں بھیج سکتے ہیں، کلائنٹ اپنا ساکٹ کسی انٹرفیس سے باندھ سکتا ہے، اور کنٹینر یا نام کی جگہ کے اپنے جدول ہوتے ہیں۔ ip rule اور ip route show table all یہ جاننے کا طریقہ ہیں کہ ان میں سے کون سی میکانیات کام کر رہی ہے۔

وہ کلائنٹ جو اپنے ساکٹ پر SO_MARK لگاتا ہے، یا کسی مخصوص ڈیوائس سے بندھنے کے لیے ترتیب دیا گیا ہے، اُس طے شدہ راستے کو نظرانداز کرتا ہے جسے آپ نے ترتیب دیا سمجھا تھا۔ یہ خصوصیت ہے، خرابی نہیں، اور اس کا مطلب ہے کہ واحد قابلِ بھروسا جانچ وہی ہے جو کلائنٹ کے اسی نام کی جگہ میں چلے۔ اگر کلائنٹ کنٹینرز میں چلتے ہیں تو جانچ اُن کنٹینرز میں کریں، میزبان پر نہیں۔

تیسری شرط: بیرونی سرنگ گرنے پر کیا ہوتا ہے

خرابی کا رویہ فیصلہ مانگتا ہے، طے شدہ قدر نہیں۔ لکھیں کہ بیرونی سرنگ غائب ہونے پر اندرونی سرنگ کے ساتھ کیا ہونا چاہیے، پھر کلائنٹس سے ایسا کرائیں۔

اختیارات ٹھوس ہیں۔ بیرونی راستہ غائب ہونے پر اندرونی کلائنٹ روکنا صاف زنجیر اور واضح تعطل دیتا ہے۔ اسے سیدھا دوبارہ جڑنے دینا دستیابی دیتا ہے اور خاموشی سے وہ خصوصیت ہٹا دیتا ہے جس کے لیے زنجیر بنی تھی۔ بیرونی راستے کی واپسی تک مسدود رکھنا سب سے سخت اور چلانے میں سب سے زیادہ پریشان کن اختیار ہے، کیونکہ بیرونی سرنگ کا ہر ہچکولا نظر آنے والا واقعہ بن جاتا ہے۔

تینوں کو بے ضرر ٹریفک اور بیرونی سرنگ کی جان بوجھ کر خرابی کے ساتھ آزمائیں، کیونکہ ترتیب پڑھنا آپ کو نہیں بتائے گا کہ آپ کے پاس کون سی ہے۔ بیرونی سرنگ کو مار ڈالیں، دیکھیں اندرونی کلائنٹ کیا کرتا ہے، اور گرنے کے دوران راستہ دوبارہ جانچیں۔ پھر بیرونی سرنگ واپس لائیں اور تصدیق کریں کہ زنجیر دوبارہ بنتی ہے، اندرونی کلائنٹ کو اس دوران چنے گئے سیدھے راستے پر نہیں چھوڑتی۔

زنجیر آپ کو کیا نہیں دیتی

اضافی پرتیں اختتامی نقطے، چابیاں اور خرابی کے طریقے شامل کرتی ہیں؛ وہ گمنامی کی کوئی ضمانت شامل نہیں کرتیں اور بیرونی آپریٹر کو یہ دیکھنے سے نہیں روکتیں کہ سرنگ موجود ہے۔ نیسٹنگ کس چیز سے بچاتی ہے، اس بارے میں ہر دعوے کو اُس ناظر کا نام لینا ہوگا جس سے یہ بچاتی ہے۔

حاصل شدہ چیز ایک مختصر دستاویز ہے، کام کرنے والا کنکشن نہیں: کون سا اختتامی نقطہ کون سا راستہ استعمال کرتا ہے، بیرونی خرابی پر کیا ہوتا ہے، اور وہ تین کمانڈز جو موجودہ حالت دکھاتی ہیں۔ strongSwan کی فارورڈنگ سے متعلق دستاویزات اس بارے میں مفید حوالہ ہیں کہ Linux میزبان پر سرنگ کی ٹریفک انٹرفیسز کے درمیان کیسے آگے بھیجی جاتی ہے۔ ہر کلائنٹ اپ ڈیٹ کے بعد جانچ دوبارہ چلائیں، کیونکہ جن طے شدہ اقدار نے آپ کی زنجیر بنائی وہ معاہدہ نہیں ہیں۔ جو نیسٹڈ سرنگ آپ جانچ نہیں سکتے وہ اسٹیٹس لائٹ والی افواہ ہے۔

متعلقہ مضامین