Ustawienia sieciowe VirtualBox: kompletny przewodnik
W dzisiejszym świecie biznesu sieci komputerowe stanowią kluczowy element interaktywnych operacji komputerowych. Trudno sobie wyobrazić, jak wyglądałaby wymiana danych między komputerami bez sieci w świecie, w którym wszystko zmienia się w coraz szybszym tempie. Jedną z głównych idei stojących za wirtualizacją sprzętu jest możliwość wykorzystania maszyn wirtualnych w niemal wszystkich przypadkach użycia, w których można również używać komputerów fizycznych.
W związku z tym maszyny wirtualne muszą mieć możliwość łączenia się z sieciami fizycznymi i wirtualnymi za pomocą swoich wirtualnych kart sieciowych. Maszyny wirtualne działające na platformie VirtualBox mogą być podłączone do różnych sieci. VirtualBox oferuje wiele trybów sieciowych dla maszyn wirtualnych. Ten wpis na blogu omawia ustawienia sieciowe VirtualBox, aby pomóc Ci skonfigurować program w sposób najlepiej odpowiadający Twoim potrzebom.
Wirtualne karty sieciowe
Każda maszyna wirtualna VirtualBox może korzystać z maksymalnie ośmiu wirtualnych kart sieciowych, z których każda nazywana jest kontrolerem interfejsu sieciowego (NIC). W graficznym interfejsie użytkownika (GUI) programu VirtualBox można skonfigurować cztery wirtualne karty sieciowe. Wszystkie wirtualne karty sieciowe (maksymalnie 8) można skonfigurować za pomocą polecenia VBoxManage modifyvm . VBoxManage jest narzędziem do zarządzania z wiersza poleceń programu VirtualBox, które może służyć do konfiguracji wszystkich ustawień programu, w tym ustawień sieciowych. Dostęp do ustawień kart sieciowych w programie VirtualBox można uzyskać w oknie ustawień maszyny wirtualnej (wybierz swoją maszynę wirtualną, naciśnij klawisz Settings i przejdź do sekcji Network w oknie ustawień maszyny wirtualnej).

Powinieneś tam zobaczyć cztery zakładki kart. Jedna karta sieciowa jest domyślnie włączona po utworzeniu maszyny wirtualnej. Możesz zaznaczyć pole wyboru “Enable Network Adapter” , aby włączyć kartę, a odznaczyć je, aby ją wyłączyć (to pole wyboru określa, czy wirtualna karta sieciowa jest podłączona do maszyny wirtualnej, czy nie).
Kliknij Advanced , aby rozwinąć zaawansowane ustawienia karty sieciowej VirtualBox.
Rodzaje wirtualnych kart sieciowych w VirtualBox
Wirtualna karta sieciowa to urządzenie fizyczne emulowane przez oprogramowanie. Istnieje sześć typów kart wirtualnych, które mogą być wirtualizowane przez VirtualBox.
- AMD PCnet-PCI II (Am79C970A). Ta karta sieciowa jest oparta na układzie AMD i może być używana w wielu sytuacjach. Jeśli chodzi o systemy Windows jako systemy-goście, ta karta sieciowa może być używana w starszych wersjach Windows (takich jak Windows 2000), ponieważ nowsze wersje Windows, takie jak Windows 7, 8 i 10, nie zawierają wbudowanego sterownika dla tej karty. Pierwotnie urządzenie PCI
Am79C970Azawierało kontroler 10-Mbit z jednym układem scalonym oraz zintegrowany moduł DMA. Ta karta sieciowa obsługuje również technologię Magic Packet firmy AMD do zdalnego wybudzania. - AMD PCnet-FAST III (Am79C973). Ta wirtualna karta sieciowa jest obsługiwana przez prawie wszystkie systemy operacyjne-goście, które mogą działać na VirtualBox. GRUB (program rozruchowy) może używać tej karty do rozruchu sieciowego. Podobnie jak poprzednia karta sieciowa, ta również oparta jest na układzie AMD.
- Intel PRO/1000 MT Desktop (82540EM). Karta ta działa doskonale z systemem Windows Vista i nowszymi wersjami Windows. Większość dystrybucji Linuksa również obsługuje tę kartę.
- Intel PRO/1000 T Server (82543GC). System Windows XP rozpoznaje tę kartę sieciową bez konieczności instalowania dodatkowych sterowników.
- Intel PRO/1000 MT Server (82545EM). Ten model karty sieciowej jest przydatny do importowania szablonów OVF z innych platform i może ułatwić proces importowania.
- Parawirtualizowana karta sieciowa (virtio-net) stanowi szczególny przypadek. Zamiast wirtualizować sprzęt sieciowy obsługiwany przez większość systemów operacyjnych, system operacyjny gościa musi zapewnić specjalny interfejs programowy dla środowisk wirtualnych. Takie podejście pozwala uniknąć złożoności związanej z emulacją sprzętu sieciowego, a w rezultacie może poprawić wydajność sieci.
Sterowniki sieciowe virtIO zgodne ze standardami branżowymi są obsługiwane przez VirtualBox. Sterowniki sieciowe VirtIO są częścią projektu KVM i są oprogramowaniem typu open source. Sterowniki te są dostępne dla systemu Linux z jądrem 2.6.25 lub nowszym oraz dla systemu Windows, w tym starszych wersji, takich jak Windows 2000, XP i Vista. Ramy
Jumbo obsługują
. VirtualBox zapewnia ograniczone wsparcie dla ram jumbo (ramy Ethernet, które mogą przenosić pakiety o rozmiarze większym niż 1500 bajtów). Jeśli chcesz korzystać z jumbo ramek, wybierz wirtualną kartę sieciową Intel i skonfiguruj ją do pracy w trybie mostkowym. Wirtualne karty sieciowe oparte na AMD nie posiadają wsparcia dla jumbo ramek. Jeśli spróbujesz włączyć jumbo ramki dla wirtualnych kart sieciowych opartych na AMD, jumbo ramki będą po cichu odrzucane dla ruchu przychodzącego i wychodzącego. Jumbo ramki są domyślnie wyłączone.
Tryby sieciowe VirtualBox
VirtualBox oferuje długą listę trybów sieciowych, co jest jedną z najciekawszych funkcji ustawień sieciowych VirtualBox. Każda wirtualna karta sieciowa może być osobno skonfigurowana do pracy w innym trybie sieciowym. Na przykład, można ustawić tryb NAT dla karty 1 i tryb Host-only dla karty 2. Tryb sieciowy można wybrać w menu rozwijanym Attached to .

