voi*_*ces 9 ip virtual-machine vmware virtualbox virtual-interface
如果我有一个 VM(例如使用 VirtualBox)在我的主操作系统中运行;如何从原始(主机)操作系统中识别(虚拟机的)虚拟接口和 IP 地址?
我以为我可以只使用ifconfig
,ip a
或类似的; 但没有显示与连接的虚拟机相关的信息。尽管它显示主(主机)操作系统已192.168.1.104
通过wlan0
.
但是,如果我从 VM 内部运行这些命令之一,我可以确认它当前处于活动状态 @ 10.0.2.15
via eth0
。
Virtualbox 包含一个名为VBoxManage
. 此工具可以访问有关来宾操作系统的信息。
在此示例中(Windows 10,在 PowerShell 窗口中),我想找到名为 的 VM 的 IP DS201
:
PS C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe guestproperty get DS201 "/VirtualBox/GuestInfo/Net/0/V4/IP"
Value: 10.0.2.15
Run Code Online (Sandbox Code Playgroud)
(它在 Linux 和 Mac OS X 中的工作方式与在 Windows 中的工作方式相同)
有关 VBoxManage 功能的文档可以在https://www.virtualbox.org/manual/ch08.html找到。
FOR NAT MODE(根据注释)来自NAT 模式虚拟网络的手册小节
\n\n对于您的评论,“主机必须...记录...IP链”,它是VirtualBox,而不是主机本身,这样做是这样的:
\n\n\n\n\nVirtualBox 的 NAT 引擎接收来宾操作系统发出的网络帧,提取 TCP/IP 数据并使用主机操作系统重新发送。对于主机上的应用程序,或者与主机位于同一网络上的另一台计算机,数据看起来像是由主机上的 VirtualBox 应用程序使用属于该主机的 IP 地址发送的。VirtualBox 侦听对发送的包的回复,然后重新打包并将它们重新发送到其专用网络上的来宾计算机。
\n
对于您最初的问题,只有 VirtualBox 知道访客的模拟地址:
\n\n\n\n虚拟机从集成到 VirtualBox 中的 DHCP 服务器接收其在专用网络上的网络地址和配置。这样分配给虚拟机的IP地址通常与主机位于完全不同的网络上。由于虚拟机的多个卡可以设置使用 NAT,因此第一个卡连接到专用网络 10.0.2.0,第二个卡连接到网络 10.0.3.0,依此类推。如果出于某种原因需要更改来宾分配的 IP 范围,请参阅第 9.11 节,\xe2\x80\x9c 微调 VirtualBox NAT 引擎\xe2\x80\x9d。
\n