مسار VPN مثبّت على فهرس واجهة يتعطل عند إعادة الاتصال
المسار المرتبط برقم محوّل يموت عندما يتغير ذلك الرقم. افحص المخزن، واربط البادئة بالملف الشخصي، ثم أعد الاتصال بترتيب جديد.
عمل المسار لأسابيع ثم بدأ يرسل حركة المرور إلى لا مكان، مع بقاء الوجهة كما هي ودون تحرير أي شيء. ما تغيّر هو الرقم: المسار المُنشأ مقابل فهرس واجهة محدّد يشير إلى محوّل لم يعد موجودًا بعد إعادة الاتصال، وتبقى بادئة الوجهة مشيرة إلى بنية تحتية استُبدلت. إضافة الاستمرارية إلى ذلك الأمر لا تفيد، لأن المشكلة لم تكن يومًا هل نجا المسار من إعادة التشغيل. الحل هو ربط القصد بالاتصال، وهو يصمد أمام تبدّل المحوّلات بحكم التصميم.
تحقّق مما يشير إليه المسار فعليًا
ابدأ بقراءة إدخال المسار والمحوّلات جنبًا إلى جنب. المسار ذو القفزة التالية على واجهة 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 يميّز بين إدخال يستمر عبر إعادات التشغيل وإدخال يزول مع المحوّل، وهذا الفرق يحدّد ما إذا كان العطل سيعود غدًا. الإدخال في المخزن الدائم الذي يشير إلى فهرس زائل هو أسوأ حالة، لأنه يصمد أمام إعادات التشغيل بينما لا يطابق شيئًا أبدًا.
اربط البادئة بالملف الشخصي، لا بالمحوّل
يمكن لـ VPN أصلي في Windows أن يحمل قائمة مساراته الخاصة، فيعيد الاتصال استخدام المحوّل الصحيح كلما ظهر. يتبع المسار عندئذ الملف الشخصي بدلًا من رقم لاحظته مرة واحدة، ولا يحتاج أي نص برمجي إلى تخمين فهرس بعد كل طلب اتصال. إضافة بادئة قابلة للعكس أيضًا عبر أمر الإزالة المطابق، ما يبقي التغيير قابلًا للتدقيق. تُخزَّن البادئة مع الاتصال بدلًا من نص بدء التشغيل، فملف شخصي منسوخ إلى مستخدم آخر يحمل القصد معه.
Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru
يوثّق مرجع Add-VpnConnectionRoute ارتباط الاتصال، ونطاق دفتر الهاتف مهم: الملف الشخصي لكل مستخدم وملف جميع المستخدمين كائنان مختلفان. هذه الآلية تخص عميل VPN الخاص بـ Windows، لذا قد يأخذ محوّل مورّد يديره خدمته الخاصة مساراته من مصدر سياسة مختلف تمامًا.
امسح المسارات القديمة قبل إضافة الجديد
مساران بالبادئة نفسها ومالكان مختلفان أسوأ من مسار خاطئ واحد، لأن الفائز يعتمد على مقاييس لم يكتبها أحد. افحص ما هو موجود بالفعل للبادئة، بما في ذلك الإدخالات في المخزن الدائم، واحذف فقط ما ينتمي إلى المحاولة الفاشلة. البقايا من تصميم سابق شائعة في هذا المجال، لأن المسار الفاشل عادةً استبدل شيئًا كان يعمل. سجّل أي الإدخالات تنتمي إلى أي اتصال قبل حذف أي شيء، واحتفظ بالقائمة في سجل التغيير.
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
النتيجة التي تريدها ليست أن يحتفظ المحوّل برقمه مرة واحدة. بل أن يظهر المسار بأي رقم يحصل عليه الاتصال، في كل مرة، وأن يزول عند إغلاق الاتصال. إعادة الاتصال مرتين هي أرخص طريقة للتمييز بين تلك النتائج.
اعرف ما لا يستطيع المسار فعله
مسار الملف الشخصي يوفّر مسارًا ولا شيء غير ذلك. فهو لا يفتح جدار حماية بعيدًا، ولا ينشئ مسار عودة عند الطرف البعيد، ولا يحل موقعين يستخدمان نطاق العناوين نفسه؛ كل واحد من ذلك تكوين منفصل بمالك منفصل. تأكيد المسار هو لذلك بداية اختبار القبول وليس كله.
احتفظ بقائمة البادئات مع الملف الشخصي وسجّل النطاق الذي أُضيفت تحته، حتى يستطيع الشخص التالي قراءة التصميم المقصود بدلًا من استنتاجه من جدول مسارات. المسارات الموجودة في ذاكرة أحدهم فقط هي التي يُعاد بناؤها بشكل خاطئ بعد إعادة الاتصال التالية. تعليق من سطر واحد في ملاحظات النشر يكلّف أقل من ظهيرة كاملة من إعادة الاكتشاف.