Przyjrzyjmy się szczegółowo każdemu trybowi sieciowemu VirtualBox.
Niepodłączony
W maszynie wirtualnej zainstalowana jest wirtualna karta sieciowa, ale brakuje połączenia sieciowego, podobnie jak w przypadku odłączenia kabla sieciowego Ethernet podczas korzystania z fizycznej karty sieciowej. Tryb ten może być przydatny do testowania. Na przykład można włączyć ten tryb sieciowy na krótki czas, aby zasymulować odłączenie kabla. Po wyłączeniu trybu Not Attached poprzez przełączenie na inny tryb sieciowy połączenie sieciowe staje się ponownie dostępne. Można również sprawdzić, czy klient DHCP prawidłowo uzyskuje adres IP, czy odpowiednia aplikacja może wznowić pobieranie po przerwie w połączeniu lub utracie pakietów itp.
Zamiast korzystać z trybu sieciowego Not Attached , można użyć dowolnego innego trybu sieciowego, nie zaznaczając pola wyboru Cable Connected . Pole wyboru można zaznaczyć lub odznaczyć, gdy maszyna wirtualna znajduje się w stanie uruchomienia (patrz zrzut ekranu powyżej). Nie zapomnij kliknąć OK , aby zastosować zmiany w konfiguracji sieci maszyny wirtualnej.
NAT
Ten tryb sieci jest domyślnie włączony dla wirtualnej karty sieciowej. System operacyjny gościa na maszynie wirtualnej może uzyskać dostęp do hostów w fizycznej sieci lokalnej (LAN) za pomocą wirtualnego urządzenia NAT (Network Address Translation). Sieci zewnętrzne, w tym Internet, są dostępne z poziomu systemu operacyjnego gościa. Komputer-gość nie jest dostępny z komputera-hosta ani z innych komputerów w sieci, gdy w sieci VirtualBox używany jest tryb NAT . Ten domyślny tryb sieciowy jest wystarczający dla użytkowników, którzy chcą używać maszyny wirtualnej na przykład tylko w celu uzyskania dostępu do Internetu.
Adres IP karty sieciowej maszyny wirtualnej jest uzyskiwany za pośrednictwem protokołu DHCP, a adresów IP sieci używanej w tym trybie nie można zmienić w interfejsie graficznym. VirtualBox posiada wbudowany serwer DHCP i silnik NAT. Wirtualne urządzenie NAT wykorzystuje fizyczną kartę sieciową hosta VirtualBox jako zewnętrzny interfejs sieciowy. Domyślny adres wirtualnego serwera DHCP używanego w trybie NAT to 10.0.2.2 (jest to również adres IP domyślnej bramy dla maszyny wirtualnej). Maska sieciowa to 255.255.255.0.
Jeśli skonfigurujesz karty sieciowe dwóch lub więcej maszyn wirtualnych do korzystania z trybu NAT , każda maszyna wirtualna otrzyma adres IP 10.0.2.15 w swojej własnej, izolowanej sieci za prywatnym wirtualnym urządzeniem NAT. Brama domyślna dla każdej maszyny wirtualnej to 10.0.2.2. W VirtualBox adresy IP nie ulegają zmianie, gdy używany jest tryb NAT , jak widać poniżej:

