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

دو کلائنٹ کسی بھی ترتیب سے شروع کرنے سے یہ حاصل نہیں ہوتا۔ یہ راؤٹنگ سے حاصل ہوتا ہے۔

دو ممکنہ ترتیبوں کا موازنہ کریں

بیرونی تہہ کے طور پر وہ ٹنل چنیں جس کے اینڈ پوائنٹ تک عوامی انٹرنیٹ سے رسائی ہو۔ اندرونی تہہ وہ ٹنل ہے جس کا سرور صرف اسی راستے سے جواب دیتا ہے۔ Windows پر عملی تقسیم یہ ہے کہ باہر WireGuard اور اندر کارپوریٹ کلائنٹ۔ فیصلہ کن عنصر کنٹرول ہے۔

سرکاری WireGuard کلائنٹ مکمل کنفیگریشن فائل لاگو کرتا ہے، جس میں روٹس اور DNS شامل ہیں۔ تجارتی کارپوریٹ کلائنٹ عموماً دونوں چھپاتے ہیں۔ چھپے ہوئے کلائنٹ کو باہر رکھنا آپ کو اس کے نیچے کے راستے کا اندازہ لگانے پر مجبور کرتا ہے۔

اُلٹی ترتیب ناممکن نہیں۔ صرف اس پر غور کرنا مشکل ہے، کیونکہ بیرونی کلائنٹ روٹس کو ایسے شیڈول کے مطابق دوبارہ لکھتا ہے جو آپ کبھی نہیں دیکھتے۔

AllowedIPs کو صرف کارپوریٹ رینج کا نام دینے دیں

AllowedIPs اُن منزلوں کی فہرست دیتا ہے جنہیں WireGuard ٹنل میں بھیجتا ہے۔ اندر رکھنے کے لیے اسے صرف اندرونی سرور کا پتہ اور کارپوریٹ سابقے درکار ہیں۔ باقی سب مقامی نیٹ ورک پر رہتا ہے، پرنٹرز اور ہائپر وائزر سمیت۔ یہ ڈیزائن کے اعتبار سے ہی منقسم ٹنل ہے، اور یہ خارج کرنے کے مسئلے سے مکمل طور پر بچتا ہے۔

مکمل ٹنل والی بیرونی تہہ کو درکار ہے 0.0.0.0/0 منہا مقامی رینجز۔ فارمیٹ خارج کرنے کا اظہار نہیں کر سکتا، اس لیے تکمیل کا حساب لگا کر چسپاں کرنا پڑتا ہے۔

[Interface]
PrivateKey = ...
Address = 10.99.4.2/32

[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16

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

ترتیب، میٹرکس اور دوسرا اڈاپٹر

پہلے بیرونی ٹنل سے جڑیں، پھر کارپوریٹ کلائنٹ شروع کریں۔ تب اس کا اینڈ پوائنٹ کنکشن مقامی گیٹ وے کی بجائے WireGuard کے ذریعے باہر جاتا ہے۔ کارپوریٹ انٹرفیس کو کم میٹرک دیں تاکہ اس کے سابقے اُن پتوں کے لیے جیتیں جو اس کی ملکیت ہیں۔

# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1

# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40

wg show interfaces

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

OpenVPN 2.6 پر بنے کلائنٹ اپنا جال شامل کرتے ہیں۔ جب ڈیٹا چینل آف لوڈ اڈاپٹر پہلے سے مصروف ہو، دوسرا انسٹینس شروع ہونے سے انکار کر دیتا ہے۔ پروفائل میں disable-dco شامل کرنے سے پرانے TAP راستے پر واپس آ جاتا ہے، اور پھر دونوں ساتھ ساتھ چلتے ہیں۔

اندر رکھا ہوا راستہ کہاں ٹوٹتا ہے

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

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

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

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