Konfiguracja sieci w VM

Wprowadzenie do Wirtualizacji
  • Definicja: Proces tworzenia logicznej wersji zasobu na bazie zasobów fizycznych, zapewniający warstwę abstrakcji między sprzętem a oprogramowaniem.

  • Zalety: Izolacja procesów, optymalizacja wykorzystania sprzętu, elastyczność w testowaniu oprogramowania.

Wsparcie Sprzętowe (Intel i AMD)

Producenci procesorów wprowadzili dedykowane rozszerzenia, aby umożliwić wydajną pełną wirtualizację bez konieczności kosztownej emulacji programowej:

  1. Intel VT-x (Virtualization Technology)

    • Wprowadza dwa tryby pracy procesora: VMX Root Operation (zarezerwowany dla hipernadzorcy) oraz VMX Non-Root Operation (dla systemów gości).

    • EPT (Extended Page Tables): Technologia redukująca narzut wirtualizacji pamięci RAM poprzez sprzętowe wsparcie mapowania adresów gościa na adresy fizyczne hosta.

    • Intel VT-d: Wsparcie dla wirtualizacji urządzeń wejścia/wyjścia (I/OI/O), co pozwala na bezpośrednie przypisanie urządzenia PCIe (np. karty graficznej) do konkretnej maszyny wirtualnej.

  2. AMD-V (AMD Virtualization)

    • Wykorzystuje instrukcję VMRUN do uruchamiania maszyn wirtualnych.

    • RVI (Rapid Virtualization Indexing) / NPT (Nested Page Tables): Odpowiednik technologii EPT u Intela, znacząco przyspieszający operacje na pamięci wirtualnej.

    • IOMMU: Rozwiązanie analogiczne do VT-d, izolujące dostęp urządzeń do pamięci RAM maszyn wirtualnych.

Typy Hipernadzorców
  • Typ 1 (Bare Metal): Instalowany bezpośrednio na sprzęcie. Ma najniższy narzut. Przykłady: Xen, VMware ESXi, KVM (zintegrowany z jądrem Linux).

  • Typ 2 (Hosted): Działa jako aplikacja na systemie sterującym (OS hosta). Przykłady: VirtualBox, VMware Workstation.

Szczegółowe Tryby Kart Sieciowych (VM Networking)
  1. NAT (Network Address Translation)

    • Zasada: Maszyna wirtualna otrzymuje adres IP z prywatnej puli hipernadzorcy (np. 10.0.2.x10.0.2.x).

    • Komunikacja: VM może inicjować połączenia z Internetem, ale nie jest widoczna z zewnątrz. Aby udostępnić usługę, należy skonfigurować Port Forwarding.

  2. Bridged (Mostkowany)

    • Zasada: Karta wirtualna jest logicznie podpięta do tej samej sieci fizycznej co karta hosta.

    • Komunikacja: VM pobiera adres IP z routera w sieci LAN. Jest traktowana jako równorzędne urządzenie w sieci.

    • Wada: Wymaga trybu promiscuous mode na karcie sieciowej, co nie zawsze jest wspierane przez sterowniki (szczególnie w sieciach WiFi).

  3. Host-Only

    • Zasada: Tworzony jest wirtualny switch widoczny tylko dla hosta i jego maszyn.

    • Komunikacja: Brak dostępu do Internetu. Idealne do tworzenia bezpiecznych laboratoriów.

  4. Internal Network

    • Zasada: Maszyny wirtualne są połączone wyłącznie ze sobą. Nawet host nie ma dostępu do tej sieci.

Zaawansowane Interfejsy: MacVlan i MacVTap
  1. MacVlan: Pozwala na przypisanie wielu adresów MAC do jednej fizycznej karty sieciowej. Tryby pracy:

    • Private: Maszyny na tym samym interfejsie nie mogą się komunikować (wymagany zewnętrzny router).

    • VEPA (Virtual Ethernet Port Aggregator): Wymusza, aby ruch między maszynami wychodził do zewnętrznego switcha i wracał (tzw. hairpin mode).

    • Bridge: Maszyny wirtualne komunikują się ze sobą bezpośrednio wewnątrz hosta bez angażowania zewnętrznych urządzeń.

    • Passthru: Tryb wyłączności interfejsu dla jednej instancji.

  2. MacVTap: Łączy cechy macvlan i sterownika tap. Tworzy plik urządzenia w /dev/tapX, do którego hipernadzorca (np. QEMU/KVM) może bezpośrednio pisać i z niego czytać, co eliminuje konieczność używania standardowego mostka linuksowego (Linux Bridge) i znacząco zwiększa przepustowość.