Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
Forum
Shop
FAQ
Know How
Testberichte
Hardware-DB
Events
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Partner
Unser Partner für
SSL Zertifikate
ist Checkdomain GmbH.
Tutorials

Virtual Networking mit VirtualBox

Sun VirtualBox ist eine Anwendung für die Virtualisierung von Rechnersystemen. Als Host-System werden Windows, Linux, OpenSolaris und Apple Mac OS X unterstützt. In der virtuellen Maschine können u.a. Linux (debian, Ubuntu) , Windows, OS/2, BSD oder DOS als Gast laufen. Die Gastsysteme lassen sich untereinander und mit dem Host vernetzen. Auch der Betrieb von virtuellen Servern ist mit VirtualBox möglich. Dieser Artikel beschreibt die Möglichkeiten der virtuellen Vernetzung mit Sun VirtualBox.

Diese Version des Tutorials basiert auf VirtualBox 3.1.6. Für Anwender älterer Versionen gibt es auch eine Anleitung für die Netzwerkeinrichtung in VirtualBox 2.0 und VirtualBox 2.1.2.

Konfiguration für Ungeduldige

Für 90% aller Fälle passt die Einstellung auf NAT und der Adaptertyp Intel PRO/1000 MT Desktop. Zum Surfen im Internet und für Office-Anwendungen ist diese Einstellung optimal.

VirtualBox mit NAT und Intel
Standardkonfiguration Netzwerk in VirtualBox

Grundlagen der Vernetzung virtueller Maschinen

Mit VirtualBox lassen sich jedem Gast bis zu vier Netzwerkkarten zuweisen. Die emulierten Karten melden sich wahlweise als:

  • PCnet-PCI II Am79C970A
  • PCnet-FAST III Am79C973
  • Intel PRO/1000 MT Desktop 8254 OEM
  • Intel PRO/1000 T Server 82543GC
  • Intel PRO/1000 MT Server 8254
  • Paravirtualisiertes Netzwerk (virtio-net)

Diese Karten werden von vielen Linux- und Windows-Versionen erkannt. Unter Vista muss der AMD-Treiber manuell installiert werden. Microsoft Windows 7 erkennt die Intel-Karten problemlos. Jumbo Frames unterstützt VirtualBox nur mit den Intel-Karten und im Bridged Mode.

Der virtio-Treiber ist eine spezielle Schnittstelle für die Netzwerkkommunikation bei virtualisierten Maschinen. Im Gastsystem muss ein NetKVM-Treiber für die virtio-Netzwerkkarte installiert werden. Entsprechende Treiber für Linux, Windows XP, Vista und Windows 7 finden Sie auf der Homepage des KVM Projektes unter Download.

Netzwerkeinstellungen
Auswahl der Netzwerkkarte für das Gastsystem

Jede der vier Netzwerkkarten kann innerhalb von VirtualBox separat konfiguriert werden. Dabei wird zwischen fünf Betriebsarten unterschieden:

  • Nicht angeschlossen
  • NAT
  • Netzwerkbrücke
  • Internes Netzwerk
  • Host-only Adapter

In den erweiterten Einstellungen kann die MAC-Adresse der virtuellen Netzwerkkarte geändert werden. Aktuell vergibt VirtualBox MAC-Adressen mit der Herstellerkennung (OUI) 080027. Diese OUI gehört laut IEEE allerdings der Firma Cadmus Computer Systems.

Betriebsart "Nicht angeschlossen" (Not attached)

In dieser Konfiguration sieht der Gast eine Netzwerkkarte ohne angeschlossenes Kabel.

Kabel nicht angeschlossen
In dieser Einstellung sieht der Gast eine Netzwerkkarte ohne Link

Das virtuelle Kabel kann auch im laufenden Gast über das Menü Geräte/Netzwerk-Adapter gezogen und gesteckt werden. Damit lässt sich beispielsweise die Vergabe einer IP-Adresse über DHCP neu starten.

Betriebsart Network Address Translation (NAT)

VirtualBox stellt den Gastsystemen einen NAT-Router inklusive DHCP-Server zur Verfügung. Die Verbindung ins restliche Netzwerk wird über den IP-Stack des Hostsystems hergestellt. Als Absender wird die IP-Adresse des Hosts verwendet.

VirtualBox mit NAT
Client in der Betriebsart NAT

Die erste Netzwerkkarte eines Gastes liegt im IP-Netz 10.0.2.0, die zweite in 10.0.3.0 und so weiter. Diese internen IP-Netze können bei Bedarf auch angepasst werden:

VBoxManage modifyvm "My VM" --natnet1 "192.168/16"

Bedingt durch den NAT-Router ist per Default kein Verbindungsaufbau vom Host oder aus dem LAN zu einem Gast möglich. Serverdienste auf dem Gast sind daher nicht erreichbar. Dazu können aber Portweiterleitungen (port forwarding) eingerichtet werden. Um eine Weiterleitung des TCP-Ports 8022 auf den Port 22 des Gastes "debian 1" einzurichten, sind die folgenden Kommandos notwendig:

VBoxManage setextradata "debian 1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "debian 1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "debian 1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 8022

VirtualBox leitet nun alle Anfragen die den Host auf Port 8022 erreichen an den Gast (Port 22) weiter. Damit kann ein SSH-Server auf dem Gast angesprochen werden.

VirtualBox unterstützt das Booten via PXE. Dazu stellt VirtualBox einen internen TFTP-Server auf der IP-Adresse 10.0.2.3 bereit. Der Boot File Name lautet vmname.pxe. Auch diese Einstellungen lassen sich anpassen:

VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/NextServer" 10.0.2.2
VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BootFile" 
    /srv/tftp/boot/MyPXEBoot.pxe

Der NAT-Router von VirtualBox transportiert seit Version 2.1 ICMP-Echos. Ein Ping sollte also funktionieren. Probleme hat der NAT-Router mit den Protokollen GRE und PPTP. Einige VPN-Clients funktionieren daher nicht aus einem Gast mit NAT-Networking.

Betriebsart Netzwerkbrücke (Bridged networking)

In der Betriebsart Netzwerkbrücke werden Host und Gast quasi durch einen Switch verbunden. Für andere Geräte im LAN ist der Gast als eigenständiges System sichtbar. Der Gast kann eine IP-Adresse von einem DHCP-Server im LAN beziehen. Serverdienste auf dem Gast sind vom Host und aus dem Netzwerk nutzbar.

Bridging mit WLAN-Karte
Netzwerkbrücke mit einer Intel-Wireless-Karte

In den Einstellungen muss im Feld "Name" eine Netzwerkkarte für das Bridging ausgewählt werden. Bei Hostsytemen mit wechselnden Netzwerkverbindungen (Notebook mit WLAN und LAN) muss diese Einstellung jeweils angepasst werden.

Die Netzwerkbrücke eignet sich für den Betrieb virtualisierter Server.

Betriebsart Internes Netzwerk (Internal networking)

Über ein internes Netzwerk können Gastsysteme untereinander kommunizieren. Die internen Netze werden über ihren Namen (intnet) identifiziert. Den Namen können Sie in den Netzwerkeinstellungen einer virtuellen Maschine vergeben bzw. auswählen.

Internes Netzwerk
Internes Netzwerk intnet

Jedes dieser internen Netze kann man sich als autarken Switch vorstellen. VirtualBox stellt in diesen Netzen keine Dienste wie DHCP, DNS oder Routing zur Verfügung.

Internes Netzwerk
Internes Netzwerk intnet mit drei Gastsystemen

Um in einem internen Netz via IP kommunizieren zu können müssen die Gäste feste IP-Adressen nutzen (aus dem selben IP-Netzwerk) oder ein Gast muss einen DHCP-Server auf dem internen Netz betreiben. Der interne DHCP-Server kann ebenfalls für interne Netzwerke aktiviert werden. Um mit dem Hostsystem oder einem externen Netz Daten austauschen zu können, muss ein Gast einen Router oder eine Bridge zwischen dem internen Netz und einem weiterem Netz betreiben. Dazu kann man zum Beispiel Software-Router wie m0n0wall, pfSense oder IPCop verwenden.

Betriebsart Host-only Adapter (Host-only networking)

In dieser Betriebsart erfolgt die Kommunikation über einen speziellen VirtualBox Host-only Ethernet Adapter". Dieser Adapter mit der IP-Adresse 192.168.56.1 verbindet den Host und den Gast transparent. Es ist nur eine Kommunikation zwischen Host und Gast möglich. Der Gast hat keinen Zugriff auf das restliche Netzwerk. Mit Host-only könnte ein Webmaster beispielsweise ein Gastsystem mit einen lokalen Apache für Test betreiben.

VirtualBox stellt einen DHCP-Server für den Gast zur Verfügung. Der virtuelle Adapter und der DHCP-Server können über Datei / Globale Einstellungen / Netzwerk konfiguriert werden.

Zugriff mit Remote Desktop

VirtualBox beinhaltet einen eigenen Server für das VirtualBox Remote Desktop Protocol (VRDP). VRDP ist kompatibel mit dem von Windows bekannten RDP. In den Eigenschaften einer VM kann unter Anzeige / Fernsteuerung der VRDP-Zugriff auf ein Gastsystem aktiviert werden. Per Default läuft das Protokoll auf Port 3389.

Fernsteuerung
Fernsteuerung via VRDP aktivieren

Sollen mehrere Gastsysteme per VRDP gesteuert werden, benötigt jeder Gast eine eigene Portnummer. Der Zugriff erfolgt über die IP-Adresse des Hostsystems. Für den Zugriff von Windows-Systemen kann der Microsoft RDP-Client mstsc.exe genutzt werden. Unter Linux gibt es für diesen Zweck rdesktop.

Trace der Netzwerkdaten erstellen

Für die Fehlersuche ist es oft hilfreich, einen Trace der Netzwerkkommunikation zu erzeugen. Dazu kann der Datenverkehr auf dem Host oder im Client mit einem Analyzer wie Wireshark aufgezeichnet werden. Aber auch VirtualBox kann den Datenverkehr einer VM mitschneiden und in ein pcap-File speichern. Der Syntax sieht wie folgt aus:

# VBoxManage modifyvm [meine-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] trace.pcap
# VirtualBox -startvm [meine-vm]

Um den Traffic des ersten Netzwerkadapters der VM "Windows 7" mitzuschneiden benötigen Sie folgendes Kommando:

# VBoxManage modifyvm "Windows 7" --nictrace1 on --nictracefile1 file.pcap
# VirtualBox -startvm "Windows 7"

Und nicht vergessen den Trace wieder zu beenden:

# VBoxManage modifyvm "Windows 7" --nictrace1 off

Die so erstellen pcap-Dateien lassen sich mit Wireshark analysieren.

Weiterführende Links

 

 
© 2004-2015, network lab - we make your net work - Netzwerkforum
aktualisiert am 22.03.2012