Mit VirtualBox lässt sich unter Windows sehr einfach ein Netzwerk extern erreichbarer virtueller Maschinen erstellen. Die HowTos auf der VirtualBox-Homepage lassen das Vorhaben komplexer erscheinen, als es ist. Ein kurzer Blick in die Hilfe zeigt, es ist fast ein Kinderspiel.
Netzwerk
Das Netzwerksegment ist 192.168.104.xxx – ein 54MBit WLAN mit sieben Teilnehmern
- Router (Fritz!Box)
- Laptop (Windows 7 Professional 64)
- Virtuelle Maschine mit Apache-Webserver unter aktuellem Scientific Linux auf Laptop
- Virtuelle Maschine mit aktuellem Ubuntu-Desktop-Linux auf Laptop
- …
Die restlichen Geräte sind hier ohne Bedeutung. Die Arbeitsgeräte sind der Laptop mit den beiden virtuellen Maschinen und für Testzwecke ein Smartphone.
Ziel
Im lokalen Netzwerksegment sollen alle Geräte gleichberechtig miteinander kommunizieren können, ihre Netzwerkadresse soll im aktuellen Netzwerksegment 198.162.104.xxx liegen. Der Webserver soll unter 192.168.104.126 erreichbar sein und als eigenständiges Gerät erscheinen.
Konfiguration des Hosts
Der Laptop ist über die WLAN-Schnittstelle ins Netzwerk eingebunden und bezieht seine Adresse über DHCP. Den DHCP-Dienst übernimmt der Router.
Konfiguration der virtuellen Maschine
Bei der Konfiguration ist wichtig, "Angeschlossen an" auf "Netzwerkbrücke" zu setzen und die Netzwerkbrücke mit der entsprechenden Host-Schnittstelle zu verknüpfen. In diesem Fall wird die WLAN-Karte verknüpft mit einer von VirtualBox emulierten Intel PRO/1000 MT-Karte (Standardvorgabe auf Windows 7).

Dass VirtualBox die Firewall-Einstellungen ändert, wird abgenickt. Die Einstellungen der bereits vorkonfigurierten Schnittstelle eth0 werden für den Webserver fixiert, d. h. manuell in /etc/sysconfig/ifcfg-eth0 geändert:
DEVICE="eth0" BOOTPROTO="none" HWADDR="08:00:27:10:50:FE" IPV6INIT="no" ONBOOT="yes" TYPE="Ethernet" IPADDR="192.168.104.126" NETMASK="255.255.255.0" GATEWAY="192.168.104.15" DNS1="192.168.104.15" USERCTL=no
Danach das Netzwerk neu starten mit
/etc/init.d/network restart
und die Konfiguration prüfen mit
ifconfig
ergibt in unserem Fall die Ausgabe
eth0 Link encap:Ethernet Hardware Adresse 08:00:27:10:50:FE inet Adresse:192.168.104.126 Bcast:192.168.104.255 Maske:255.255.255.0 inet6 Adresse: fe80::a00:27ff:fe10:50fe/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:320 errors:0 dropped:0 overruns:0 frame:0 TX packets:213 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:29143 (28.4 KiB) TX bytes:169926 (165.9 KiB)
Jetzt die Windows-Eingabeaufforderung öffnen. Ein Test auf der Windows-Kommandozeile des Hosts mit
ping 192.168.104.126
bestätigt, dass die virtuelle Maschine von außen erreichbar ist.
Ping wird ausgeführt für 192.168.104.126 mit 32 Bytes Daten: Antwort von 192.168.104.126: Bytes=32 Zeit<1ms TTL=64 Antwort von 192.168.104.126: Bytes=32 Zeit<1ms TTL=64 Antwort von 192.168.104.126: Bytes=32 Zeit<1ms TTL=64 Antwort von 192.168.104.126: Bytes=32 Zeit<1ms TTL=64 Ping-Statistik für 192.168.104.126: Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust), Ca. Zeitangaben in Millisek.: Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
Noch ein Test des Apache-Webservers mit dem Smartphone, das war's.
Für die anderen virtuellen Maschinen läuft die Einstellung analog. Wo keine feste IP-Adresse erforderlich ist, können die IP, Gateway und Nameserver über den DHCP-Server zugewiesen werden (BOOTPROTO="dhcp").