مقدمة سريعة
يا هلا بالمهندسين! اليوم بنتكلم عن ثلاثة أشياء أساسية ومهمة جداً في إدارة الشبكات على Linux: الجسور (Bridges)، الروابط (Bonding)، والشبكات الوهمية (VLANs). هذي الأدوات بتخليك تتحكم بالشبكة بشكل احترافي وتوفر مرونة وأمان عاليين. يلا نبدأ بدون مقدمات طويلة.
1. الجسور (Bridges)
الجسور في Linux هي زي السويتش (Switch) البرمجي. تسمح لك تربط كروت شبكة فيزيائية (مثل eth0) مع كروت شبكة افتراضية (مثل كروت VMs) عشان كلهم يكونون على نفس الشبكة المنطقية ويقدرون يتواصلون مع بعض. مفيدة جداً في بيئات الافتراضية (Virtualization).
كيف تشتغل؟
البريدج بيجمع لك أكثر من منفذ (سواء فيزيائي أو افتراضي) في منفذ منطقي واحد. أي ترافيك يوصل لأي منفذ من المنافذ المربوطة بالبريدج، بيشوفه البريدج وبيوجهه للمنفذ الصحيح بناءً على عنوان MAC.
أوامر أساسية:
أول شيء، تأكد إن حزمة bridge-utils مثبتة. لو مو موجودة، ثبتها:
sudo apt install bridge-utils # لـ Debian/Ubuntu
sudo yum install bridge-utils # لـ CentOS/RHEL
إنشاء جسر جديد (مثلاً br0):
sudo brctl addbr br0
إضافة كرت شبكة فيزيائي للبريدج (مثلاً eth0):
sudo brctl addif br0 eth0
لازم ترفع كرت الشبكة اللي أضفته والبريدج نفسه:
sudo ip link set eth0 up
sudo ip link set br0 up
تعيين عنوان IP للبريدج (بدلاً من تعيينه لـ eth0 مباشرة):
sudo ip addr add 192.168.1.10/24 dev br0
شوف حالة الجسور الموجودة:
brctl show
ملاحظة: بعد ما تربط
eth0بالبريدج،eth0ما عاد ياخذ IP خاص فيه. البريدج هو اللي بياخذ الـ IP وبيكون هو الواجهة الأساسية للاتصال.
2. الروابط (Bonding) أو تجميع الروابط (Link Aggregation)
البوندينج يسمح لك تجمع أكثر من كرت شبكة فيزيائي في كرت شبكة منطقي واحد. وش الفايدة؟ يا إنك تزيد عرض النطاق (Bandwidth) أو توفر تكرار (Redundancy) بحيث لو تعطل كرت، الثاني يشتغل مكانه بدون انقطاع.
أوضاع البوندينج (Bonding Modes):
balance-rr(Mode 0): توزيع الحمل بالتساوي بين الكروت.active-backup(Mode 1): واحد يشتغل، والباقي احتياطي. لو الرئيسي طاح، الاحتياطي يشتغل. هذا الأكثر شيوعاً للتكرار.802.3ad(Mode 4): يسمح لك تجمع الكروت مع سويتش يدعم LACP. يعطي زيادة في الباندويث وتكرار.
أوامر أساسية:
أول شيء، تأكد إن موديل البوندينج متحمل في الكيرنل:
sudo modprobe bonding
إنشاء واجهة بوندينج جديدة (مثلاً bond0):
sudo ip link add bond0 type bond
تعيين وضع البوندينج (مثلاً active-backup):
sudo ip link set bond0 type bond mode active-backup
إضافة كروت الشبكة الفيزيائية للبوند (مثلاً eth0 و eth1):
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0
لازم ترفع واجهة البوند bond0:
sudo ip link set bond0 up
تعيين عنوان IP للبوند bond0:
sudo ip addr add 192.168.1.20/24 dev bond0
شوف حالة البوند:
cat /proc/net/bonding/bond0
ملاحظة: عشان تخلي الإعدادات دائمة بعد إعادة التشغيل، لازم تعدل ملفات الإعدادات زي
/etc/network/interfaces(لـ Debian/Ubuntu) أو تستخدم NetworkManager (nmcli) أو Netplan.
3. الشبكات الوهمية (VLANs)
الـ VLANs تسمح لك تقسم شبكة فيزيائية واحدة إلى عدة شبكات منطقية منفصلة. كل VLAN يكون له ID (رقم) خاص فيه. هذي الطريقة ممتازة لزيادة الأمان، وتقليل ترافيك البث (broadcast traffic)، وتنظيم الشبكة.
كيف تشتغل؟
السويتشات اللي تدعم VLANs بتضيف tag (علامة) خاصة لكل باكت (packet) عشان تحدد لأي VLAN ينتمي. لما توصل الباكت لجهازك، كرت الشبكة بيفهم الـ tag وبيوجه الباكت للواجهة المنطقية الصحيحة.
أوامر أساسية:
أول شيء، تأكد إن حزمة vlan مثبتة (قد لا تكون ضرورية في بعض التوزيعات الحديثة التي تستخدم ip link مباشرة):
sudo apt install vlan # لـ Debian/Ubuntu
sudo yum install vlan # لـ CentOS/RHEL
إنشاء واجهة VLAN جديدة على كرت الشبكة eth0 بالـ ID رقم 10 (مثلاً eth0.10):
sudo ip link add link eth0 name eth0.10 type vlan id 10
لازم ترفع واجهة الـ VLAN:
sudo ip link set eth0.10 up
تعيين عنوان IP لواجهة الـ VLAN:
sudo ip addr add 10.0.10.1/24 dev eth0.10
إذا عندك VLAN ثاني بالـ ID رقم 20:
sudo ip link add link eth0 name eth0.20 type vlan id 20
sudo ip link set eth0.20 up
sudo ip addr add 10.0.20.1/24 dev eth0.20
شوف الواجهات الموجودة:
ip a
ملاحظة: عشان تشتغل الـ VLANs صح، لازم السويتش اللي موصل فيه جهازك يكون مبرمج صح ويدعم VLAN tagging (غالباً 802.1Q). ولازم المنفذ اللي موصل فيه جهازك يكون Trunk Port عشان يعدي كل الـ VLANs.
خاتمة
هذي كانت نظرة سريعة وعملية على الجسور، الروابط، والـ VLANs في Linux. استخدام هذي التقنيات بيعطيك قوة ومرونة كبيرة في إدارة الشبكة، سواء كانت شبكة منزلية بسيطة أو بيئة خوادم معقدة. طبق الأوامر، وجرب بنفسك، وبتشوف كيف بتفرق معاك!