Как я могу получить Bridged IP-адрес виртуальной машины VirtualBox, работающей в автономном режиме?

26

У меня VirtualBox настроен на сервере. Он был настроен как Bridged VM и имеет IP-адрес. Теперь он работает в режиме без головы, запущен с "VBoxHeadless -s PuppetMaster".

Как я могу узнать, какой IP использует виртуальная машина VBoxManage?

Джон Хаддад
источник

Ответы:

20

Я мог найти мой Headless VB с помощью комбинации следующих команд:

# 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

Но даже проще: в Linux вы можете подключиться к VB:

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

Эта команда откроет окно оболочки, и вы получите прямой доступ к Headless VB, где вы можете получить свой IP Headless VB: ip addr

Alberto
источник
6

Установите гостевые дополнения и (при условии, что Linux является гостем) вы можете запустить следующее:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
Симона Скардуцио
источник
1
Формат немного изменился, теперь вам нужно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}'
Брендан
источник
Команда работает на одну виртуальную машину. - С несколькими фильтрами виртуальных машин по имени виртуальной машины, например:VBoxManage list runningvms | grep vmname | awk ...
mschuett
Или мы можем узнать о конкретной виртуальной машине. напр.VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish
3

Не уверен, что VBoxManage может дать вам эту информацию напрямую. Что вы можете сделать, это запустить следующую команду, чтобы увидеть конфигурацию сетевой карты.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Это произойдет, если ничто другое не предоставит вам MAC-адрес, что позволит вам узнать фактический IP-адрес другими способами.

andol
источник
2
Любые идеи о том, как получить IP с помощью MAC-адреса из командной строки?
Джон Хаддад
2

Вы можете получить его напрямую с помощью этой команды:

VBoxManage list bridgedifs
ShawnMilo
источник
1

С форума virtualbox.org -

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

Mohnish
источник