Konfiguracja sieci wirtualnej w systemie Linux
Wirtualizacja jest jednym z kluczowych narzędzi wykorzystywanych w nowoczesnych infrastrukturach IT. Aby maszyny wirtualne mogły komunikować się ze sobą oraz z resztą sieci, niezbędna jest odpowiednia konfiguracja sieci wirtualnej. W systemie Linux istnieje wiele narzędzi, które pozwalają na łatwe i efektywne zarządzanie sieciami wirtualnymi. W tym artykule omówimy, jak skonfigurować sieć wirtualną, jej typy oraz jak zarządzać połączeniami sieciowymi na przykładzie popularnych narzędzi takich jak KVM i VirtualBox.
Co to jest sieć wirtualna?
Sieć wirtualna to logiczna sieć, która działa na wirtualnych maszynach, ale jest zarządzana przez fizyczny host. Dzięki wirtualnym interfejsom sieciowym, maszyny wirtualne mogą komunikować się z sobą, z hostem oraz z zewnętrznymi zasobami, nawet jeśli nie mają fizycznego interfejsu sieciowego.
Sieci wirtualne mogą być używane do izolowania komunikacji pomiędzy różnymi maszynami wirtualnymi, umożliwiając jednocześnie pełny dostęp do internetu lub ograniczając go tylko do wirtualnych maszyn.

Typy sieci wirtualnych w systemie Linux
W systemie Linux dostępne są różne typy sieci wirtualnych, które można skonfigurować w zależności od potrzeb. Oto najczęściej używane:
1. Sieć mostkowana (Bridge network)
Sieć mostkowana pozwala maszynie wirtualnej na uzyskanie własnego adresu IP w sieci fizycznej. Oznacza to, że maszyna wirtualna działa w tej samej sieci, co fizyczny host, i może komunikować się z innymi urządzeniami w tej samej sieci lokalnej.
Jak skonfigurować sieć mostkowaną w KVM?
Aby skonfigurować mostek w KVM, wykonaj następujące kroki:
- Zainstaluj wymagane pakiety:
sudo apt install bridge-utils - Tworzenie mostka (bridge):
Musisz stworzyć mostek, który pozwoli na komunikację pomiędzy maszyną wirtualną a siecią fizyczną. Edytuj plik
/etc/network/interfacesi dodaj poniższą konfigurację:auto br0 iface br0 inet dhcp bridge_ports eth0W powyższym przykładzie
eth0to interfejs sieciowy hosta, abr0to mostek, który będziemy wykorzystywać. - Restartuj sieć:
Aby zastosować zmiany, uruchom ponownie interfejs sieciowy:
sudo systemctl restart networking - Skonfiguruj maszynę wirtualną:
W narzędziu
virt-managerpodczas tworzenia maszyny wirtualnej, wybierz typ karty sieciowej jakoBridge, a jako mostek wybierzbr0.
2. Sieć NAT (Network Address Translation)
Sieć NAT umożliwia maszynom wirtualnym dostęp do internetu, ale same maszyny wirtualne nie są widoczne w sieci lokalnej. NAT działa na zasadzie tłumaczenia adresów IP: maszyna wirtualna korzysta z prywatnego adresu IP, który jest tłumaczony na adres publiczny hosta.
Jak skonfigurować sieć NAT w KVM?
- Tworzenie sieci NAT:
Możesz utworzyć sieć NAT za pomocą narzędzia
virsh:sudo virsh net-define /etc/libvirt/qemu/networks/default.xml sudo virsh net-start default - Sprawdzanie statusu:
Aby sprawdzić, czy sieć działa poprawnie, użyj poniższego polecenia:
sudo virsh net-list --all - Skonfiguruj maszynę wirtualną:
Podczas tworzenia maszyny wirtualnej w
virt-managerwybierz jako typ karty sieciowejNAT. Maszyna wirtualna otrzyma adres IP z puli dostępnej dla tej sieci NAT.
3. Sieć host-only
Sieć host-only pozwala maszynom wirtualnym na komunikację tylko z hostem, bez dostępu do sieci lokalnej ani internetu. Jest to dobry wybór, gdy chcesz zapewnić izolowane środowisko dla maszyn wirtualnych.
Jak skonfigurować sieć host-only w VirtualBox?
- Tworzenie sieci host-only:
W VirtualBox otwórz „Preferencje” i przejdź do zakładki „Sieci”. Kliknij „Dodaj nową sieć” i wybierz typ
Host-Only. - Skonfiguruj maszynę wirtualną:
Po utworzeniu sieci host-only przypisz ją do maszyny wirtualnej. W VirtualBox wybierz odpowiednią kartę sieciową i przypisz ją do nowo utworzonej sieci host-only.
- Sprawdź połączenie:
Uruchom maszynę wirtualną i sprawdź, czy maszyna wirtualna ma dostęp tylko do hosta, ale nie do internetu.
2. Narzędzia do zarządzania siecią wirtualną w systemie Linux
2.1. ip – narzędzie do konfiguracji sieci
W systemie Linux narzędzie ip jest używane do zarządzania interfejsami sieciowymi, w tym wirtualnymi. Możesz za jego pomocą tworzyć interfejsy sieciowe, konfigurować adresy IP i ustawiać trasowanie.
Tworzenie wirtualnego interfejsu sieciowego
Aby stworzyć wirtualny interfejs sieciowy (np. veth0), użyj polecenia:
sudo ip link add veth0 type veth
sudo ip link set veth0 up
2.2. nmcli – narzędzie do zarządzania siecią
nmcli jest narzędziem wiersza poleceń dla NetworkManager, które pozwala na zarządzanie połączeniami sieciowymi, w tym także wirtualnymi interfejsami sieciowymi.
Konfiguracja mostu za pomocą nmcli
Możesz utworzyć mostek sieciowy przy użyciu nmcli:
sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection add type ethernet con-name eth0 ifname eth0 master br0
2.3. brctl – narzędzie do zarządzania mostkami
brctl jest narzędziem do zarządzania mostkami sieciowymi w systemie Linux. Dzięki niemu można tworzyć mostki oraz dodawać interfejsy sieciowe do mostka.
Tworzenie mostka za pomocą brctl
- Tworzenie mostka:
sudo brctl addbr br0 - Dodawanie interfejsów do mostka:
sudo brctl addif br0 eth0 - Ustawianie interfejsów w trybie UP:
sudo ip link set br0 up sudo ip link set eth0 up
3. Podsumowanie
Konfiguracja sieci wirtualnych w systemie Linux jest kluczowym elementem, jeśli chcemy w pełni wykorzystać możliwości wirtualizacji. Dzięki różnym typom sieci, takim jak mostkowana, NAT czy host-only, mamy pełną kontrolę nad tym, jak maszyny wirtualne będą komunikować się z hostem oraz z innymi urządzeniami w sieci. Narzędzia takie jak KVM, VirtualBox oraz ip, nmcli czy brctl pozwalają na elastyczne zarządzanie sieciami wirtualnymi.
Konfiguracja sieci wirtualnej zależy od specyficznych wymagań, takich jak dostęp do internetu, izolacja maszyn czy wydajność sieci. Odpowiednia konfiguracja zapewnia stabilność i wydajność całego środowiska wirtualnego, co jest kluczowe w codziennej pracy z maszynami wirtualnymi w systemie Linux.






