Windows L2TP يحمّل بعض المواقع: أزل بت DF على pfSense
عميل L2TP يحمّل الشبكة الداخلية لكنه يتوقف عند بعض المواقع العامة يعاني مشكلة في وحدة MTU. أزل بت DF أو ثبّت MSS، ثم تحقق بالتقاط الحزم.
يتصل الحاسوب المحمول، وتحمّل الشبكة الداخلية، وتتوقف حفنة من المواقع العامة. المصادقة والتوجيه يعملان بوضوح، ما يترك حجم الحزمة تفسيراً. على نفق L2TP/IPsec تكون وحدة MTU المتاحة أصغر مما يعلنه المحوّل، ويظل العميل يرسل حزماً كاملة الحجم مع ضبط بت عدم التجزئة. يمكن أمر بوابة pfSense بمسح ذلك البت، وهذه أسرع طريقة لتأكيد التشخيص قبل إصلاحه بشكل صحيح.
ابدأ بالصفحات التي تفشل
دوّن الوجهات التي تفشل والتي تنجح قبل أن تلمس أي إعداد. المصافحات التي تبقى دون حد النفق تكتمل طبيعياً، بينما تتوقف جزئياً النقلات التي تحتاج مقطعاً كامل الحجم. هذا الانقسام هو بصمة مشكلة حجم لا مرشح، لأن الوجهة المحجوبة تفشل عند إقامة الاتصال لا في منتصف الصفحة. المشاهدتان لا تكلفان شيئاً وتضيّقان البحث فوراً.
اختبر بأمر ping يضبط البت ويتحكم في حجم الحمولة. أكبر حمولة تنجو تخبرك بوحدة MTU الحقيقية للمسار، وقيمة المحوّل المعلنة تُظهر مدى تباعد الاثنين.
اكتب الرقمين. يعتمد الإصلاح على أيّهما خطأ، والزوج هو ما يؤكده الالتقاط لاحقاً.
ما يفعله بت DF عند الخروج
التغليف هو سبب اختلاف الأرقام. يضيف IPsec ESP، ويضيف L2TP رأساً آخر، ولذلك يحمل النفق حمولة أقل من الرابط الفيزيائي. لا يزال Windows يعلن 1500 بايت على المحوّل ويضبط عدم التجزئة على ما يرسله. وحين لا تتسع حزمة كهذه، يكون الرد الصحيح من البوابة رسالة ICMP تطلب من المرسل التصغير. لهذا قد يفشل نفق يمرر اختبارات ping الصغيرة في تنزيل ملف.
غالباً لا تصل تلك الرسالة أبداً. قد ترشّح قفزة شبكة ICMP، أو لا يولّده شيء، ويكرر المرسل الحجم نفسه حتى يستسلم النقل.
الصمت هو العرض الطبيعي هنا، ولهذا يُقرأ العرَض كحجب انتقائي. لا شيء في سجل العميل يسجّل رسالة ICMP مفقودة.
خيار pfSense، وما لا يفعله
يقع الخيار في صفحة النظام، المتقدم، الجدار الناري وNAT، بعنوان «امسح بتات DF غير الصالحة بدل إسقاط الحزم». وبدل تجاهل حزمة كبيرة تحمل العلم، يزيل المرشح العلم ويترك الحزمة تُجزّأ في المصب. تُعد الحزمة غير صالحة حين لا تستطيع عبور الواجهة الصادرة في قطعة واحدة.
يعيد الخيار الاتصال دون لمس العميل، ولهذا يحظى بشعبية. وهو أيضاً حل مؤقت: التجزئة تستهلك المعالج وتجعل كل جزء مفقود أغلى.
ينطبق على المرور المُمرَّر فقط، لا على المرور الذي ينشئه الجدار الناري نفسه. وتقدم الصفحة نفسها «تعطيل تنقية الجدار الناري»، وهو يوقف التطبيع كلياً، وذلك تغيير أوسع بكثير مما تحتاجه هذه المشكلة.
إصلاح أضيق يبقي TCP دون تجزئة
كل التدفقات المتوقفة تقريباً هي TCP، ويمكن أن يتفاوض TCP على مقطع أصغر بدل الاعتماد على التجزئة. تثبيت MSS على واجهة النفق يعيد كتابة القيمة المعلنة أثناء المصافحة، فيرسل كل طرف ما يتسع فعلاً. ثم يتصرف المسار بشكل متوقع ولا تحتاج أي حزمة إلى تجزئة.
هذا يترك UDP للاكتشاف أو لخيار DF. عندما تكون المواقع الفاشلة صفحات ويب عادية، يكون التثبيت هو التغيير المفضّل.
يمكن للعميل الإبلاغ عن وحدة MTU الخاصة بمحوّله عبر netsh interface ipv4 show subinterfaces. قارن ذلك الرقم بما يعتقد الخادم أنه تفاوض عليه، لأن الاثنين ليسا دائماً متطابقين. تلك القيمة هي التي سيستخدمها نظام التشغيل فعلاً، أياً كان ما أفادت به المفاوضة.
أكّد بالالتقاط، ثم أعد ضبط الحالة
التقط على الجانبين قبل أن تقرر: أثر حيث يعمل النفق، وآخر حيث تعمل واجهة WAN. الحزم التي تغادر بالحجم الكامل دون عودة ICMP تشير إلى التثبيت كالطبقة الصحيحة. الردود التي تصل ثم تموت في طريق العودة تشير إلى وحدة MTU النفق بدلاً من ذلك.
امسح جدول الحالات قبل إعادة المحاولة، لأن التدفقات القائمة تحتفظ بأحجام مقاطعها القديمة. ثم حمّل الصفحة التي فشلت واقرأ عرض الحالات لمرور ثنائي الاتجاه بدل العدادات أحادية الجانب. إن استمر التوقف، التقط مرة أخرى بدل تجربة مربع اختيار آخر.