تسلسل شبكتي VPN: ما الذي يخفيه وما تكلفته
غيّر الأنفاق المتداخلة من يرى أي طرف، لا من يراك. وجّه الطرف الداخلي عبر النفق الخارجي، ثم افحص DNS وMTU والرجوع الاحتياطي.
نفقان متداخلان لا يجعلانك مجهولاً. إنهما يقسّمان الملاحظات بين مزوّدين، فلا يرى أي منهما عنوان منزلك ووجهتك معاً. هذه فائدة حقيقية لكنها ضيقة، وتأتي معها مشكلات التوجيه وDNS وMTU التي تظهر أول مرة تعتمد عليها.
1. حدّد الغرض من القفزة الثانية
اكتب الهدف في جملة واحدة قبل أن تضبط أي شيء. إن كان الهدف ألا يرى مزوّد خدمة الإنترنت المواقع التي تزورها، فنفق واحد يحقق ذلك. وإن كان ألا يستطيع أي مزوّد واحد ربط عنوانك بمرورك، فاثنان يفعلان ذلك. وإن كان ألا يتمكن أحد من تحديد هويتك، فلا عدد من القفزات يصل إلى ذلك.
لا تكون السلسلة أقوى من سجلات المزوّد الأضعف وسجلات الحسابات التي يحتفظ بها كلاهما. المدفوعات وبريد التسجيل وبيانات التطبيقات تبقى خارج النفق تماماً.
2. اجعل الطرف الداخلي قابلاً للوصول عبر النفق الخارجي
الفشل المعتاد هو ألا يُنشأ النفق الداخلي أبداً. اتصال خارجي بنفق كامل يملك المسار الافتراضي، لذا تُبتلع محاولة العميل الداخلي الوصول إلى طرفه بواسطة النفق الخارجي وتُسقط أو تُدار في حلقة. يحتاج الطرف الداخلي إلى مسار صريح عبر الواجهة الخارجية، يُثبَّت قبل بدء العميل الداخلي. وإلا فإن المصافحة تسابق المسار وتخسر.
يُظهر WireGuard التعارض نفسه من الاتجاه الآخر، إذ تحدد خاصية AllowedIPs الوجهات التي تدخل ذلك النفق، فالواجهة الداخلية التي تطالب بكل عنوان تطالب أيضاً بالطرف الخارجي ما لم يفز مسار أكثر تحديداً. أما تداخل AllowedIPs بين واجهتين فهو إعداد يخسر فيه أحد الجانبين بصمت.
تسلسل الحاويات يجعل الفصل صريحاً والفخ واضحاً. الحاوية ذات مساحة الأسماء الخاصة بها ومسارها الافتراضي الخاص وعميل داخلها تُمرّر ما يرسله المضيف إليها؛ أما المضيف فلا يبدأ في استخدام ذلك المسار من تلقاء نفسه. فعّل التمرير، وأضف مساراً لنفق الحاوية، ووجّه الخدمة إلى عنوان الحاوية.
3. أبقِ DNS على المسار نفسه
على DNS أن يسير حيث يسير المرور. إذا دفع المزوّد الداخلي خوادم حلّ وبقي المضيف يسأل الخوادم المحلية، فإن تلك الاستعلامات تكشف بالضبط المواقع التي كان النفق يفترض أن يخفيها. تحقّق بالتقاط على كل واجهة نفق بدل الثقة بلوحة حالة العميل. التسرب هنا غير مرئي أثناء التصفح العادي وواضح في الالتقاط.
تصاميم DNS المنقسم تجعل هذا أصعب، لأن استعلاماً عن اسم محلي قد ينتمي مشروعاً إلى خارج النفق. اكتب قائمة الاستثناءات عمداً بدل اكتشافها من أي خادم حلّ صادف أنه أجاب.
4. اضبط MTU قبل أن يكتشف المستخدمون ذلك عنك
MTU هو الضحية الأخرى المتوقعة. التغليفان يطرحان ترويستين، والنفق الخارجي الذي خفّض بالفعل MTU المسار يترك مساحة أقل في الداخل. الأعراض مألوفة: الطلبات الصغيرة تنجح، وعمليات النقل الكبيرة ومصافحات TLS تتعطل.
ip link set dev wg1 mtu 1280 هو الإصلاح الفظ، وتثبيت MSS على الممرّر هو الإصلاح الأنيق. إعادة محاولة الاتصال ليست إصلاحاً على الإطلاق.
5. اختبر الفشل الذي ستواجهه فعلاً
اقطع النفق الخارجي عمداً وراقب ما يحدث. السلسلة التي ترتد بصمت إلى مسار مباشر عند موت القفزة الخارجية أسوأ من عدم وجود سلسلة، لأنها تتسرب في اللحظة التي ظننت فيها أنك محمي. السلوك المطلوب هو مفتاح إيقاف يوقف كل المرور. سجّل النتيجة، لأنك لن ترغب في إعادة اكتشافها في منتصف حادثة.
زمن الوصول ونقطة فشل ثانية هما التكلفة الدائمة. والقفزتان تعنيان أيضاً طابقين للدعم عندما يتعطل شيء في ساعة غير مناسبة.