我有一个在 VMware ESXi 主机上运行的客户虚拟机的 IP 地址。但我不知道这个 VMware 主机的 IP 地址。
如何找到此 VMware 主机的 IP 地址?
- 我有vSphere 客户端安装在我的系统上的软件。
- 我可以 ping 客户机的 IP,它回复了。谢谢。
答案1
如果您确实只有客户机的 IP 地址,则通常无法获取主机的 IP 地址。不过,有些配置可能可以正常工作。
从您(PC)的角度来看,虚拟机只是另一台可访问网络的计算机。即使在来宾的本地网络(广播域)中,仅通过查看虚拟机的 IP 地址和流量到达目的地的方式,也无法将虚拟机与物理连接到交换机的真实 PC 区分开来。
答案2
如果您有 vsphere 客户端,您可以打开客户机的控制台,标题栏将显示您连接到哪个主机:
您可以在上面的示例中看到 XA_StreamDev 位于主机上(其名称已淡出)。如果您 ping 该主机名,您将能够获取其 IP 地址。
要打开完整的控制台,请右键单击您的虚拟机并选择“打开控制台”。
此外,如果您转到 VCenter > 主机和集群 >,您将能够看到主机列表 - 再次,您应该能够 ping 通它。
答案3
理论上,您可能会发现无法访问 ESXi 主机,因为其 IP 地址超出了您的范围。
但是如果你知道你可以访问的IP地址范围,以下工具(“ESXi主机查找器”)可以帮助你找到哪一个是可能的ESXi主机:
https://yinqingwang.wordpress.com/2016/01/18/esxi-host-finder/
答案4
cat /etc/vmware/esx.conf | grep "/adv/Misc/HostIPAddr" | awk -F ' = ' '{gsub("\"", "");print $2}'
IP 在文件 cat '/etc/vmware/esx.conf' 中的 /adv/Misc/HostIPAddr 项下配置
cat 命令捕获整个配置文件,输出通过管道传输到 grep
grep 命令会过滤掉除包含我们想要的键的行之外的所有输入,整行通过管道传输到 awk
awk 通过 '=' 字符拆分行并获取第二列的 IP,'gsub' awk 子命令删除双引号。