تشكيل حركة OpenVPN: أي واجهة تراها؟
يحتاج حدّ المعدل والاصطفاف العادل وأولوية التطبيقات إلى معلومات حزم مختلفة. حدّد المرحلة التي ترى هذه المعلومات قبل كتابة قاعدة لن يطابقها المُشكِّل أبدًا.
اعمل على أربعة فحوص: ما الذي تريد تحديده، وأي حزمة تحمل المعلومات التي تعرّفه، وأي واجهة يستطيع المُشكِّل رؤيتها، وما يتحمّله الموجّه أثناء التشفير. تأتي الموجّهات بصفحة OpenVPN وصفحة للنطاق الترددي، ولا يثبت تعايشهما شيئًا عن أي منهما. الترتيب مهم، لأن قاعدة مكتوبة على الحزمة الخاطئة لا تطابق أبدًا، مهما كان معدلها صحيحًا.
ابدأ بالهدف: تحديد جهاز واحد، أو مشاركة السعة بعدل، أو إعطاء الأولوية لتطبيق واحد. كل هدف يحتاج مطابقة مختلفة.
سمِّ الهدف قبل القاعدة
يحتاج الحدّ لكل جهاز إلى مطابقة على عنوان ذلك الجهاز، وهو موجود داخل النفق فقط. تحتاج العدالة بين التدفقات المتنافسة إلى طابور تشترك فيه جميعًا، لا إلى قاعدة لكل مضيف. وتحتاج أولوية التطبيق إلى شيء يعرّف التطبيق، وهو الأصعب بين الثلاثة بمجرد أن يزيل التشفير الرؤوس الداخلية من العرض. وكتابة الهدف أولًا تخبرك بأي حقيقة تحتاجها وأين يمكنك الحصول عليها.
الحدّ الذي يعمل على حركة WAN المباشرة ليس دليلًا على أن المضيف نفسه مغطى داخل النفق. فقد تطابق القاعدة عنوانًا لا يظهر أبدًا في الرأس الذي يراه المُشكِّل.
داخل النفق أم خارجه
مع عميل VPN يملكه الموجّه، تنتقل تدفقات LAN كثيرة داخل نقل مشفّر واحد. قبل التغليف لا يزال الموجّه يرى المصدر والوجهة الداخليين، لذا يمكن للسياسة المضافة في تلك المرحلة أن تصنّف لكل جهاز. وبعد التغليف لا ترى المعدات العادية سوى الاتصال الخارجي، ومطابقة منفذ VPN لا تقول شيئًا عن الجهاز المسؤول. تلك الحقيقة الواحدة تحدّد أين تنتمي القاعدة.
تختلف المنصّات في طريقة إظهار ذلك. بعضها يوفّر مُشكِّلًا يصطف ويصنّف على واجهة نفق؛ وبعضها يعامل المحدّدات كقواعد واجهة تتصرف بالطريقة نفسها مع حركة VPN وغير VPN؛ وبعضها يفعل الأمرين بقدرات مختلفة. اقرأ توثيق البرنامج الثابت نفسه للواجهة التي يدعمها بدلًا من نسخ اسم واجهة من دليل بائع آخر.
حدّد أين تبقى العناوين متاحة، وأين يحدث التحويل، وأي طابور يتحكم فعليًا في عنق الزجاجة.
ثلاث سياسات، ثلاثة أنواع من الأدلة
يُثبت حدّ المعدل بنقل مستمر من الجهاز المحدود بينما ينقل جهاز آخر في الوقت نفسه. وتُثبت المشاركة العادلة بتدفقين يبلغان معدلين متقاربين بدلًا من أن يتضور أحدهما، وهذا قياس مختلف. وتُثبت أولوية التطبيق ببقاء مهمة تفاعلية سريعة الاستجابة أثناء نقل كبير، وبالتحقق من أن المصنّف تعرّف على التدفق أصلًا. كل سياسة تحتاج ملاحظتها الخاصة، ولا تُثبت أي منها بصفحة إعدادات.
يستحق التصنيف شكًا خاصًا. فمطابقة المنفذ الخارجي المشفّر لا تستطيع استعادة هوية كل تطبيق داخلي، لذا فقاعدة تبدو أنها تعطي الأولوية لتطبيق واحد قد تعطي الأولوية في الممارسة لكل ما يأتي من ذلك النفق. اقرأ عدّادات القاعدة بدلًا من نيّتها.
قِس الحمل المشفّر، لا الحمل العاري
تتنافس التشكيل والتصنيف والتشفير على معالج واحد، وقد تنقل تسريعات العتاد الحركة متجاوزةً القواعد والعدّادات التي تراقبها بالضبط. ورقم الإنتاجية من اختبار توجيه عادي لا يقول الكثير عن الجهاز تحت حمل مشفّر ومُشكَّل. اختبر الاتجاهين، وعدة عملاء ممثّلين، ومهمة تفاعلية صغيرة إلى جانب النقل الكبير. فاستجابة الجهاز تحت الحمل أهم من رقم الذروة على وصلة خاملة.
أدرج الاستثناءات في القياس: الحركة التي ينبغي أن تتجاوز النفق، وعائلتا العناوين إذا كانتا كلتاهما قيد الاستخدام، وما يحدث عندما يكون النفق معطلًا. فالسياسة التي تتصرف بشكل معقول فقط بينما يكون النفق سليمًا هي نصف سياسة.
اكتب المواصفة في ثلاثة أسطر: مطابقة الحركة، ونقطة الإنفاذ، والحمل المقاس. فـ OpenVPN مع QoS ليس مواصفة.