🌐 Jak skonfigurować zaawansowane opcje sieci wirtualnej (teaming, bonding)?
📌 Wprowadzenie
Wirtualizacja to nie tylko tworzenie maszyn wirtualnych, ale także zarządzanie ich połączeniami sieciowymi w sposób równie elastyczny i wydajny jak fizyczne środowiska. W zaawansowanych implementacjach dużą rolę odgrywa teaming oraz bonding — techniki agregacji interfejsów sieciowych dla zwiększenia przepustowości i niezawodności.
🧠 Czym jest bonding i teaming?
🔗 Bonding
Bonding (inaczej agregacja łączy) to metoda łączenia wielu fizycznych interfejsów sieciowych w jeden logiczny. Działa na poziomie systemu operacyjnego i może zapewniać:
- Zwiększoną przepustowość
- Odporność na awarie pojedynczego interfejsu
- Równoważenie obciążenia (load balancing)
Najczęściej używany w systemach Linux.
🧩 Teaming
Teaming to nowsze podejście, wprowadzone w Red Hat/CentOS 7+, które zastępuje bonding i oferuje większą elastyczność oraz lepsze zarządzanie.

🎯 Dlaczego warto stosować bonding/teaming w środowisku wirtualnym?
- 📶 Większa przepustowość w środowiskach z dużym ruchem sieciowym
- 🔒 Lepsza odporność na awarie interfejsów
- 🧰 Optymalne wykorzystanie zasobów sieciowych
- 📡 Skalowalność dla wielu maszyn wirtualnych działających równocześnie
🛠️ Wymagania wstępne
- Przynajmniej dwa fizyczne interfejsy sieciowe (NIC)
- System obsługujący bonding/teaming (Linux, Windows Server, vSphere)
- Odpowiednia konfiguracja switcha (jeśli wymagany jest LACP)
- Uprawnienia administratora
⚙️ Konfiguracja bonding (Linux)
🔧 Krok 1: Instalacja narzędzi
sudo apt install ifenslave
📁 Krok 2: Konfiguracja /etc/network/interfaces
auto bond0
iface bond0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
bond-mode 802.3ad
bond-miimon 100
bond-slaves eth0 eth1
💡
802.3ad
to tryb LACP – wymaga odpowiednio skonfigurowanego switcha.
▶️ Krok 3: Restart interfejsów
sudo ifdown eth0 eth1 bond0
sudo ifup bond0
⚙️ Konfiguracja teaming (Linux, RHEL/CentOS)
📁 Krok 1: Plik konfiguracyjny /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
TEAM_CONFIG='{"runner": {"name": "activebackup"}}'
📁 Krok 2: Konfiguracja interfejsów podrzędnych
ifcfg-eth0
:
DEVICE=eth0
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
Podobnie dla eth1
.
▶️ Restart usług:
nmcli connection reload
nmcli connection up team0
🖥️ Konfiguracja bonding/teaming w hypervisorze
🔹 VMware ESXi
- Wejdź do vSphere Web Client
- Przejdź do „Networking”
- Edytuj vSwitch > Add uplinks
- Ustaw „Load Balancing” np. jako „Route based on IP hash”
🔁 Wymagane: konfiguracja switcha fizycznego do obsługi EtherChannel
🔸 Proxmox VE
- Przejdź do
Datacenter > Node > System > Network
- Kliknij „Create” > „Linux Bond”
- Wybierz interfejsy, tryb (np. balance-rr, 802.3ad), dodaj IP
- Zapisz i zrestartuj interfejs sieciowy
📊 Tryby bonding/teaming – porównanie
Tryb | Opis | Wymaga konfiguracji switcha? |
---|---|---|
balance-rr | Równomierne rozłożenie pakietów | ❌ |
active-backup | Redundancja – tylko jeden aktywny | ❌ |
balance-xor | Load balancing na poziomie MAC/IP | ✅ |
broadcast | Wysyłanie pakietów do wszystkich | ❌ |
802.3ad (LACP) | Dynamiczna agregacja łączy | ✅ |
balance-tlb/alb | Adaptacyjne balansowanie ruchu | ❌ |
🧪 Jak sprawdzić status?
🔍 Linux:
cat /proc/net/bonding/bond0
🔍 Proxmox:
Zakładka Network
, stan bond0
, ruch i porty.
🔍 VMware:
Zakładka „vSwitch”, status uplinków.
🧩 Podsumowanie
Zaawansowana konfiguracja sieciowa w środowisku opartym na wirtualizacji jest nieodzownym elementem skalowalności i wysokiej dostępności. Dzięki technikom takim jak bonding i teaming, możliwe jest:
- zwiększenie przepustowości,
- minimalizacja przestojów przy awarii interfejsu,
- poprawa równoważenia ruchu.
Warto zadbać o odpowiednią konfigurację zarówno po stronie hosta, jak i infrastruktury fizycznej.