Wyszukiwanie w witrynie

Jak skonfigurować sieć między maszyną wirtualną gościa a hostem w Oracle VirtualBox


Po zainstalowaniu różnych systemów operacyjnych w Oracle VirtualBox możesz włączyć komunikację między hostem a maszynami wirtualnymi.

W tym artykule opiszemy najprostszą i bezpośrednią metodę konfiguracji sieci dla gościnnych maszyn wirtualnych i hosta w systemie Linux.

Na potrzeby tego samouczka:

  1. System operacyjny hosta – Linux Mint 18
  2. System operacyjny maszyny wirtualnej – CentOS 7 i Ubuntu 16.10

Wymagania

  1. Działająca aplikacja Oracle Virtualbox zainstalowana na komputerze hosta.
  2. Musisz mieć zainstalowany system operacyjny gościa, taki jak Ubuntu, Fedora, CentOS, Linux Mint lub dowolny inny wybrany w wirtualnym pudełku Oracle.
  3. Wyłączaj maszyny wirtualne podczas wykonywania konfiguracji aż do etapu, w którym wymagane jest ich włączenie.

Aby komputer gościnny i host mogły się komunikować, muszą znajdować się w tej samej sieci. Domyślnie do komputerów gościnnych można podłączyć maksymalnie cztery karty sieciowe.

Domyślna karta sieciowa (Adapter 1) jest zwykle używana do łączenia komputerów-gości z Internetem za pomocą NAT za pośrednictwem komputera-hosta.

Ważne: Zawsze ustawiaj pierwszy adapter na komunikację z hostem, a drugi na połączenie z Internetem.

Utwórz sieć dla gości i komputera hosta

W poniższym interfejsie menedżera Virtualbox zacznij od utworzenia sieci, w której będzie działał host i goście.

Przejdź do Plik –> Preferencje lub naciśnij Ctrl + G:

W poniższym interfejsie dostępne są dwie opcje; wybierz opcję Sieci tylko dla hostów, klikając ją. Następnie użyj znaku + po prawej stronie, aby dodać nową sieć typu host-only.

Poniżej znajduje się zrzut ekranu przedstawiający utworzenie nowej sieci tylko dla hostów o nazwie vboxnet0.

Jeśli chcesz, możesz go usunąć za pomocą przycisku - znajdującego się pośrodku, a aby wyświetlić szczegóły/ustawienia sieci, kliknij przycisk edytuj.

Możesz także zmienić wartości zgodnie ze swoimi preferencjami, takie jak adres sieciowy, maska sieci itp.

Uwaga: adres IPv4 w interfejsie poniżej to adres IP komputera hosta.

W następnym interfejsie możesz skonfigurować serwer DHCP, jeśli chcesz, aby komputery-gości używały dynamicznego adresu IP (upewnij się, że jest on włączony przed użyciem). Zalecam jednak używanie statycznego adresu IP dla maszyn wirtualnych.

Teraz kliknij OK we wszystkich interfejsach ustawień sieciowych poniżej, aby zapisać zmiany.

Skonfiguruj ustawienia sieciowe maszyny wirtualnej

Uwaga: możesz wykonać poniższe kroki dla każdej maszyny wirtualnej, którą chcesz dodać w sieci, aby komunikować się z maszyną hosta.

Wróć do interfejsu menedżera skrzynek wirtualnych, wybierz maszynę wirtualną gościa, taką jak serwer Ubuntu 16.10 lub CentOS 7 i kliknij menu Ustawienia.

Skonfiguruj adapter, aby połączyć maszynę wirtualną z hostem

Wybierz opcję Sieć z interfejsu powyżej. Następnie skonfiguruj pierwszą kartę sieciową (Adapter 1) z następującymi ustawieniami:

  1. Zaznacz opcję: „Włącz kartę sieciową”, aby ją włączyć.
  2. W polu Dołączony do: wybierz Adapter tylko dla hosta
  3. Następnie wybierz Nazwę sieci: vboxnet0

