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

دیکھیں کہ راستہ دراصل کہاں کی طرف اشارہ کرتا ہے

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

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

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

سابقہ پروفائل سے باندھیں، ایڈاپٹر سے نہیں

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

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

Add-VpnConnectionRoute کا حوالہ کنکشن سے تعلق کی دستاویز کرتا ہے، اور فون بک کا دائرہ اہم ہے: فی صارف پروفائل اور تمام صارفین کا پروفائل مختلف چیزیں ہیں۔ یہ طریقہ کار Windows کے اپنے VPN کلائنٹ کا ہے، اس لیے کسی فروش کا ایڈاپٹر جو اس کی اپنی سروس چلاتی ہے اپنے راستے بالکل مختلف پالیسی ماخذ سے لے سکتا ہے۔

نیا شامل کرنے سے پہلے پرانے راستے صاف کریں

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

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

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

مختلف ترتیب میں دوبارہ جڑیں

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

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

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

جانیں کہ راستہ کیا نہیں کر سکتا

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

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

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