آپ ٹنل جوڑتے ہیں، ip route چلاتے ہیں، اور اصل ڈیفالٹ گیٹ وے اب بھی وہیں موجود ہے۔ اگلا خیال یہ آتا ہے کہ کلائنٹ راستہ سنبھالنے میں ناکام رہا، سو آپ ڈیفالٹ کو ہاتھ سے حذف کر دیتے ہیں اور کنیکٹیویٹی مکمل طور پر گم ہو جاتی ہے۔ یہ اندراج رہنا ہی چاہیے۔ redirect-gateway def1 کے ساتھ، OpenVPN دو زیادہ مخصوص راستے نصب کرتا ہے جو عام ڈیفالٹ کی جگہ لینے کے بجائے اُس سے آگے نکل جاتے ہیں۔ پرانا گیٹ وے رہتا ہے اور اُس ٹریفک کو لے جانا بند کر دیتا ہے جسے آپ جانچ رہے تھے۔

def1 دراصل کیا کرتا ہے

یہ فلیگ 0.0.0.0/1 اور 128.0.0.0/1 شامل کرتا ہے، دونوں ٹنل کی طرف اشارہ کرتے ہیں۔ 0.0.0.0/1 ہر ایسے پتے کو لیتا ہے جس کا پہلا اوکٹیٹ 0 سے 127 تک ہو، اور 128.0.0.0/1 128 سے 255 تک لیتا ہے، سو ہر IPv4 منزل کے پاس پرانے ڈیفالٹ سے زیادہ مخصوص مماثلت ہوتی ہے۔ کون سا راستہ جیتے گا، یہ میٹرک نہیں بلکہ پریفکس کی لمبائی طے کرتی ہے۔

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

کیوں /1 اور /0 نہیں

روٹنگ سب سے لمبا مماثل پریفکس چنتی ہے، سب سے کم میٹرک نہیں، سو ڈیفالٹ کا میٹرک کچھ بھی کہے، /1، /0 کو ہرا دیتا ہے۔ دونوں نصف موجود ہیں کیونکہ ایک /1 صرف آدھی جگہ کا احاطہ کرتا ہے؛ اگر صرف 0.0.0.0/1 موجود ہو تو 128.0.0.0 سے اوپر سب کچھ اب بھی پرانے ڈیفالٹ کی پیروی کرتا ہے، جس سے وہ الجھا دینے والی علامت پیدا ہوتی ہے جس میں کچھ سائٹیں چلتی ہیں اور کچھ نہیں۔

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

اصل روٹنگ جدول پڑھیں

منسلک ہوسٹ تینوں اندراجات ایک ساتھ دکھا سکتا ہے، ٹنل نصف لے کر جاتا ہے اور اصل گیٹ وے اب بھی درج ہوتا ہے۔ پتے مثال ہیں نہ کہ نقل کرنے کی کنفیگریشن، کیونکہ انٹرفیس کے نام، ٹنل ٹوپولوجی اور اضافی راستے پلیٹ فارم اور کلائنٹ کے لحاظ سے بدلتے ہیں۔

default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0

اہم چیز تعلق ہے: ایک عام ڈیفالٹ کے اوپر دو مخصوص نصف۔ پرانی گیٹ وے لائن رہتی ہے کیونکہ کسی نے اُس کی جگہ نہیں لی۔

دیکھیں کہ پیکٹ واقعی کون سا راستہ لیتا ہے

زیادہ مخصوص راستے پھر بھی جیت سکتے ہیں: نجی رینج کے لیے راستہ، مقامی سب نیٹ یا خود VPN سرور کا پتہ /1 سے لمبا ہوتا ہے۔ ٹنل کو اپنے سرور تک باہری راستہ درکار ہے، اور اُس کنکشن کو واپس ٹنل میں بھیجنا اُسے فوراً توڑ دے گا۔ Linux پر، جدول آنکھ سے پڑھنے کے بجائے کرنل سے پوچھیں: جس منزل کی آپ کو پرواہ ہے اُس کے ساتھ ip route get منتخب راستہ، انٹرفیس اور ماخذ چھاپتا ہے۔ اگر پالیسی روٹنگ ترتیب دی گئی ہو تو قواعد بھی دیکھیں، کیونکہ کوئی قاعدہ مرکزی جدول سے مشورہ کرنے سے پہلے مختلف جدول منتخب کر سکتا ہے۔

اگر IPv4 کا صرف کچھ حصہ غلط برتاؤ کرے تو تصدیق کریں کہ دونوں نصف نصب ہوئے، پھر ناکام منزل سے مماثل استثنا تلاش کریں۔ پرانے ڈیفالٹ کو حذف کرنا حل نہیں ہے، اور یہ وہ راستہ بھی ہٹا دیتا ہے جو کلائنٹ کو ٹنل صاف طور پر ختم کرنے کے لیے درکار ہے۔

def1 کیا شامل نہیں کرتا

دو IPv4 اندراجات IPv6 کے بارے میں کچھ نہیں کہتے: IPv6 کنیکٹیویٹی والا ہوسٹ اپنا ڈیفالٹ استعمال کرتا رہتا ہے جب تک کوئی اُس خاندان کو الگ سے ری ڈائریکٹ نہ کرے، اسی لیے ڈوئل اسٹیک نیٹ ورک پر کچھ ٹریفک ٹنل سے بچتی ہوئی دکھائی دیتی ہے۔ دوسرے کلائنٹ اور نیٹ ورک مینیجر فل ٹنل روٹنگ مختلف طرح نافذ کرتے ہیں، اور اُن کے جدول مماثل نہیں ہوں گے۔ یہاں بیان کردہ def1 کا برتاؤ OpenVPN کے دستاویزی فلیگ کا ہے، مشین پر موجود ہر VPN کا نہیں۔

Kill switch ایک مختلف سوال کا جواب دیتا ہے: ٹنل گرنے پر مشین کیا کرتی ہے۔ روٹنگ کی ترجیح طے کرتی ہے کہ ٹنل چلنے کے دوران ٹریفک کہاں جاتی ہے؛ یہ نہیں طے کرتی کہ بعد میں فائر وال کیا کرے گا۔ کام کی ترتیب: جدول پڑھیں، تصدیق کریں کہ دونوں نصف موجود ہیں، ناکام منزل کے لیے ip route get چلائیں، پالیسی قواعد دیکھیں، پھر IPv6 الگ سے دیکھیں۔ پرانے ڈیفالٹ کو وہیں رہنے دیں جہاں وہ ہے۔

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