ایپ کسی انٹرفیس سے بندھی ہے؟ اس کا VPN راستہ ڈیفالٹ نہیں
ساکٹ کو ڈیوائس، ماخذ پتہ یا نام کی جگہ سے باندھنا بدلتا ہے کہ کون سا راستہ لاگو ہوتا ہے۔ براؤزر کی IP جانچ نہیں، ایپ کا اپنا کنکشن جانچیں۔
مشین پر ایک ایپ VPN سے باہر جاتی ہے اور دوسری نہیں، اور دونوں صارفین قسم کھاتے ہیں کہ انہوں نے کچھ نہیں بدلا۔ فرق اکثر ایپ کا خود کیا ہوا بائنڈنگ فیصلہ ہوتا ہے: ڈیوائس سے بندھا ساکٹ، کنکشن سے پہلے چنا گیا ماخذ پتہ، یا اپنی روٹنگ جدول والا نام کی جگہ۔ ہر ایک بدلتا ہے کہ کون سا راستہ لاگو ہوتا ہے، اور ان میں سے کوئی براؤزر کی عام IP جانچ میں نظر نہیں آتا۔
تین مختلف بائنڈنگز، تین مختلف اثرات
ڈیوائس سے باندھنا اور ماخذ پتے سے باندھنا متعلقہ عمل ہیں مگر نتائج مختلف ہیں۔ ڈیوائس بائنڈنگ ٹریفک کو ایک انٹرفیس سے باہر جانے پر مجبور کر سکتی ہے اور اس ساکٹ کی عام راستہ تلاش کو نظرانداز کر سکتی ہے۔ ماخذ پتے کی بائنڈنگ پھر بھی راستہ انتخاب سے گزرتی ہے، مگر چنا گیا ماخذ کسی پالیسی قاعدے سے مل کر پیکٹ کہیں اور بھیج سکتا ہے۔ یہ فرق تب تک علمی لگتا ہے جب تک کوئی قاعدہ ماخذ کے مطابق روٹ نہ کرے۔ پھر وہ سب کچھ طے کرتا ہے۔
نیٹ ورک نام کی جگہ تیسرا معاملہ ہے۔ اس کے اپنے انٹرفیس اور اپنی روٹنگ جدول ہے، اس لیے اس کے اندر کی ایپ میزبان کے ڈیفالٹ سے بالکل متاثر نہیں ہوتی۔ تینوں کو ایک ہی چیز سمجھنے سے ایسی خوداعتماد وضاحتیں بنتی ہیں جو پہلی جانچ میں نہیں ٹکتیں۔
طے کریں کہ ایپ واقعی کیا سیٹ کرتی ہے
راستوں کو چھونے سے پہلے ایپ کی نیٹ ورکنگ کنفیگریشن یا اس کا دستاویزی رویہ پڑھیں۔ اگر یہ انٹرفیس کا انتخاب، ماخذ پتے کا خانہ یا نام کی جگہ کا آپشن دیتی ہے، تو وہی سیٹنگ پہلے جانچنے کی چیز ہے۔ اگر نہیں، تو بائنڈنگ اندرونی ہو سکتی ہے اور صرف ٹریسنگ یا اس کے اپنے ڈائگناسٹکس سے نظر آ سکتی ہے۔
Linux میں SO_BINDTODEVICE جیسے ساکٹ آپشنز کا دستاویزی دائرہ اور اجازت کی شرائط ہیں، اور بغیر استحقاق والا عمل انہیں بالکل سیٹ نہ کر سکے۔ یہ حد مفید اشارہ ہے: اگر آپشن لاگو نہ ہو سکے، تو فرق کا ماخذ ایپ نہ ہو۔
پالیسی روٹنگ ماخذ پڑھتی ہے
جب پالیسی روٹنگ ترتیب دی گئی ہو، تو کوئی قاعدہ پیکٹ کے ماخذ کی بنیاد پر جدول چن سکتا ہے۔ اس لیے ماخذ پتہ باندھنے والا ساکٹ ایسے قاعدے کی پیروی کر سکتا ہے جسے ڈیفالٹ راستہ کبھی نہیں چھوتا، چاہے کوئی انٹرفیس واضح طور پر نامزد نہ ہو۔
تلاش کو ایپ کے استعمال کردہ اسی پتہ خاندان، ماخذ اور نام کی جگہ کے ساتھ دہرائیں۔ میزبان کی نام کی جگہ میں شیل سے عام راستہ تلاش کسی اور سوال کا جواب دیتی ہے، اور یہی عدم مطابقت کام کرتے راستے کے ٹوٹا دکھنے کی سب سے عام وجہ ہے۔
منقسم ٹنل اور معاون عمل
فی ایپ منقسم ٹنل ایک اور تہہ جوڑتا ہے۔ کلائنٹ ایپ کے پیکیج یا عمل سے میل کھا سکتا ہے، اور اپنا ساکٹ کھولنے والا معاون الگ موضوع ہے۔ لانچر اور اس کی پس منظر سروس ایک ہی نظر آنے والے نام کے تحت مختلف کنکشن بنا سکتے ہیں۔
دیکھیں کہ منقسم ٹنل قاعدہ واقعی جڑنے والے عمل کو ڈھانپتا ہے یا نہیں۔ اگر ایپ کسی مخصوص انٹرفیس سے بندھی ہو اور VPN کلائنٹ پیکیج کے مطابق میل کھائے، تو دونوں فیصلے کسی کے غلط ہوئے بغیر مختلف ہو سکتے ہیں۔
ایپ کا اپنا راستہ جانچیں
ہر تبدیلی کے بعد ایپ سے نئی درخواست چلائیں۔ وہ براؤزر جو آپ کا مطلوبہ اخراج دکھاتا ہے کسی دوسرے انٹرفیس سے بندھے دوسرے پروگرام کے لیے برابر کا ثبوت نہیں، اور کیش شدہ کنکشن سیٹنگ بدلنے کے بعد بھی دیر تک پرانا راستہ استعمال کر سکتے ہیں۔ نیا قاعدہ پرکھنے سے پہلے پرانا سیشن بند کریں۔ ورنہ جانچ ماضی ناپتی ہے۔
Linux ساکٹ حوالہ SO_BINDTODEVICE اور اس کی شرائط کی دستاویز کرتا ہے۔ پہلے ایپ کی اپنی کنفیگریشن پڑھیں، اسی سیاق میں تلاش دہرائیں، اور اس کے بعد ہی طے کریں کہ راستہ یا بائنڈنگ بدلنی چاہیے۔