Jak uzyskać zmostkowany adres IP maszyny wirtualnej VirtualBox w trybie bezgłowym?

26

Mam VirtualBox skonfigurowany na serwerze. Został skonfigurowany jako Bridged VM i ma adres IP. Teraz działa w trybie bezgłowym, rozpoczął się od „VBoxHeadless -s PuppetMaster”.

Jak mogę dowiedzieć się, jakiego adresu IP używa maszyna wirtualna VBoxManage?

Jon Haddad
źródło

Odpowiedzi:

20

Mogłem znaleźć mój Bezgłowy VB za pomocą kombinacji następujących poleceń:

# 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

Ale jeszcze łatwiej: w systemie Linux możesz połączyć się z VB:

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

To polecenie otworzy okno powłoki i będziesz mieć bezpośredni dostęp do Bezgłowego VB, gdzie możesz odzyskać swój Bezgłowy VB IP: ip addr

Alberto
źródło
6

Zainstaluj dodatki dla gości i (zakładając, że Linux jest gościem) możesz uruchomić następujące czynności:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
Simone Scarduzio
źródło
1
Format zmienił się teraz trochę, będziesz potrzebowaćVBoxManage --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}'
brendan
źródło
Polecenie działa dla pojedynczej maszyny wirtualnej. - Z wieloma maszynami wirtualnymi filtruj według nazwy maszyny wirtualnej, np .:VBoxManage list runningvms | grep vmname | awk ...
mschuett
Lub możemy zapytać o konkretną maszynę wirtualną. np.VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish
3

Nie jestem pewien, czy VBoxManage może udzielić ci tych informacji bezpośrednio. Co możesz zrobić, uruchom następujące polecenie, aby zobaczyć konfigurację karty sieciowej.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Będzie to możliwe, jeśli nic więcej nie poda adresu MAC, umożliwiając znalezienie faktycznego adresu IP za pomocą innych środków.

andol
źródło
2
Wszelkie pomysły na uzyskanie adresu IP za pomocą adresu MAC z wiersza polecenia?
Jon Haddad,
2

Możesz uzyskać go bezpośrednio za pomocą tego polecenia:

VBoxManage list bridgedifs
ShawnMilo
źródło
1

Z forum virtualbox.org -

VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "

Mohnish
źródło