06.
September
2010
Mit VirtualBox lassen sich auf einem Wirtssystem (Windows, Linux, etc.) sogenannte »virtuelle Maschinen« erstellen. Die Virtualisierungssoftware ermöglicht es so, beispielsweise ein Testsystem einzurichten oder unter Windows ein Linuxsystem als Server zu betreiben, auf welchen Anwendungen aus Windows heraus zugreifen können – beispielsweise ein Mailserver. Ich habe einen IMAP-Server in einer virtuellen Maschine laufen da für mich keine andere Lösung in Frage kam.
Es spricht auch nichts dagegen die virtuelle Maschine unter anderen Wirtssystemen einzusetzen. Dabei kann es jedoch insbesondere mit einem Linux als Gastsystem zu Problemen bei der Netzwerkkonfiguration kommen.
Zunächst ein kleiner Exkurs bezüglich meines Mailservers. Es läuft dovecot
als IMAP-Server, fetchmail
und procmail
rufen mir die E-Mails meiner POP3-Accounts ab und sortieren sie in entsprechende Ordner auf dem IMAP-Server.
Sehr bequem ist es den Server sowohl unter Windows wie auch unter Linux laufen zu lassen und einfach nur mit einem MUA wie Thunderbirds die Mails abzurufen. Jedoch hatte ich bei der Inbetriebnahme des Servers auf einem anderen Wirtssystem ein Problem: Beim Gastsystem (Debian 5.05) wurden /dev/eth0
und /dev/eth1
nicht mehr erkannt und stattdessen als /dev/eth2
und /dev/eth3
eingebunden.
Die Ursache ist einfach und schnell zu finden gewesen: Jede Installation von VirtualBox verteilt bei den Netzwerkkarten für die Gastsysteme unterschiedliche MAC-Adressen. Wird das .vdi einer Linuxinstallation auf einem anderen Wirt gestartet, stellt Linux neue Hardware fest und passt entsprechend die Konfiguration an.
Die Informationen zur Netzwerkkarte waren bei meiner Debian 5.05-Installation unter /etc/udev/rules.d/70-persistent-net.rules
abgespeichert:
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:07:ae:ae",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:35:3c:64",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Die MAC-Adresse der ersten Netzwerkkarte findet sich in der Konfiguration wieder:
Da ich die Installtion unter Windows vorgenommen hatte, musste ich die dort angegebenen MAC-Adressen der beiden verwendeten Adapter (für NAT und Host-Only) entsprechend bei VirtualBox unter meinem Linux-Wirtssystem einrichten.
Die MAC-Adressen lassen sich einfach verändern. Einfach die Adressen notieren oder besser noch abspeichern und anschließend auf dem anderen Wirtssystem kopieren und einfügen.
Anschließend kann man noch die bereits erwähnte /etc/udev/rules.d/70-persistent-net.rules
von den unnötigen Einträgen befreien und das Gastsystem wird problemlos und ohne weitere Neuzuordnungen der Netzwerkkarten funktionieren.
X_FISH