Jak na zrzucie ekranu poniżej i kliknij OK, aby zapisać ustawienia:

Skonfiguruj adapter, aby połączyć maszynę wirtualną z Internetem

Następnie dodaj drugą kartę sieciową (Adapter 2), aby połączyć maszynę wirtualną z Internetem za pośrednictwem hosta. Użyj poniższych ustawień:

  1. Zaznacz opcję: „Włącz kartę sieciową”, aby ją aktywować.
  2. W polu Dołączony do: wybierz opcję NAT

Skonfiguruj statyczny adres IP dla gościnnej maszyny wirtualnej

Na tym etapie włącz maszynę wirtualną gościa, zaloguj się i skonfiguruj statyczny adres IP. Uruchom poniższe polecenie, aby wyświetlić wszystkie interfejsy na komputerze gościa i przydzielone adresy IP:

ip add

Na powyższym zrzucie ekranu widać, że na maszynie wirtualnej są włączone trzy interfejsy:

  1. lo – interfejs pętli zwrotnej
  2. enp0s3 (Adapter 1) – do komunikacji tylko z hostem, korzystającej z protokołu DHCP ustawionego w jednym z poprzednich kroków i później skonfigurowanego ze statycznym adresem IP.
  3. enp0s8 (Adapter 2) – do połączenia z Internetem. Domyślnie będzie używać protokołu DHCP.
Na Debianie/Ubuntu/Linux Mint

Ważne: tutaj korzystałem z serwera Ubuntu 16.10: Adres IP: 192.168.56.5.

Otwórz plik /etc/network/interfaces, korzystając ze swojego ulubionego edytora z uprawnieniami superużytkownika:

sudo vi /etc/network/interfaces

Użyj następujących ustawień interfejsu enp0s3 (tutaj użyj preferowanych wartości):

auto  enp0s3
iface enp0s3 inet static
address  192.168.56.5
network  192.168.56.0
netmask  255.255.255.0
gateway  192.168.56.1
dns-nameservers  8.8.8.8  192.168.56.1

Zapisz plik i wyjdź.

Następnie uruchom ponownie usługi sieciowe w następujący sposób:

sudo systemctl restart networking

Alternatywnie uruchom ponownie system i dokładnie sprawdź, czy interfejs używa nowych adresów IP:

ip add
W RHEL/CentOS/Fedorze

Ważne: w tej sekcji użyłem CentOS 7: Adres IP: 192.168.56.10.

Rozpocznij od otwarcia pliku dla enp0s3 – interfejsu sieciowego tylko dla hosta; /etc/sysconfig/network-scripts/ifcfg-enp0s3 używając swojego ulubionego edytora z uprawnieniami superużytkownika:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Utwórz/zmodyfikuj następujące ustawienia (użyj tutaj preferowanych wartości):

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.56.10
NETWORK=192.168.56.0
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS=8.8.8.8 192.168.56.1
NM_CONTROLLED=no     #use this file not network manager to manage interface

Zapisz plik i wyjdź. Następnie zrestartuj usługę sieciową w następujący sposób (możesz również zrestartować):

sudo systemctl restart network.service 

Sprawdź, czy interfejs używa nowych adresów IP w następujący sposób:

ip add

Zarządzaj maszynami wirtualnymi z hosta za pomocą protokołu SSH

Na komputerze hosta użyj protokołu SSH do zarządzania maszynami wirtualnymi. W poniższym przykładzie uzyskuję dostęp do serwera CentOS 7 (192.168.56.10) przy użyciu protokołu SSH:

ssh [email 
who

Otóż to! W tym poście opisaliśmy prostą metodę konfiguracji sieci pomiędzy maszynami wirtualnymi gościa a hostem. Podziel się swoimi przemyśleniami na temat tego samouczka, korzystając z sekcji opinii poniżej.