VirtualBox. Rodzaje sieci

Maszyny wirtualne możemy łączyć w sieć, tak aby widziały się między sobą, miały dostęp do internetu lub do maszyny gospodarza. Standardowo do każdej wirtualnej maszyny dostajemy do wykorzystania aż cztery karty sieciowe (interfejsy sieciowe) w trybie graficznym a w trybie linii poleceń nawet do ośmiu. Nawet jeśli w naszym komputerze fizycznie znajduję się tylko jedna karta to wirtualnych możemy mieć kilka i to nawet różnych producentów. Choć tak naprawdę w większości przypadków wystarcza jedna a wyjątkowych dwie aktywne sieciówki w maszynie wirtualnej. 

Każda karta może pracować w jednym z kilku trybów sieci do wyboru. Mamy różne wariacje, warto je poznać aby dobrać odpowiedni do naszych potrzeb.

Aby włączyć kartę sieciową maszyny wirtualnej przejdź do Ustawień danej maszyny maszyny, dalej sekcja Sieć i na zakładce karty zaznacz pole Włącz kartę sieciową. Wybór trybu pracy ustala się na rozwijanej liście Podłączona do:.

Na początku zakładamy, że maszyna gospodarza (komputer z Virtualboxem) ma zawsze dostęp do internetu. 

Kolejność przedstawionych sieci jest tak dobrana aby łatwiej było zrozumieć kolejne koncepcje sieci występujących w Virtualboksie.

Mostkowana karta sieciowa (bridged) – umożliwia wirtualnej maszynie korzystanie z interfejsu sieciowego gospodarza. Dzięki temu, możemy uzyskać bezpośredni dostęp do sieci w której jest komputer gospodarza. Co oznacza, że w tym przypadku mamy dostęp do internetu i sieci gospodarza, a adresy IP są pobierane z serwera DHCP sieci gospodarza.
Zalecam to ustawienie w sieci domowej, gdy odpalamy zwykle jedna maszynę na raz.
Pamiętaj, aby w ustawieniach wskazać właściwą fizyczną kartę – tę która ma dostęp do internetu.

Sieć wewnętrzna – dzięki temu ustawieniu tworzona jest całkowicie odizolowana sieć wewnętrzna, która sprawia że wirtualne maszyny widzą się nawzajem w danej sieci. Wewnętrznych sieci można budować wiele, tak by odseparować od siebie całe grupy maszyn. W tym przypadku standardowo maszyny nie mają dostępu do internetu ani gospodarza.

Karta sieci izolowanej (host-only) – to ustawienie rozwija ideę sieci wewnętrznej. W tym scenariuszu komputer gospodarza dostaje dodatkową wirtualną kartę sieciową, dzięki której może komunikować się z  wirtualnymi maszynami. Wirtualne karty sieciowe gospodarza i sieci izolowane tworzony poprzez menu Plik/Host network manager z głównego okna Virtualboxa. Dodatkowo  możemy włączyć tu  serwer DHCP. W tym przypadku również brak dostępu do internetu.

NAT – w tym ustawieniu dostajemy możliwość utworzenia sieci wewnętrznej. Dla każdej maszyny wirtualnej z tym ustawieniem tworzona jest całkiem oddzielna podsieć, tak więc nie mamy komunikacji pomiędzy maszynami wirtualnymi ale maszyna ma dostęp do internetu. Maszyna gospodarza i jego sieć nie jest dostępna ale jednak mamy tu opcje przekierowania portu w celu nawiązania komunikacji pomiędzy gospodarzem a gościem tylko na danym poracie. 
Adres IP jest uzyskiwany z serwera DHCP wbudowanego w program.
Ten tryb jest domyślnie ustawiany przy tworzeniu nowej maszyny wirtualnej.

Sieć NAT (NAT Network)  – w tym ustawieniu również możliwość uwierzenia sieci wewnętrznej, z tym że dla grup maszyn wirtualnych, plus kilka dodatkowych opcji – jak zmiana puli adresowej DHCP, włączenie IPv6 i przekierowania portów. Komunikacja między maszynami wirtualnymi jest możliwa o ile są w tej samej sieci. Tu także mamy dostęp do internetu. Ustawień “Sieci NAT” dokonujemy z poziomu menu głównego okna “Plik/Globalne ustawienia/Sieci 

Rodzajowy sterownik – to ustawienie używane jest do budowania sieci VDE czy tunelowania UDP. Przydatne w specyficznych sytuacjach, przy wykorzystaniu zewnętrznego  oprogramowania do wirtualizacji sieci. 

Cloud Network (experimental) – eksperymentalna wersja wykorzystania sieci w chmurze Oracle’a. Bliżej będzie można się temu przyjrzeć gdy funkonlanosc zostanie w pełni ukończona. 

Niepodłączona – interfejs sieciowy jest tworzony w maszynie wirtualnej, jednak nie jest nigdzie podłączony, nie jest tworzona żadna sieć. Można to porównać do sytuacji w której mamy kartę sieciowa ale nie podłączyliśmy do niej żadnego kabelka.  Przydaje się to na przykład w sytuacji, kiedy nie znamy jeszcze ustawień sieci lub chcemy chcemy przetestować sytuacje, gdy sieć zniknie lub pojawi się podczas pracy maszyny wirtualnej.

Co warte odnotowania,  każde z ustawień sieci ma jeszcze dodatkowe opcje ukryte w sekcji Zaawansowane, gdzie możemy edytować adres MAC. Tu też możemy ustawić tryb nasłuchiwania (promiscuous) – czy odbierać całych ruch przychodzący do karty sieciowej czy tylko skierowany pod nasz adres MAC. A także do wyboru mamy emulacje rożnych typów kart sieciowych:

  • AMD PCnet-PCI II (Am79C970A) – opcja zlecana dla wirtualizacji starszych systemów Windows (2000, 98, 95)
  • AMD PCnet-FAST III (Am79C973) – karta zadziała z większością obsługiwanych systemów gości
  • Intel PRO/1000 MT Desktop (82540EM) – ta opcja dobrze sprawdza się dla systemów Windows Vista i nowszych. Jest też obsługiwana przez wiele popularnych dystrybucji Linuksa
  • Intel PRO/1000 T Server (82543GC) – idealny wybór dla Windowsa XP (system posiada wbudowane sterowniki)
  • Intel PRO/1000 MT Server (82545EM) – ten wybór ułatwia import maszyn w formacie OVF z innych platform
  • Sieć parawirtualizowana (virtio-net) – to jest specjalistyczny tryb w którym nie jest wirtualizacja żadna karta. Zamiast tego otwarty jest specjalny interfejs dla systemu gościa gdzie możliwe jest użycie sterowników VirtIO.

Warto pamiętać, że wsparcie dla ramek jumbo jest ograniczone. Jeśli musisz ich użyć to ustaw tryb mostkowy i kartę Intel. W pozostałych przypadkach ramki jumbo będą odrzucane.

Jak widzisz konfiguracji sieci jest kilka do wyboru tak by pokryć bardziej i mniej popularne przypadki wykorzystania sieci jakie mogą się pojawić dla maszyn wirtualnych.

A jeśli chcesz mi pomóc w budowaniu tego cyklu – odpowiedz na jedno pytanie. Z góry dzięki 🙂