auf Facebook teilen auf Google+ teilen auf LinkedIn teilen auf Pinterest teilen twittern
Werbehinweise
» Startseite » Blog » VirtualBox: Vom Wirt auf den Gast zugreifen 

Blog

August 2017 April 2017 März 2017 Februar 2017 Dezember 2016 Juli 2016 Februar 2016 Januar 2016 Oktober 2015 Juli 2015 Juni 2015 März 2015 Januar 2015 Dezember 2014 November 2014 Oktober 2014 September 2014 Juni 2014 April 2014 März 2014 Februar 2014 Januar 2014 Dezember 2013 November 2013 Oktober 2013 August 2013 Juli 2013 März 2013 Februar 2013 Januar 2013 Dezember 2012 November 2012 Oktober 2012 September 2012 August 2012 Juli 2012 Juni 2012 Mai 2012 April 2012 März 2012 Februar 2012 Januar 2012 Dezember 2011 November 2011 Oktober 2011 September 2011 August 2011 Juli 2011 Juni 2011 Mai 2011 April 2011 März 2011 Februar 2011 Januar 2011 Dezember 2010 TeamSpeak 3: Benutzerprofil sichern Battlefield: Bad Company 2: Ein Rückblick nach etwa 225 Stunden Windows 7: Versteckte Dateien und Verzeichnisse anzeigen lassen X_FISH vs. »Petra« Und woher stammt der Inhalt in eurem Geldbeutel? VirtualBox 4.0 ist erschienen – mit Problemen Battlefield: Bad Company 2 Vietnam – Das Sparpaket Ubuntu: ACPI nachträglich installieren und aktivieren VirtualBox: Vom Wirt auf den Gast zugreifen Firefox 4.0: Statusleiste wiederherstellen Phatch 0.2.x: Breitenpräferenz beim Verkleinern GParted: NTFS-Partition vergrößern Eine vorwurfsvolle Anfrage Games for Windows live: Error 0X80072751 beziehungsweise 0X80070005 November 2010 Oktober 2010 September 2010 August 2010 Juli 2010 Juni 2010 Mai 2010 April 2010 März 2010 Februar 2010 Januar 2010 Dezember 2009 November 2009 Oktober 2009 September 2009 Januar 2009 Dezember 2008 November 2008 Oktober 2008 September 2008 Juni 2008 Mai 2008 April 2008 März 2008 Februar 2008 Januar 2008 Dezember 2007 November 2007 Oktober 2007 Mai 2007 Februar 2007 Januar 2007 September 2006 August 2006 Juni 2006 Mai 2006 April 2006 März 2006 Februar 2006 November 2005 Oktober 2005 September 2005 Juli 2005 Juni 2005 Mai 2005 Mai 2004 Oktober 2003 September 2003 Juli 2003 Juni 2002 Mai 2002 März 2002 Februar 2002 Januar 2002 November 2001 Oktober 2001 Juli 2001 Juni 2001 Mai 2001 März 2001 Februar 2001 Januar 2001
get Opera
get Mozilla Firefox
get Konqueror
get Mozilla Thunderbird
get Ubuntu Linux

Anzeige
ALL-INKL.COM - Webhosting Server Hosting Domain Provider

27.

Dezember

2010

VirtualBox: Vom Wirt auf den Gast zugreifen

Per E-Mail kam eine Anfrage wie ich es geschafft habe vom Host aus auf den Server zuzugreifen, welcher bei mir mittels VirtualBox als Mailserver agiert. Bisher hatte ich dies tatsächlich nicht weiter beschrieben, daher ein paar Zeilen dazu wie ich es gelöst habe beziehungsweise wieso ich abgesehen von IMAP, SMTP und HTTP auch noch per SSH auf den Server zugreife.

Zunächst einmal benötigt das Gastsystem zwei (virtuelle) Netzwerkkarten. Über NAT (network address translation) wird ermöglicht, dass das Gastsystem über die Netzwerkverbindung des Wirtsystems ins Internet zugreifen kann. Über diese Verbindung kann das Wirtsystem jedoch nicht auf den Gast zugreifen.

Die IP erhält das Gastsystem dabei über den von VirtualBox gestellten DHCP-Server. Der entsprechende Eintrag über die grafische Benutzeroberfläche von VirtualBox (auf dem Bild ist der Dialog der Version 4.0 zu sehen) sieht wie folgt aus:

VirtualBox 4.0: Netzwerkadapter auf NAT einstellen

