OpenVPN بين TUN و TAP: ثلاثة شروط تحسم الاختيار
إحدى الواجهتين تحمل حزم IP، والأخرى تحمل إطارات Ethernet. افحص التطبيق ودعم العملاء والعَرَض الحقيقي قبل أن تجسر أي شيء.
يمكن لنفقين أن ينقلا الملف نفسه وينختلفا كلياً فيما يضعانه على السلك. أحدهما ينقل حزم IP بين عنوانين؛ والآخر ينقل إطارات Ethernet ويمكن جسره إلى مقطع شبكي. هذا الاختلاف يحدد أي التطبيقات تعمل، وأي العملاء يستطيعون الاتصال، وكم من تصميم الشبكة ستتحمله.
ثلاثة شروط تحسم الأمر عملياً. امضِ فيها بالترتيب، لأن الشرط الأول عادةً يُنهي النقاش.
ما تحمله كل واجهة فعلاً
جهاز TUN واجهة نقطة إلى نقطة من الطبقة 3: تسلّمه النواة حزم IP وينقلها النفق إلى عنوان نظير. وجهاز TAP واجهة من الطبقة 2 تحمل إطارات Ethernet، وهذا ما يجعل الجسر ممكناً أصلاً، كما تشرح وثائق النواة. لا يغيّر أيٌّ منهما طريقة تشفير الحمولة، ولا هو إعداد قوة. الاختيار يتعلق بما يجب أن يتبادله الطرفان، لا بمدى حماية الحركة.
تنجم نتيجة واحدة فوراً: يجب أن يتفق الطرفان. العميل المهيأ لنوع جهاز ما لا يستطيع الانضمام إلى خادم مهيأ للنوع الآخر، أياً كان ما يتطابق غيره.
الشرط الأول: هل يحتاج شيء ما إلى الطبقة الثانية؟
يستحق الجسر تعقيده حين يحتاج بروتوكول فعلاً إلى نطاق بث واحد: حركة غير IP، أو اكتشاف لا يعبر موجهاً، أو تطبيق يصرّ على أن يكون في مقطع واحد. كل ما عدا ذلك مشكلة توجيه، والتوجيه يحلها بآليات أقل بكثير. وتمديد مقطع عبر منطقة واسعة يمدد بثّه أيضاً، فيصبح منع الحلقات وتخطيط العناوين ونطاقات الفشل جزءاً من التصميم. وهذا كثير لقبوله من أجل مطلب كان مسار واحد سيلبّيه.
الاختبار ملموس: سمِّ التطبيق الذي يفشل على نفق موجّه وقل لماذا. إن كان الجواب أنه يحتاج البث، فالطبقة الثانية هي الجواب الصادق. وإن كان الجواب أن أحدهم لم يستطع الوصول إلى خادم واحد، فالمطلب مسار أو قاعدة جدار ناري.
الشرط الثاني: هل يستطيع العملاء ذلك؟
الدعم ليس موحداً. عملاء سطح المكتب يعرضون عادةً نوعي الأجهزة، بينما عملاء الهاتف والأنظمة المدمجة ينفذون غالباً الوضع الموجّه فقط، وملف يُستورد بلا شكوى قد يفشل مع ذلك عند محاولة إنشاء الواجهة. افحص العميل والإصدار المحددين بدل استنتاج الميزات من اسم المنصة.
خطأ خيار غير مدعوم ليس دعوة لحذف أسطر غير مألوفة حتى ينجح الاستيراد. إنه يعني أن الملف والعميل يختلفان حول ما هو ممكن، والإصلاح من مسؤولية المشغّل الذي أصدر الملف. وإزالة خيار لإسكات مدقّق قد تنتج اتصالاً يبدو أنه يعمل بينما يحذف بهدوء الخاصية التي وُجد لأجلها.
الشرط الثالث: هل هذه فعلاً مسألة واجهة؟
يُلام خياران متجاوران على مشاكل الواجهة. الجهاز الافتراضي يحدد ما يدخل النفق، بينما يحدد UDP أو TCP كيف يتصرف النقل الخارجي، ولا يشفيهما نقل يتعطل. وعندما تعلق النقلات الكبيرة بينما تنجح الصغيرة، تستحق حجم الحزمة و MTU الاهتمام بدلاً من ذلك.
العميل الذي يتصل ثم لا يستطيع الوصول إلى مضيف داخلي واحد ينظر عادةً إلى التوجيه أو قاعدة جدار ناري أو مسار عودة مفقود.
في خدمة مُدارة، استخدم ترتيب الواجهة الذي يحدده ملف المشغّل، لأن جانب الخادم مبني عليه أصلاً. وفي نشر خاص، اختر بحسب المطلب الحقيقي للتطبيق واكتب السبب بجانب الاختيار.
السؤال ليس أي خيار أقوى. بل أيّهما تحتاجه الحركة فعلاً.