Wie kann ich die Bridged-IP-Adresse einer VirtualBox-VM ermitteln, die im Headless-Modus ausgeführt wird?


26

Ich habe VirtualBox auf einem Server eingerichtet. Es wurde als Bridged-VM eingerichtet und verfügt über eine IP-Adresse. Es läuft jetzt im Headless-Modus und wurde mit "VBoxHeadless -s PuppetMaster" gestartet.

Wie kann ich herausfinden, welche IP-Adresse die VM mit VBoxManage verwendet?

Antworten:


20

Ich konnte mein Headless VB mit der Kombination der folgenden Befehle finden:

# Update arp table
for i in {1..254}; do ping -c 1 192.168.178.$i & done

# Find vm name
VBoxManage list runningvms

# Find MAC: subsitute vmname with your vm's name
VBoxManage showvminfo vmname

# Find IP: substitute vname-mac-addr with your vm's mac address in ':' notation
arp -a | grep vmname-mac-addr

Aber noch einfacher: Unter Linux können Sie eine Verbindung zum VB herstellen:

# Default VirtualBox Listening Port: 3389
rdesktop -N hostingserver:3389

Dieser Befehl öffnet ein Shell-Fenster und Sie haben direkten Zugriff auf das Headless VB, wo Sie Ihre Headless VB IP: ip-Adresse abrufen können


6

Installieren Sie Guest-Ergänzungen, und (vorausgesetzt, Linux ist der Gast) können Sie Folgendes ausführen:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a

1
Das Format hat sich jetzt etwas geändert, du wirst es brauchenVBoxManage --nologo guestcontrol yourVirtualMachineName --username yourUser --password yourPassword run -- /sbin/ifconfig -a
mike.dld

4
VBoxManage guestproperty enumerate {`VBoxManage list runningvms | awk -F"{" '{print $2}'` | grep IP | awk -F"," '{print $2}' | awk '{print $2}'

Befehl funktioniert für eine einzelne VM. - Bei mehreren VMs wird nach VM-Namen gefiltert, z. B .:VBoxManage list runningvms | grep vmname | awk ...
4.

Oder wir können uns nach einer bestimmten VM erkundigen. zBVBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish

3

Ich bin nicht sicher, ob VBoxManage Ihnen diese Informationen direkt zur Verfügung stellen kann. Sie können den folgenden Befehl ausführen, um die Netzwerkkartenkonfiguration anzuzeigen.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Das wird, wenn nichts anderes Ihnen die MAC-Adresse liefert, die es Ihnen ermöglicht, die tatsächliche IP-Adresse auf andere Weise herauszufinden.


2
Irgendwelche Ideen, wie man die IP über die MAC-Adresse von der Kommandozeile abruft?
Jon Haddad

2

Sie können es direkt mit diesem Befehl abrufen:

VBoxManage list bridgedifs

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.