يرى المستشعر على جانب VPN شبكتي VLAN للفرعين كحركة IP عادية، وقد اختفى الوسم الذي كان يميّز كل فرع على سلكه الخاص. هذا ما يفعله النفق الموجّه: إنه يستعيد الحزم، لا إطارات Ethernet التي أوصلتها. وما إذا كان الوسم المفقود مهمًا يعتمد كليًا على السؤال الذي تطرحه على المستشعر. نفّذ الفحوص الأربعة أدناه بالترتيب، وستعرف أي نقطة مراقبة يمكنها الإجابة على ذلك السؤال.

أولًا: أثبت ما يستعيده نفقك

واجهة TUN تحمل حزم IP، لذا يتوقف رأس VLAN لإطار الفرع عند الموجّه الذي دفع الحركة إلى النفق. واجهة TAP تحمل إطارات Ethernet، وهذا يعني أن الوسوم يمكن أن تبقى عندما يسمح الجسر وقواعد قبول VLAN بمرورها. اقرأ نوع الواجهة قبل أن تستنتج ما ينبغي أن يحتويه الالتقاط.

لا يعد أي من الخيارين عيبًا. فالتصميمان يجيبان عن سؤالين مختلفين ويتركان الوسم في موضعين مختلفين.

أثبت نوع الواجهة بنفسك بدلًا من استنتاجه من اسم المنتج. تُسمّي تفاصيل الوصلة نوع الجهاز وتُظهر الأعلام النافذة، والالتقاط المأخوذ على جهاز TUN لن ينمو له رأس Ethernet لمجرد أنك طلبت ذلك. إذا ظهرت وسوم فعلًا في التقاط TUN، فأنت تقرأ على الأرجح واجهة أخرى أو نفقًا يحمل الإطارات داخل حمولته. لاحظ أي حالة أنت فيها قبل المتابعة.

ثانيًا: ضع المستشعر حيث لا يزال الجسم موجودًا

ثلاثة مواضع تغطي معظم التصاميم الموجّهة: مقطع Ethernet في الفرع، والشبكة الخارجية بين طرفي النفق، والمسار بعد معالجة النفق. كل موضع يرى جسمًا مختلفًا، والوسم موجود في الأول فقط. واختيار موضع المستشعر قرار بشأن الجسم الذي تحتاجه السياسة، وليس مسألة راحة.

Observation pointWhat is actually thereQuestion it can answer
Branch Ethernet segmentTagged frames on the local wireWhich VLAN carried this frame here
Outer tunnel networkThe protected carrier between endpointsWhich endpoints are exchanging traffic
After tunnel processingRecovered IP packetsWhich branch prefix the packet claims

اطرح سؤال السياسة بصيغة يستطيع الجدول الإجابة عنها، وسيحل نفسه عادةً. إذا احتاجت القاعدة إلى معرفة الفرع الذي جاءت منه الحزمة، فقد يكفي تعيين البادئات في المصب، لكن فقط ما دام ذلك التعيين دقيقًا وغير ملتبس. وإذا احتاجت القاعدة إلى معرفة المنفذ الذي وصل عليه الإطار، فأنت بحاجة إلى الموضع الأول، لأن لا شيء في المصب يستطيع إعادة بناء ذلك. والمستشعرات التي تُوضع بالعادة بدلًا من السؤال هي الطريقة التي ينتهي بها الفريق إلى طلب حقل لم يحمله التصميم يومًا.

النفق الذي يحمل Ethernet تصميم مختلف ويحتاج فحصًا خاصًا لما يحتفظ به الطرفان أو يعيدان كتابته. واختيار TAP وحده لا يحدد الجسر ولا قواعد قبول VLAN ولا سياسة الفحص.

ثالثًا: اكتسب سياق المصدر بدلًا من الوثوق به

نطاق عنوان واحد لكل فرع هو البديل المعتاد عن هوية VLAN، وهو يصح فقط ما دام التعيين واحدًا لواحد. والبادئات المتداخلة والترجمة والبوابة المشتركة كلها تنقض هذا الافتراض بطريقة تبدو مشكلة جودة بيانات لا مشكلة تصميم. اكتب التعيين مع حدوده وقل ما يحدث للحزمة التي تطابق صفين. والبادئة التي تظهر في فرعين ينبغي أن تكون خطأً تكشفه، لا رمي عملة تقبله.

السياق الذي يقدمه العميل ليس دليلًا على العضوية. إنه ادعاء، ومكانه في عمود آخر.

حيث يهم التمييز، استخدم بيانات اقتران تتحكم فيها: أي نسخة نفق قبلت الاتصال، وعلى أي واجهة وصلت الحزم، وماذا يقول جدول المسارات المحلي عن ذلك النظير. والتسمية التي يوفرها العميل تلميح مفيد ومدخل تفويض عديم الفائدة. وإذا لم يستطع المستشعر إثبات الاقتران من جانبه، فتحتاج السياسة إلى قاعدة أوسع بدلًا من تخمين واثق.

رابعًا: أكّد مسار الرد وما يفوته فك التشفير

المستشعر الذي يرى اتجاهًا واحدًا فقط قد يبدو سليمًا، لأن الطلبات تظل تصل في موعدها. افحص مسار الرد صراحةً، وافحصه للتدفق نفسه لا للوصول العام. وتصبح الرؤية نصف المزدوجة فجوة صامتة في أي استنتاج يعتمد على الحالة تستخلصه منها.

واستعادة حركة IP الداخلية ليست هي نفسها رؤية التطبيق بداخلها، لأن TLS المحمول عبر النفق يبقى TLS.

ip -d link show tun0
tcpdump -i tun0 -n -e -c 5

هذان الأمران يجيبان عن سؤال الواجهة ويُظهران ما يحتويه الالتقاط فعلًا، وهذا أسرع من الجدال حول البنية. استبدل اسم الواجهة الذي يستخدمه تصميمك وشغّل الالتقاط بينما التدفق الذي يهمك نشط. وعندما لا يظهر وسم على جهاز TUN، فالاستنتاج هو أن التصميم وجّه بدلًا من أن يجسر، لا أن المستشعر أسقط بيانات. حينها إما انقل المستشعر إلى موضع يرى الوسم، أو أعد كتابة القاعدة بصيغة يدعمها الموضع الحالي.

مقالات ذات صلة