Як я можу отримати Bridged IP-адресу VM VirtualBox, що працює в режимі без голови?


26

У мене на сервері встановлений VirtualBox. Він був створений як мостовий VM та має IP-адресу. Зараз він працює в безголовому режимі, починається з "VBoxHeadless -s PuppetMaster".

Як я можу дізнатися, який IP-код VM використовує VBoxManage?

Відповіді:


20

Я міг знайти мій голову 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


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}'

Команда працює для одного VM. - з декількома фільтрами VM за назвою VM, наприклад:VBoxManage list runningvms | grep vmname | awk ...
mschuett

Або ми можемо запитати про конкретний VM. наприкладVBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish

3

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

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Це буде, якщо нічого іншого не надасть вам MAC-адресу, що дозволяє вам дізнатися фактичну IP-адресу іншими способами.


2
Будь-які ідеї, як отримати IP, використовуючи MAC-адресу з командного рядка?
Джон Хаддад

2

Ви можете отримати його безпосередньо за допомогою цієї команди:

VBoxManage list bridgedifs

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.