ایک ساتھ دو VPN کلائنٹ: ڈیفالٹ راستہ کون جیتتا ہے؟
دو VPN کلائنٹ ڈیفالٹ راستے کا دعویٰ کرتے ہیں اور صرف ایک جیتتا ہے۔ ٹنل کی ترتیب چننے سے پہلے میٹرک، /1 جوڑی اور ریزولور کی تقسیم پڑھیں۔
ایک ساتھ دو VPN کلائنٹ چلانا روٹنگ کی بحث ہے، رازداری کی سیٹنگ نہیں۔ جس ٹنل کے پاس زیادہ مخصوص راستہ ہے اسی کو ٹریفک ملتا ہے، اور دوسری جڑی رہتی ہے مگر بیکار بیٹھی رہتی ہے۔ کارپوریٹ گیٹ وے پھر ذاتی اخراج سے آنے والا کنکشن دیکھتا ہے، جبکہ آپ کی مشین پر کارپوریٹ کلائنٹ اب بھی ہر اڈاپٹر دیکھتا ہے۔ ان دو حقائق میں سے کون اہم ہے یہ طے کرنا ہی پوری مشق ہے۔
روٹ ٹیبل ایک جیتنے والا چنتا ہے
کارپوریٹ کلائنٹ شروع ہونے سے پہلے اور بعد میں ٹیبل محفوظ کریں، اور صرف منزل کے بجائے انٹرفیس کالم پڑھیں۔ بیرونی ٹنل کا سادہ ڈیفالٹ راستہ ہٹانا آسان ہے، کیونکہ /1 جوڑی /0 سے زیادہ مخصوص ہے۔ لفظی جوڑی 0.0.0.0/1 اور 128.0.0.0/1 پوری IPv4 جگہ کو دو حصوں میں ڈھانپتی ہے اور کسی بھی اکیلی ڈیفالٹ کو ہرا دیتی ہے۔ نصب ہونے کے بعد بھی بیرونی ٹنل جڑی دکھائی دیتی ہے اور کچھ نہیں لے جاتی۔
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'پالیسی پر مبنی روٹنگ مرکزی ٹیبل کو مکمل طور پر بائی پاس کر سکتی ہے، اس لیے قواعد اور راستے دونوں پڑھیں۔ نشان زدہ ٹریفک کو دوسری ٹیبل میں بھیجنے والا قاعدہ مرکزی ٹیبل دیکھنے سے پہلے ہی جیت جاتا ہے۔ اسی طرح ایک ایپلیکیشن فزیکل لنک پر رہ سکتی ہے جبکہ باقی سب ٹنل استعمال کرتے ہیں۔
ip rule showWindows اسے میٹرکس سے طے کرتا ہے
Windows میں جیتنے والا وہ راستہ ہے جس کا منزل کے لیے سب سے کم میٹرک ہو، اور دو کلائنٹ مختلف میٹرکس کے ساتھ ڈیفالٹ راستہ نصب کر سکتے ہیں۔ ٹیبل اور انٹرفیس کنفیگریشن ایک ساتھ پڑھیں، کیونکہ کم میٹرک والا اڈاپٹر ہمیشہ وہ نہیں ہوتا جس کی آپ توقع کرتے ہیں۔ جو کلائنٹ انٹرفیس میٹرک بھی مقرر کرتا ہے وہ ایک بھی راستہ شامل کیے بغیر ڈیفالٹ کو ہلا سکتا ہے۔ ہارنے والا اڈاپٹر آن رہتا ہے اور محض کچھ نہیں پاتا۔
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayدونوں آؤٹ پٹ کا موازنہ کریں اور 0.0.0.0/0 والے انٹرفیس کا نام بتائیں۔ اگر دونوں کلائنٹ اس کا دعویٰ کریں تو میٹرک فیصلہ کرتا ہے، اسی لیے کنکشن ترتیب کا ٹیسٹ مختلف مشینوں پر متضاد دکھ سکتا ہے۔ اگر کوئی بھی آؤٹ پٹ ڈیفالٹ گیٹ وے نہ دکھائے، تو کلائنٹ مکمل ٹنل میں نہیں چل رہا اور زنجیر کی دلیل بے معنی ہے۔
دو مبصر، دو مختلف نظریے
دور کا گیٹ وے بیرونی اخراج سے آنے والا ایک کنکشن اور وہ سب کچھ دیکھتا ہے جو کلائنٹ اپنی ٹنل میں بھیجتا ہے۔ مقامی کلائنٹ اڈاپٹر، راستے اور دوسری ٹنل کے وجود کو دیکھتا ہے، کیونکہ وہ انہیں بنانے کے اختیار کے ساتھ چلتا ہے۔ ان نظریات کو الگ کرنا ہی مقصد ہے؛ یہ کہنا نہیں کہ کلائنٹ محسوس نہیں کر سکتا۔
فرض کریں کہ کلائنٹ جو چاہے گن سکتا ہے، اور اس کے بجائے گیٹ وے کے نظریے کے لیے منصوبہ بنائیں۔ ایسا ڈیزائن جو کلائنٹ کے اندھا رہنے پر منحصر ہو ٹوٹنے سے ایک اپ ڈیٹ دور ہے۔
DNS اور IPv6 وہ جگہیں ہیں جہاں زنجیر لیک ہوتی ہے
DNS اسی ریزولور سیٹنگ کی پیروی کرتا ہے جو جیتتی ہے، اور یہ ضروری نہیں کہ وہی راستہ ہو جو پیکٹ لیتے ہیں۔ کارپوریٹ ٹنل سے پہنچنے والا کارپوریٹ ریزولور ڈیزائن سے ہم آہنگ ہے؛ اس سے باہر پہنچنے والا مقامی ریزولور نہیں، اور وہ ایسے نام ظاہر کرتا ہے جو ٹنل کو چھپانے تھے۔ IPv6 دوسرا لیک ہے: دوہری اسٹیک والا میزبان ان منزلوں کی طرف IPv6 استعمال کرتا رہتا ہے جنہیں ٹنل صرف IPv4 کے ذریعے لے جاتی ہے۔ خاندانوں کو الگ الگ جانچیں، کیونکہ صرف IPv4 والی ٹنل IPv6 راستوں یا ریزولوروں کے بارے میں کچھ نہیں کہتی۔
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'ریزولور اور IPv6 راستے کو جان بوجھ کر درست کریں، اوپر دوسری ٹنل ڈھیر کرنے کے بجائے۔ دوہری انکیپسولیشن MTU بھی خرچ کرتی ہے، اس لیے ٹنل اٹھنے کے بعد صفحات رکنے پر چھوٹا اندرونی MTU پہلے آزمانے والی چیز ہے۔ تیزی سے جواب دینے والا ریزولور اس بات کا ثبوت نہیں کہ وہ صحیح ہے۔