إيثرنت افتراضي (Virtual Ethernet)
veth
الشرح المبسط
الشرح التقني المتقدم
تعتبر واجهات إيثرنت الافتراضية (Virtual Ethernet) أو ما يعرف اختصارا بواجهات فيث (veth) من أهم المكونات التي تعمل خلف الكواليس في نظام لينكس لربط الشبكات. تعمل هذه الواجهات كأنبوب بيانات محلي داخل النواة (Kernel) يربط بين نقطتين، مما يسمح بنقل حزم البيانات (Data Packets) بين مساحات أسماء الشبكة (Network Namespaces) المعزولة.
آلية عمل زوج فيث (veth pair)
لا يمكن إنشاء واجهة فيث بمفردها، بل يتم إنشاؤها دائما كزوج متصل (Peer). الفكرة الأساسية هي توفير اتصال وهمي يعمل تماما مثل الكابل الفعلي:
مساحات الأسماء (Namespaces): يتم وضع كل طرف من زوج فيث في مساحة اسم مختلفة، وعادة ما يربط أحدهما بالجسر الشبكي (Network Bridge) في النظام المضيف، بينما يوضع الطرف الآخر داخل الحاوية (Container) ليعمل كبطاقة شبكة خاصة بها.
إنشاء وإدارة واجهات فيث (veth)
يمكن للمسؤولين إنشاء زوج من هذه الواجهات لتوصيل بيئات العمل المعزولة يدويا عبر سطر الأوامر:
أمر إنشاء زوج فيث:
sudo ip link add veth0 type veth peer name veth1
بعد التنفيذ، سنحصل على واجهتين مرتبطتين، وإليك ما يحدث تقنيا:
- الواجهة
veth0: يتم إنشاؤها في مساحة الاسم الحالية للشبكة (Default Network Namespace)، ويمكن ربطها بجسر شبكي (Bridge) لتوفير الاتصال الخارجي. - الواجهة
veth1: تمثل الطرف الآخر (Peer)، ويمكن نقلها إلى مساحة اسم معزولة وتخصيص عنوان آي بي (IP Address) مستقل لها.
ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)
لضمان عمل واجهات فيث بكفاءة مع الحاويات، يجب التأكد من تفعيل خاصية تمرير الحزم (Packet Forwarding) في نظام لينكس، بالإضافة إلى إعداد قواعد جدار الحماية (Firewall) والسماح بحركة المرور (Traffic) لتجنب أي انقطاع في الاتصال الخارجي.