מבוא
חיבור מכונות וירטואליות KVM לרשתות פיזיות דרך גשרים הוא משימה סטנדרטית למעבדות וסביבות בדיקה. עם זאת, להגדרת bridge ב-Linux יש מלכודות. מאמר זה מספק מדריך שלב אחר שלב עם ניתוח שגיאות נפוצות.
שגיאה נפוצה: enp0s31f6 כגשר
שגיאה נפוצה היא הקצאת כתובת IP ישירות לממשק הפיזי (למשל, enp0s31f6) שמתווסף לגשר. כשיוצרים גשר, ה-IP חייב להיות על br0, לא על הממשק הפיזי.
יצירת גשר עם nmcli
# יצירת ממשק גשר
nmcli connection add type bridge ifname br0
# הגדרת IP
nmcli connection modify br0 ipv4.addresses “192.168.1.100/24”
nmcli connection modify br0 ipv4.gateway “192.168.1.1”
nmcli connection modify br0 ipv4.method manual
# הוספת ממשק פיזי כ-slave
nmcli connection add type bridge-slave
ifname enp0s31f6 master br0
# הפעלת הגשר
nmcli connection up br0
הוספת ממשק פיזי כ-Slave
הממשק הפיזי (enp0s31f6) מתווסף כ-bridge-slave. חיבור הרשת שלו מושבת — כל התעבורה עוברת דרך br0. חשוב: עשו זאת דרך קונסולה או IPMI, כי חיבור SSH יינתק.
הגדרת NIC של VM
בתצורת ה-VM (virsh edit או virt-manager), ממשק הרשת מקושר ל-br0. השתמשו ב-virtio לדגם ה-NIC — זה משפר משמעותית את התפוקה.
אימות עם bridge link ו-tcpdump
השתמשו ב-bridge link show כדי לבדוק חברי גשר, tcpdump -i br0 לניטור תעבורה, ו-ip neigh show dev br0 לטבלת ARP.
פתרון בעיות קישוריות
אם ה-VM לא מקבל IP מ-DHCP: בדקו STP — עבור גשר בודד, השביתו אותו דרך nmcli. ודאו ש-firewalld לא חוסם תעבורת bridge. אמתו ש-net.bridge.bridge-nf-call-iptables מוגדר ל-0.
טיפים שימושיים
- תמיד הגדירו גשרים דרך קונסולה, לא SSH
- השתמשו ב-virtio ל-NIC של VM — שיפור תפוקה משמעותי
- למספר VLANs, השתמשו ב-VLAN sub-interfaces על הגשר
- תעדו את התצורה — הגדרות רשת קל לאבד בעדכוני מערכת
סיכום
הגדרת KVM bridge networking דרך nmcli היא ישירה ברגע שמבינים את העקרונות. נקודות מפתח: כתובת IP על br0, ממשק פיזי כ-slave, STP מושבת לתצורות פשוטות, ואימות כללי firewall.