2012-06-24 15 views
56

Ich habe eine VM (VirtualBox) mit Ubuntu. Host-Rechner ist Windows 7. Wie kann ich mein Ubuntu vom Host anpingen und umgekehrt? Ich versuche in den VM-Einstellungen den Verbindungstyp "Bridged" zu setzen, aber es gibt keinen Effekt, ich verliere nur meine Internetverbindung in Ubuntu.Wie ping Ubuntu Gast auf VirtualBox

Antwort

59

In den meisten Fällen einfach die virtuelle Maschine Netzwerkadapter Schalt überbrückt Modus genug ist, der Gast-Maschine von außen zugänglich zu machen.

Switching virtual machine network adapter type

Manchmal ist es möglich, dass der Gastcomputer nicht automatisch eine IP erhalten, die der IP-Bereich des Hosts übereinstimmt nach dem überbrückten Modus Schalten (auch nach dem Gastcomputer neu zu starten). Dies wird oft durch einen fehlerhaften oder schlecht konfigurierten DHCP im Netzwerk des Hosts verursacht.

Wenn die Host-IP beispielsweise 192.168.1.1 lautet, muss der Gastcomputer eine IP-Adresse im Format 192.168.1.* haben, wobei nur die letzte Gruppe von Nummern von der Host-IP abweichen darf.

Sie können ein Terminal (Shell) verwenden und ifconfig (ipconfig für Windows-Gäste) eingeben, um zu überprüfen, welche IP dem Gastcomputer zugewiesen ist, und diese bei Bedarf ändern.

Getting the guest's machine IP

Wenn der Host- und Gast-IPs soll eine statische IP für den Gastcomputer nicht einfach passen Einstellung explizit das Problem beheben.

+3

Aber ich habe ein Problem: Es gibt keinen Internet-Zugang auf VM, da ich DHCP deaktiviere, Bridge aktivieren und statische IP zuweisen. Wie kann ich es reparieren oder wo könnte ein Problem sein? – Rusty

+2

Verwenden Sie 'ifconfig' in der Ubuntu-Shell, um sicherzustellen, dass die IP-Adresse des Gasts Teil des IP-Bereichs des Hosts ist. I.e. Wenn die Host-IP-Adresse 192.168.1.1 lautet, stellen Sie sicher, dass guest eine IP-Adresse im Bereich 192.168.1. * hat. Wenn es nicht in dem Bereich liegt, setze die IP des Gastes manuell auf eine statische IP innerhalb des Bereichs (d. H. 192.168.1.2). Stellen Sie außerdem sicher, dass Ihr Host (Ubuntu) ordnungsgemäß für die Verwendung eines Gateways konfiguriert ist. Wenn Sie nicht sicher sind, welche IP das Gateway ist, suchen Sie einfach Ihre Windows-Netzwerkeinstellungen (normalerweise die Router-IP). – brezanac

+2

PS - das funktioniert auch für mich mit der umgekehrten Konfiguration (Ubuntu Host, Win7 32 Bit VM) – alph486

32

Mit NAT (Standard) ist dies nicht möglich. Bridged Networking sollte dies ermöglichen. Wenn Bridged nicht für Sie funktioniert (dies kann der Fall sein, wenn Ihre Netzwerkadministration mehrere IP-Adressen an einer physischen Schnittstelle nicht zulässt), können Sie stattdessen "Nur Host-Netzwerk" versuchen.

Für die Konfiguration von Host-only hier ist ein Zitat aus dem Vbox-Handbuch (was ziemlich gut ist). http://www.virtualbox.org/manual/ch06.html:

Für Host-Only-Netzwerke, wie mit der internen Vernetzung, Sie der DHCP-Server nützlich sein können, dass in VirtualBox gebaut. Dies kann aktiviert werden, um dann die IP-Adressen im Nur-Host-Netzwerk zu verwalten, da sonst müssten Sie alle IP-Adressen statisch konfigurieren. > „Einstellungen“ - -

In der VirtualBox grafischen Benutzeroberfläche können Sie alle diese Elemente in den globalen Einstellungen über „Datei“ konfigurieren> „Network“, der alle Host-Only-Netzwerke aufgeführt, die in gegenwärtig sind benutzen. Klicken Sie auf den Netzwerknamen und dann auf die Schaltfläche "Bearbeiten" auf die rechts, und Sie können die Adapter- und DHCP-Einstellungen ändern.

+3

Dies funktionierte auf meiner Kombination Host = Win8 und Guest = Debian. Nachdem ich das getan hatte, hörte ich auch auf, den Host vom Gast anpingen zu können. Es war ein Windows-Firewall-Problem. –

7

Wenn Sie anfangen, an den Netzwerkeinstellungen von VirtualBox herumzubasteln, sollten Sie Folgendes beachten: Sie können neue Netzwerkadapter (eth1, eth2) erstellen, aber Ihre /etc/network/interfaces bleibt immer noch für eth0 konfiguriert.

Diagnose:

ethtool -i eth0 
Cannot get driver information: no such device 

Finden Sie Ihre Schnittstellen:

ls /sys/class/net 
eth1 eth2 lo 

Fix it:

bearbeiten /etc/networking/interfaces und ersetzen eth0 mit dem entsprechenden Schnittstellennamen (zB eth1, eth2, etc.)

:%s/eth0/eth2/g 
Verwandte Themen