Im Gastsystem ist anschließend die erste Netzwerkkarte im System per DHCP mit den entsprechenden Daten versorgt worden. Sowohl die Daten für IPv4 wie auch für IPv6 wurden dem Adapter zugewiesen. Hier wie es sich unter dem Server (Ubuntu 10.10) nach einer Abfrage an der Konsole darstellt. Die Tastatureingaben sind auf dieser Seite in den Fenstern jeweils fett dargestellt, alle anderen Angaben stammen sind Ausgaben des Systems.

 root@farnsworth:~# ifconfig eth0 eth0 Link encap:Ethernet Hardware Adresse 08:00:27:c9:ca:e9 inet Adresse:10.0.2.15 Bcast:10.0.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fec9:cae9/64 Gültigkeitsbereich:Verbindung 

Für die Verbindung zwischen Gastsystem und Wirtsystem ist zusätzlich ein unter VirtualBox als »host-only«-Netzwerkadapter[1] notwendig. Dieser (virtuelle) Netzwerkanschluss kann von VirtualBox ebenfalls per DHCP dem Gastsystem eine IP zuweisen. Zunächst jedoch erst einmal ein Blick auf die Einstellung in der grafischen Benutzeroberfläche von VirtualBox für den zweiten (virtuellen) Netzwerkadapter:

VirtualBox 4.0: Netzwerkadapter als Host-Only-Adapter verwenden

Während der Installation von VirtualBox wird am Wirtsystem dafür ein zusätzliches (virtuelles) Netzwerk-Interface eingerichtet. Dies hat anschließend bei der Verwendung eines »host-only«-Adapters für das Wirtsystem die Funktion einer Netzwerkkarte, welche das Wirtsystem mit dem (virtuellen) Netzwerk des beziehungsweise der Gäste verbindet. Ein Zugriff weiterer (physikalischer) Rechner im Netzwerk auf den Gast ist nicht möglich, dies suggeriert bereits der Name »host-only«-Netzwerkadapter.

VirtualBox kann für das Gastsystem auch beim »host-only«-Adapter als DHCP-Server agieren. Die Einstellungen können auch hier wieder bequem über die grafische Oberfläche vorgenommen werden. Da ich jedoch beim Wechsel von Linux und Windows als Wirtsystem Probleme mit dem DHCP-Server hatte, habe ich die zweite Netzwerkkarte im System mit einer festen IP versehen, weiter unten auf dieser Seite mehr dazu.

Im Normalfall, wenn also kein regelmäßiger Wechsel des Wirtsystems vorliegt, wird es normalerweise zu keinen Problemen kommen. Daher kann der DHCP-Server für den »host-only«-Adapter normalerweise problemlos verwendet werden.

Dennoch der Hinweis auf ein anderes Problem, welches ich im Zusammenhang mit wechselnden Wirtsystemen bereits beschrieben habe: VirtualBox: Netzwerkkarte unter Linux plötzlich eth1. Sollte sich beim Wechsel des Wirtsystems die Zuweisung der Netzwerkkarteneinstellungen des Gastsystems verändern, sollte diese Seite aufgerufen werden.

Problem mit DHCP für den »host-only«-Adapter

Auch nach dem Lösen des oben verlinkten Problems mit unterschiedlichen MAC der (virtuellen) Netzwerkadapter hatte ich beim Verwenden von VirtualBox unter Windows (7) als Wirtsystem immer wieder Probleme mit dem DHCP-Server für den »host-only«-Adapter.

Mal wurde wie gewünscht per DHCP eine IPv4-Adresse zugewiesen, dann wieder nicht. Unter Linux als Wirtsystem hatte ich nie Probleme.

Nach dem Studium diverser Threads, welche eben diese Problematik im Web ebenfalls beschreiben habe ich den einfachen Weg gewählt: Ich habe dem zweiten Netzwerkadapter im Gastsystem selbst einfach fest eine IP zugeordnet.

Damit war jegliche DHCP-Problematik ausgeschlossen und ich habe nun in jedem Fall sowohl unter Linux wie auch unter Windows aus Wirtsystem die gleiche IP, über welche ich auf das Gastsystem zugreifen kann.

Hier die vollständige /etc/network/interfaces meines Ubuntu Servers (Gastsystem):

 root@farnsworth:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp # The VirtualBox host-only network interface auto eth1 iface eth1 inet static address 192.168.56.102 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 

Wichtig: Keinen Standardgateway für eth1 eingeben. Ansonsten versucht das Gastsystem nicht mehr über NAT, sondern über den angegebenen Gateway die Verbindung ins Internet vorzunehmen.

