如何获取以无头模式运行的 VirtualBox VM 的桥接 IP 地址?

如何获取以无头模式运行的 VirtualBox VM 的桥接 IP 地址?

我在服务器上设置了 VirtualBox。它被设置为桥接虚拟机,并有一个 IP 地址。它现在以无头模式运行,以“VBoxHeadless -s PuppetMaster”启动。

我如何才能找出虚拟机正在使用 VBoxManage 的 IP?

答案1

我可以使用以下命令组合找到我的 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

此命令将打开一个 shell 窗口,您将可以直接访问 Headless VB,您可以在其中检索 Headless VB IP:ip addr

答案2

安装客户附加组件并(假设 Linux 是客户机)您可以运行以下命令:

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

答案3

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

答案4

你可以直接用这个命令来获取它:

VBoxManage list bridgedifs

相关内容