VirtualBox 可以返回已启动虚拟机的 IP 地址吗?

VirtualBox 可以返回已启动虚拟机的 IP 地址吗?

我想使用以下命令从命令行启动虚拟机,而不使用 GUI:

VBoxManage startvm <MY_VM> --type headless

并在下一个提示中通过 SSH 连接到它。但问题是我的笔记本电脑连接的是办公室 WiFi,它使用 DHCP,因此分配给虚拟机实例的 IP 地址几乎每次都会发生变化。当我启动 GUI 时,我可以获取 IP,然后关闭它并通过 SSH 连接到它,但是,我发现这一步相当烦人,而且似乎没有必要(或应该)。

有没有什么方法可以让该VBoxManage实用程序返回新启动的实例的 IP 地址,然后我可以使用该地址通过 SSH 连接到该实例?

我要补充的是,我曾经使用Vagrantlaunch 来VirtualBox规避对 IP 的需要(只需这样做vagrant ssh),但 Vagrant 还有一些我想避免的其他奇怪之处,即使用 bare VirtualBox

答案1

如果ip是virtualbox分配的,就可以获取到。

VBoxManage guestproperty get yourvmname "/VirtualBox/GuestInfo/Net/0/V4/IP"

相关内容