Die Ausgabe für den zweiten Netzwerkadapter im System fällt dementsprechend aus:

 root@farnsworth:~# ifconfig eth1 eth1 Link encap:Ethernet Hardware Adresse 08:00:27:c1:a6:65 inet Adresse:192.168.56.102 Bcast:192.168.56.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fec1:a665/64 Gültigkeitsbereich:Verbindu 

Wie man anhand der Ausgabe erkennen kann hat der Adapter eth1 vom VirtualBox-Host mittels DHCP noch eine IPv6-Adresse zugewiesen bekommen. Da ich IPv6 bislang nicht verwende ist dies zwar ganz nett, jedoch spielt es für die Konfiguration des »host-only«-Adapters keine Rolle.

Abschließend nun noch das Beispiel für die Einträge in der /etc/hosts (Linux) beziehungsweise %SystemRoot%\System32\drivers\etc\hosts (Windows). Zunächst wie die Einträge unter Linux beim Wirtsystem bei mir aussehen:

 amy@turanga:~$ cat /etc/hosts 192.168.243.123 turanga # Added by NetworkManager 127.0.0.1 localhost.localdomain localhost ::1 turanga localhost6.localdomain6 localhost6 127.0.1.1 turanga 192.168.56.102 farnsworth.futurama # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 

Unter Windows (7) etwas nüchterner (da mit nur einem aktiven Eintrag versehen):

 # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 192.168.56.102 farnsworth.futurama 

Per ssh auf dem Gastsystem einloggen

Eingangs habe ich erwähnt, dass ich abgesehen von der eigentlichen Funktion als Mailserver mit integriertem Webmailer (Roundcube[3]) auch noch anderweitig auf das Gastsystem zugreife. Diese Zugriffe dienen primär der Konfiguration beziehungsweise der Wartung.

Ich habe auf dem Ubuntu Server mittels OpenSSH eine sogenannte SecureSHell installiert. Darüber kann ich auf sichere Art und Weise dank der verschlüsselten Netzwerkverbindung mit dem Gastsystem eine Verbindung zur Konsole herstellen.

Ist das nicht ein wenig übertrieben? Host-Only und dann auch noch eine SSH? Nun ja, der Sicherheitsgedanke spielte weniger eine Rolle als vielmehr »ich wollte es einfach mal einrichten«.

Völlig paranoid das ich mir selbst nicht mehr trauche bin ich also auch nicht.

Wie sieht so ein Aufruf eigentlich aus? Hier als Beispiel der Versuch mich vom Wirtsystem aus beim Gastsystem einzuloggen. Der Name des Servers »farnsworth.futurama« ist dabei in der Hosts-Datei des Wirtsystems hinterlegt:

 amy@turanga:~$ ssh -l root farnsworth.futurama Warning: Permanently added the RSA host key for IP address '192.168.56.102' to the list of known hosts. root@farnsworth.futurama's password: Permission denied, please try again. 

Der Versuch sich direkt als Benutzer root einzuloggen schlägt fehl, da der Server (Ubuntu 10.10) dies über ssh nicht direkt erlaubt. Es muss der Weg über einen unprivilegierten Benutzer genommen werden. Im Beispiel heißt dieser Benutzer amy:

 amy@turanga:~$ ssh -l amy farnsworth.futurama amy@farnsworth.futurama's password: Linux farnsworth.futurama 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 01:41:57 UTC 2010 i686 GNU/Linux Ubuntu 10.10 Welcome to Ubuntu! * Documentation: https://help.ubuntu.com/ No mail. Last login: Mon Dec 27 00:14:39 2010 amy@farnsworth:~$ sudo su - [sudo] password for amy: root@farnsworth:~# 

Schön, aber warum sollte man sich die Mühe machen per ssh auf den Gast zuzugreifen? Das geht doch direkt über das Fenster welches VirtualBox vom Client ohnehin geöffnet hält?

Die Antwort ist simpel: In das von VirtualBox geöffnete Fenster des aktuell gestarteten Gastsystems kann ich – zumindest unter VirtualBox 4.0 ohne Installation der sogenannten »Guest Additions« – nicht einfach per Maus copy&paste betreiben.

In einem Terminal in welchem ich unter Linux via ssh oder unter Windows mit PuTTY [3] funktioniert dies jedoch problemlos. Anstatt größere Textblöcke für Konfigurationsdateien abschreiben zu müssen, beispielsweise weil ich sie aus Anleitungen im Web übernehme, kann ich sie bequem und einfach mit einem Mausklick einfügen.

X_FISH



 
 
Das Generieren dieser Seite dauerte genau 0.06878 Sekunden.