Aby włączyć trybNATdla maszyny wirtualnej za pomocą VBoxManage, należy wykonać następujące polecenie:
VBoxManage modifyvm VM_name --nic1 nat
Gdzie:
VM_nameto nazwa maszyny wirtualnej;nic1to numer wirtualnej karty sieciowej;natto nazwa trybu sieciowego VirtualBox, który należy ustawić.
Przekierowanie portów można skonfigurować bezpośrednio w oknie ustawień sieciowych maszyny wirtualnej VirtualBox, klikając przycisk Port forwarding (widoczny na powyższym zrzucie ekranu). Szczegółowe informacje na temat konfiguracji przekierowania portów w ustawieniach sieciowych programu VirtualBox znajdziesz poniżej, po sekcji Network Modes .
Sieć NAT
Tryb ten jest podobny do trybu NAT , którego używa się do konfiguracji routera. Jeśli zastosujesz tryb NAT Network dla wielu maszyn wirtualnych, będą one mogły komunikować się ze sobą za pośrednictwem sieci. Maszyny wirtualne mogą uzyskać dostęp do innych hostów w sieci fizycznej oraz do sieci zewnętrznych, w tym do Internetu. Żadna maszyna z sieci zewnętrznych, ani z sieci fizycznej, z którą połączony jest komputer hosta, nie może uzyskać dostępu do maszyn wirtualnych skonfigurowanych do korzystania z trybu NAT Network (podobnie jak w przypadku konfiguracji routera w celu uzyskania dostępu do Internetu z sieci domowej). Nie można uzyskać dostępu do maszyny-gościa z maszyny-hosta podczas korzystania z trybu NAT Network (chyba że skonfiguruje się przekierowanie portów w globalnych ustawieniach sieciowych VirtualBox). Wbudowany router NAT VirtualBox wykorzystuje fizyczny kontroler interfejsu sieciowego hosta VirtualBox jako zewnętrzny interfejs sieciowy (podobnie jak w przypadku trybu NAT ).

Adres sieciowy i nazwę można zmienić w globalnych preferencjach VirtualBox (File > Preferences). W lewym panelu okna Preferences wybierz Network , aby uzyskać dostęp do globalnych ustawień sieciowych VirtualBox, a następnie kliknij dwukrotnie istniejącą sieć NAT, aby przeprowadzić edycję ustawień (możesz również dodać nową sieć lub usunąć istniejącą, klikając ikony + lub x ).

W małym oknie pop-up, które się pojawi, można również włączyć/wyłączyć DHCP, IPv6 oraz skonfigurować przekierowanie portów.

Domyślny adres sieciNatNetworkto 10.0.2.0/24.
Domyślny adres IP bramy to 10.0.2. 1 (szablon x.x.x.1 służy do przypisania domyślnego adresu IP bramy). Na przykład, jeśli utworzysz nową sieć wirtualną dla trybu NAT Network w programie VirtualBox i ustawisz adres sieciowy 192.168.22.0/24, adres IP bramy w tej sieci będzie wynosił 192.168.22. 1 . Nie można zmienić adresu IP bramy sieciowej dla sieci używanej w trybie NAT Network ani zmienić zakresu adresów IP przydzielanych przez serwer DHCP. Podobnie, domyślny adres IP serwera DHCP to 10.0.2.3 (używany jest szablon x.x.x.3 ).
Konfiguracja IP maszyny wirtualnej z systemem Windows 7 działającej w programie VirtualBox z wirtualną kartą sieciową skonfigurowaną w trybie NAT Network jest pokazana na zrzucie ekranu. 
Jeśli nie chcesz edytować ustawień sieciowych VirtualBox w interfejsie graficznym, możesz dodać nową sieć NAT za pomocą VBoxManage, korzystając z polecenia:
VBoxManage natnetwork add --netname natnet1 --network "192.168.22.0/24" --enable
Gdzie:
natnet1to nazwa sieci NAT;192.168.22.0/24to adres tej sieci NAT.
Jeśli chcesz skonfigurować kartę sieciową maszyny wirtualnej w celu korzystania z trybuNAT Networkza pomocą VBoxManage, uruchom następujące polecenie:
VBoxManage modifyvm VM_name --nic1 natnetwork
Gdzie:
nic1to pierwsza wirtualna karta sieciowa (kontroler interfejsu sieciowego);natnetworkto nazwa trybu sieciowego VirtualBox.
Przed zastosowaniem tych ustawień może być konieczne wyłączenie maszyny wirtualnej.
Aby uniknąć powtarzania tego samego polecenia za pomocą VBoxManage podczas wybierania trybu sieciowego dla wirtualnej karty sieciowej maszyny wirtualnej w każdej sekcji artykułu, zapoznaj się z nazwami wszystkich możliwych trybów sieciowych VirtualBox:none, null, nat, natnetwork, bridged, intnet, hostonly, generic.
Port forwarding to kolejna opcja, do której można uzyskać dostęp i którą można skonfigurować z tego okna. Przekierowanie portów może służyć do konfiguracji dostępu z komputera hosta i innych hostów tej samej sieci fizycznej do usług działających w systemie operacyjnym gościa wewnątrz maszyny wirtualnej (szczegóły poniżej). Jak widać, lokalizacja ustawień przekierowania portów dla trybu NAT i trybu NAT Network różni się w interfejsie graficznym VirtualBox. Ustawienia przekierowania portów dla trybu NAT są dostępne w VM > Settings > Network , natomiast ustawienia przekierowania portów dla trybu NAT Network można skonfigurować w File > Preferences > Network. Wynika to z faktu, że reguły przekierowania portów dla trybu NAT są indywidualne dla każdej maszyny wirtualnej, podczas gdy reguły przekierowania portów dla trybu NAT Network są wspólne dla wielu maszyn wirtualnych, których karty sieciowe są podłączone do odpowiedniej sieci NAT. Szczegółowe informacje na temat konfiguracji przekierowania portów znajdują się poniżej w sekcji Port Forwarding .
Karta mostkowa
Tryb ten służy do podłączenia wirtualnej karty sieciowej maszyny wirtualnej do sieci fizycznej, do której podłączona jest fizyczna karta sieciowa komputera hosta VirtualBox. Wirtualna karta sieciowa maszyny wirtualnej wykorzystuje interfejs sieciowy hosta do połączenia sieciowego. Mówiąc prościej, pakiety sieciowe są wysyłane i odbierane bezpośrednio z/do wirtualnej karty sieciowej bez dodatkowego routingu. Specjalny sterownik filtru sieciowego jest używany przez VirtualBox w trybie sieciowym bridged w celu filtrowania danych z fizycznej karty sieciowej hosta. Ten tryb sieciowy może służyć do uruchamiania serwerów na maszynach wirtualnych, które muszą być w pełni dostępne z fizycznej sieci lokalnej. Korzystając z trybu sieciowego „ bridged ” w programie VirtualBox, można uzyskać dostęp do komputera-hosta, hostów w sieci fizycznej oraz sieci zewnętrznych, w tym do Internetu, z poziomu maszyny wirtualnej. Dostęp do maszyny wirtualnej jest możliwy zarówno z komputera-hosta, jak i z innych hostów (oraz maszyn wirtualnych) podłączonych do sieci fizycznej.
Jeśli na komputerze hosta znajduje się wiele fizycznych kart sieciowych, w ustawieniach sieciowych programu VirtualBox należy wybrać właściwą kartę. Na poniższym zrzucie ekranu widać dwie fizyczne karty sieciowe – kartę Ethernet i kartę Wi-Fi. Jeśli dla karty sieci bezprzewodowej używasz trybu mostkowego, nie możesz korzystać z funkcji niskopoziomowych tej karty Wi-Fi w systemie operacyjnym gościa. Na przykład nie możesz wybierać sieci Wi-Fi, z którymi chcesz się połączyć, włączać trybu monitorowania itp. Zamiast tego musisz połączyć się z siecią Wi-Fi na komputerze hosta. Jeśli musisz korzystać ze wszystkich funkcji karty Wi-Fi w systemie operacyjnym gościa maszyny wirtualnej, użyj karty Wi-Fi USB i funkcji USB Pass-through, zgodnie z wyjaśnieniem w poście na blogu dotyczącym Instalacja systemu Kali Linux w programie VirtualBox.

W programie VirtualBox adres IP wirtualnej karty sieciowej maszyny wirtualnej może należeć do tej samej sieci co adres IP fizycznej karty sieciowej komputera hosta, gdy używany jest tryb bridged . Jeśli w sieci fizycznej znajduje się serwer DHCP, wirtualna karta sieciowa maszyny wirtualnej uzyska adres IP automatycznie w trybie bridged (jeśli w ustawieniach interfejsu sieciowego w systemie operacyjnym gościa ustawiono automatyczne uzyskiwanie adresu IP). W związku z tym brama domyślna dla wirtualnej karty sieciowej działającej w trybie mostkowym jest taka sama jak dla komputera hosta. Przyjrzyjmy się prostemu przykładowi z adresami IP.
Adres sieci fizycznej: 10.10.10.0/24
Adres IP bramy domyślnej w sieci fizycznej: 10.10.10.1
Adres IP serwera DHCP w sieci fizycznej: 10.10.10.1
Konfiguracja IP komputera hosta: Adres IP – 10.10.10.72; maska sieciowa – 255.255.255.0; brama domyślna – 10.10.10.1.
Konfiguracja IP komputera gościa: Adres IP – 10.10.10.91; maska sieciowa – 255.255.255.0; brama domyślna – 10.10.10.1.

Czasami może się okazać, że w sieci fizycznej występuje wiele bram. Można wykorzystać maszynę hosta do łączenia się z niezbędnymi sieciami za pośrednictwem jednej bramy, a maszynę-gościa do łączenia się z innymi sieciami za pośrednictwem drugiej bramy. Można również edytować tabelę routingu na maszynie wirtualnej i dodać trasy wykorzystujące obie bramy do łączenia się z odpowiednimi sieciami. Jak widać, tryb sieci mostkowej stanowi potężną opcję w ustawieniach sieciowych programu VirtualBox, oferującą wiele przypadków użycia.
Promiscuous mode. Tryb ten pozwala karcie sieciowej na przepuszczanie całego otrzymanego ruchu, niezależnie od tego, do której karty jest on adresowany. W trybie normalnym karta sieciowa odbiera tylko ramki, które zawierają adres MAC tej konkretnej karty jako adres docelowy w nagłówku. Ramki adresowane do adresu MAC, który różni się od adresu MAC wybranej karty (gdy ruch nie jest rozgłaszany), są odrzucane w trybie normalnym. promiscuous mode umożliwia fizycznej karcie sieciowej posiadanie wielu adresów MAC, pozwalając, aby cały przychodzący ruch przechodził przez fizyczną kartę sieciową maszyny hosta i docierał do wirtualnej karty sieciowej maszyny wirtualnej, która ma swój własny adres MAC reprezentowany na karcie hosta, nawet jeśli ruch ten nie jest adresowany do wirtualnej karty sieciowej tej konkretnej maszyny wirtualnej.
Większość bezprzewodowych kart sieciowych nie obsługuje trybu promiscuous. Mostkowanie do kart Wi-Fi odbywa się w następujący sposób – VirtualBox zastępuje odpowiednie adresy MAC w nagłówkach ramek Ethernet, które muszą zostać dostarczone do wirtualnej karty sieciowej maszyny wirtualnej (dla tego ruchu musi być użyty adres MAC karty Wi-Fi hosta). Tryb promiscuous jest przydatny do testowania sieci i audytów bezpieczeństwa. Tryb promiscuous można włączyć w ustawieniach sieciowych VirtualBox i przeprowadzić monitorowanie ruchu sieciowego za pomocą sniffera.
Istnieją trzy opcje korzystania z promiscuous mode.
Deny. Każdy ruch, który nie jest przeznaczony dla wirtualnej karty sieciowej maszyny wirtualnej, jest ukryty przed maszyną wirtualną. Ta opcja jest ustawiona domyślnie.Allow VMs. Cały ruch jest ukryty przed kartą sieciową maszyny wirtualnej z wyjątkiem ruchu przesyłanego do i z innych maszyn wirtualnych.Allow All. W tym trybie nie ma żadnych ograniczeń. Karta sieciowa maszyny wirtualnej widzi cały ruch przychodzący i wychodzący.
Tryb Promiscuous może być używany nie tylko dla trybu sieciowego Bridged , ale także dla trybów NAT Network, Internal Network i Host-Only Adapter.
Sieć wewnętrzna
Maszyny wirtualne, których karty sieciowe są skonfigurowane do pracy w trybie VirtualBox Internal Network , są podłączone do izolowanej sieci wirtualnej. Maszyny wirtualne podłączone do tej sieci mogą komunikować się między sobą, ale nie mogą łączyć się z komputerem-hostem VirtualBox ani z żadnymi innymi hostami w sieci fizycznej lub sieciach zewnętrznych. Dostęp do maszyn wirtualnych podłączonych do sieci wewnętrznej nie jest możliwy z komputera-hosta ani z żadnych innych urządzeń. VirtualBox internal network może służyć do modelowania rzeczywistych sieci.
Na przykład można utworzyć trzy maszyny wirtualne, z których każda posiada wirtualną kartę sieciową (Adapter 1) podłączoną do sieci wewnętrznej. Adresy IP tych kart sieciowych są definiowane na podstawie podsieci używanej dla sieci wewnętrznej VirtualBox (podsieć należy zdefiniować ręcznie). Jedna z tych maszyn wirtualnych (VM1) posiada również drugą wirtualną kartę sieciową, skonfigurowaną do pracy w trybie NAT . VM1 jest skonfigurowany jako router (jednym z najlepszych rozwiązań do stworzenia routera jest zainstalowanie systemu Linux i skonfigurowanie IPTABLES, ale na początek można skorzystać z prostszych rozwiązań routingu w przypadku testowania sieci VirtualBox).
VM2 i VM3 , których karty sieciowe są podłączone wyłącznie do sieci wewnętrznej VirtualBox, mogą mieć dostęp do sieci zewnętrznych, jeśli adres IP wewnętrznej karty sieciowej VM1 zostanie ustawiony jako brama w ustawieniach sieciowych VM2 i VM3 .
Konfiguracja sieci użyta w tym przykładzie:
VM1. Adres IP – 192.168.23.1 (trybinternal network ); 10.0.2.15 (trybNAT ), brama 10.0.2.2 (adres IP wbudowanego urządzenia NAT VirtualBox).
VM2. Adres IP – 192.168.23.2 (sieć wewnętrzna), brama – 192.168.23.1
VM3 . Adres IP – 192.168.23.3 (sieć wewnętrzna), brama – 192.168.23.1
Podsieć sieci wewnętrznej VirtualBox: 192.168.23.0/24
Aby uzyskać więcej informacji, zapoznaj się z poniższym schematem.

Uwaga : Można również przeprowadzić wdrażanie takiej infrastruktury wirtualnej do testowania reguł zapory sieciowej w IPTABLES przed wdrożeniem ich w rzeczywistej infrastrukturze sieciowej, ale zaleca się użycie trybu bridged zamiast trybu NAT dla drugiej karty sieciowej VM1 podczas łączenia się z sieciami zewnętrznymi.
Karta sieciowa tylko dla hosta
Ten tryb sieciowy służy do komunikacji między hostem a gośćmi. Maszyna wirtualna może komunikować się z innymi maszynami wirtualnymi podłączonymi do sieci host-only oraz z komputerem hosta. Komputer hosta VirtualBox ma dostęp do wszystkich maszyn wirtualnych podłączonych do sieci host-only .

Wirtualna karta sieciowa VirtualBox Host-Only jest tworzona w systemie operacyjnym hosta w celu wykorzystania w sieci host-only . Ustawienia tej sieci VirtualBox można edytować, przechodząc do File > Host Network Manager.

W naszym przypadku domyślny adres sieciowy sieci host-only to 192.168.56.0/24, a adres IP wirtualnej karty sieciowej na komputerze hosta to 192.168.56.1. Adresy IP można edytować ręcznie w zakładce Adapter . Serwer DHCP można włączyć lub wyłączyć, zaznaczając odpowiednie pole wyboru. W zakładce DHCP Server można ustawić adres IP serwera DHCP, maskę sieci oraz zakres adresów IP, które mają być przydzielane klientom DHCP.

Wirtualne karty sieciowe maszyn wirtualnych nie mają bramy w swojej konfiguracji IP, ponieważ tryb Host-Only nie pozwala na połączenie z żadnymi urządzeniami poza siecią host-only . Możliwe jest również utworzenie więcej niż jednej wirtualnej karty sieciowej VirtualBox host-only w celu korzystania z różnych sieci host-only — wystarczy nacisnąć przycisk Create . Jeśli sieć tylko dla hosta nie jest już potrzebna, wystarczy wybrać kartę i kliknąć Remove.
Sterownik ogólny
Ten tryb sieciowy pozwala na współdzielenie ogólnego interfejsu sieciowego. Użytkownik może wybrać odpowiedni sterownik, który jest dystrybuowany w pakiecie rozszerzeń lub dołączony do programu VirtualBox.
Dostępne są dwa podtryby dla VirtualBox Generic Driver tryb – UDP Tunnel oraz VDE (Virtual Distributed Ethernet) Networking.
UDP Tunnel. Maszyny wirtualne działające na różnych hostach mogą komunikować się w sposób przejrzysty, korzystając z istniejącej infrastruktury sieciowej.
VDE Networking. Maszyny wirtualne mogą łączyć się z wirtualnym przełącznikiem rozproszonym na hostach z systemem Linux lub FreeBSD. Aby korzystać z sieci VDE, należy skompilować VirtualBox ze źródeł, ponieważ standardowe pakiety VirtualBox nie zawierają tej funkcji.
Porównanie trybów sieciowych VirtualBox
Dla większej wygody podsumujmy wszystkie informacje dotyczące trybów sieciowych obsługiwanych przez VirtualBox w tej tabeli:

Przekierowanie portów
Przekierowanie portów to proces przechwytywania ruchu adresowanego do odpowiedniego adresu IP i portu oraz przekierowywania tego ruchu na inny adres IP i/lub port. Do konfiguracji przekierowania portów można używać specjalnych aplikacji na komputerach i innych urządzeniach typu router. Jednym z najpopularniejszych przypadków użycia przekierowania portów jest udostępnianie z sieci zewnętrznych określonych usług sieciowych, które są ukryte za NAT. Po skonfigurowaniu reguł przekierowania portów klienci mogą uzyskać dostęp do odpowiednich usług z zewnątrz, łącząc się z zewnętrznym adresem IP routera (hosta) i określonym portem.
Pakiety są najpierw przechwytywane przez aplikację na routerze, a następnie aplikacja odczytuje adres IP docelowy i numer portu z odpowiednich nagłówków (nagłówki pakietów IP, nagłówki segmentów TCP lub UDP). Jeśli kombinacja docelowego adresu IP i/lub numeru portu w nagłówkach pasuje do warunku ustawionego w regule przekierowania portów, aplikacja routingu przepisuje informacje nagłówka (adres IP i/lub numer portu) i wysyła pakiet/segment do innego interfejsu sieciowego zgodnie z regułą przekierowania portów.
Domyślnie połączenie z maszynami wirtualnymi VirtualBox, których karty sieciowe są ustawione na działanie w trybie NAT lub NAT Network , jest niemożliwe z hosta VirtualBox i innych hostów w sieci LAN, ale VirtualBox udostępnia wbudowaną funkcję przekierowania portów, aby umożliwić taki dostęp.
Przykład 1 – Dostęp SSH
Rozważmy teraz konfigurację przekierowania portów w celu połączenia się z maszynami wirtualnymi VirtualBox na przykładzie połączenia z serwerem SSH działającym na maszynie wirtualnej z systemem Ubuntu Linux, która jest podłączona do sieci w trybie NAT . Informacje na temat instalacji systemu Ubuntu w VirtualBox można znaleźć na stronieten wpis na blogu.
Dane wejściowe:
Adres IP hosta: 10.10.10.72 (fizyczna karta sieciowa).
Adres IP maszyny wirtualnej Ubuntu: 10.0.2.15 (trybNAT )
Nazwa użytkownika: user1
1. Zainstaluj serwer SSH na maszynie wirtualnej Ubuntu.
apt-get install openssh-server
2. Edytuj plik konfiguracyjny serwera SSH.
vim /etc/ssh/sshd_config
3. Usuń komentarz z linii umożliwiającej uwierzytelnianie za pomocą haseł.
PasswordAuthentication yes
4. Uruchom ponownie demona (usługę) SSH.
/etc/init.d/ssh restart
5. Sprawdź, czy serwer SSH działa, i spróbuj połączyć się z nim z lokalnego hosta (maszyny wirtualnej z systemem Ubuntu).
ssh user1@127.0.0.1
6. Jeśli wszystko jest w porządku, możesz rozpocząć konfigurację przekierowania portów w programie VirtualBox.
Jak zapewne pamiętasz, należy otworzyć stronęVM settingsi wybrać sekcjęNetwork. Wybierz swoją wirtualną kartę sieciową, która jest skonfigurowana do pracy w trybieNAT, rozwińAdvanced settings i naciśnij przyciskPort Forwarding. Kliknij ikonę+, aby dodać nową regułę przekierowania portów w ustawieniach sieciowych VirtualBox maszyny wirtualnej.

Serwer SSH domyślnie nasłuchuje na 22. porcie TCP. Stwórzmy regułę, która pozwoli przekierowywać wszystkie połączenia z komputera hosta VirtualBox na porcie 8022 do maszyny wirtualnej Ubuntu na porcie 22, na którym nasłuchuje serwer SSH. Najpierw należy utworzyć regułę zezwalającą na połączenia wyłącznie z komputera hosta VirtualBox.
| Nazwa | Protokół | Adres IP hosta | Port hosta | Adres IP gościa | Port gościa |
| Ubuntu-SSH | TCP | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
Widok okna reguł przekierowania portów w interfejsie graficznym VirtualBox przedstawiono na poniższym zrzucie ekranu.

Otwórz klienta SSH (na przykład PuTTY jeśli korzystasz z systemu Windows) na hoście VirtualBox i połącz się z adresem 127.0.0.1 na porcie 8022.
Inne hosty w sieci fizycznej będą mogły uzyskać dostęp do maszyny wirtualnej Ubuntu przez SSH, łącząc się z maszyną hosta VirtualBox na porcie 8022, jeśli utworzysz podobną regułę przekierowania portów, w której zamiast adresu IP localhost (127.0.0.1) zostanie zdefiniowany rzeczywisty adres IP fizycznej karty sieciowej hosta VirtualBox. W tym przykładzie adres IP fizycznej karty sieciowej na hoście VirtualBox to 10.10.10.72.
| Nazwa | Protokół | IP hosta | Port hosta | IP gościa | Port gościa |
| Ubuntu-SSH | TCP | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
Otwórz klienta SSH na hoście VirtualBox lub na innym hoście podłączonym do sieci LAN i połącz się z adresem IP hosta VirtualBox na porcie 8022.
Przykład 2 – Dostęp HTTP
Jeśli chcesz wdrożyć serwer WWW na swojej maszynie wirtualnej i zapewnić dostęp do swoich stron internetowych z zewnątrz, możesz dodać kolejną regułę przekierowania portów. Zastanówmy się, jak skonfigurować tę regułę przekierowania portów, aby uzyskać dostęp do strony internetowej wdrożonej na maszynie wirtualnej z systemem Ubuntu z komputera hosta VirtualBox oraz innych komputerów podłączonych do fizycznej sieci lokalnej (LAN). W tym przykładzie jako serwer WWW używany jest Apache.
Najpierw zainstaluj Apache na maszynie wirtualnej z systemem Ubuntu działającej w VirtualBox.
apt-get install apache2
Zapora sieciowa ufw jest domyślnie wyłączona w systemie Ubuntu. Jeśli na Twojej maszynie wirtualnej z systemem Ubuntu zapora jest włączona, upewnij się, że dostęp do portu TCP 80 jest dozwolony.
Po zainstalowaniu Apache otwórz przeglądarkę internetową na maszynie wirtualnej z systemem Ubuntu i przejdź do domyślnej strony Apache, wpisując http://127.0.0.1 w pasku adresu. Jeśli wszystko przebiegło pomyślnie, w przeglądarce internetowej pojawi się adres Apache2 Ubuntu default page .
Oznacza to, że możesz teraz skonfigurować regułę przekierowania portów w ustawieniach sieciowych programu VirtualBox, aby uzyskać dostęp do swojej strony internetowej hostowanej na maszynie wirtualnej z systemem Ubuntu. Otwórz okno ustawień Port Forwarding , przechodząc do VM settings > Network > [select your adapter] > Port Forwarding (podobnie jak wyjaśniono powyżej). Możesz dodać nową regułę, wykonując następujące czynności:
| Nazwa | Protokół | Adres IP hosta | Port hosta | Adres IP gościa | Port gościa |
| Ubuntu-HTTP80 | TCP | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
Otwórz przeglądarkę internetową na komputerze hosta lub na dowolnym innym komputerze podłączonym do sieci fizycznej i wprowadź adres IP komputera hosta VirtualBox oraz port zdefiniowany w utworzonej powyżej regule przekierowania portów:
http://10.10.10.72:8080
W obecnym przykładzie 10.10.10.72 to adres IP komputera hosta VirtualBox, a 8080 to port TCP nasłuchujący na komputerze hosta VirtualBox. Pomyślny wynik konfiguracji przekierowania portów pokazano na poniższym zrzucie ekranu.

Można również utworzyć podobne reguły dostępu do maszyny wirtualnej za pośrednictwem protokołów RDP, FTP i innych.
Konfiguracja przekierowania portów dla maszyn wirtualnych, których wirtualne karty sieciowe działają w trybie NAT Network , przebiega podobnie (patrz sekcja powyżej, w której wyjaśniono tryb NAT Network , aby zlokalizować ustawienia przekierowania portów dla trybu NAT Network ).
Wnioski
VirtualBox to potężne rozwiązanie do wirtualizacji, które jest elastyczne i zapewnia szeroki zakres ustawień sieciowych. Każda maszyna wirtualna może korzystać z maksymalnie ośmiu wirtualnych kart sieciowych, a każda z nich może być emulowana jako odpowiedni model rzeczywistych kontrolerów sieciowych (NIC) firm Intel i AMD. Ustawienia kart sieciowych w VirtualBox pozwalają na zmianę adresu MAC każdej wirtualnej karty sieciowej, podłączenie lub odłączenie wirtualnego kabla sieciowego oraz wybór trybu sieciowego. Ustawienie trybu sieciowego dla wirtualnej karty sieciowej jest jedną z najciekawszych i najważniejszych części konfiguracji sieciowej w VirtualBox. Istnieje sześć trybów sieciowych, z których każdy może być wykorzystywany w różnych przypadkach użycia. Przekierowanie portów można skonfigurować w celu uzyskania dostępu zewnętrznego do maszyn wirtualnych, których karty sieciowe działają w trybach NAT lub NAT Network.