查看VM虚拟机里的服务器IP,最直接的办法是登录到虚拟机系统内执行ip addr命令,或者通过VMware控制台查看网络配置。 但这条“捷径”并不是万能的你手里的VM可能跑在自家电脑的VMware Workstation上,也可能躺在公司机房的ESXi服务器里,甚至用的是VirtualBox,环境不同,查看路径和命令也会有差异,这篇文章把各种常见的“找IP”场景都捋一遍,你对照自己的情况选一种就能用。
虚拟机服务器IP怎么查?先分清VM环境
很多人在群里问“VM虚拟机IP怎么查”,我通常先反问一句:你的VM是装在个人电脑上的VMware Workstation,还是机房里那台ESXi服务器上的虚拟机?这两者的底层逻辑完全不一样,查看IP的入口自然也有区别。
- VMware Workstation:虚拟机是一个独立的操作系统,它的IP由其自身网卡配置决定,宿主机通过虚拟网卡和它通信,你打开虚拟机窗口,进去敲命令就行。
- VMware vSphere/ESXi:虚拟机由ESXi统一调度,你可以在vSphere Client或Web管理界面直接看到虚拟机的网络属性,甚至不用进系统。
- VirtualBox、Hyper-V等:原理与VMware类似,命令同样通用,只是虚拟机管理工具的界面有所差异。
行业共识认为,先弄清自己的VM环境,比盲目执行命令重要得多,记住一点:虚拟机的IP是“用出来”的,不是“藏”起来的只要系统启动且网络配置正确,它一定有一个IP,我们要做的只是用合适的工具把它捞出来。
在VMware Workstation里直接看IP
如果你用的是VMware Workstation,最简单的办法是把虚拟机开机,然后在虚拟机的系统里操作,这里有两个入口:
- 虚拟机窗口下方的状态栏:虚拟机运行时,Workstation会在窗口最底部的状态栏显示当前虚拟机的IP地址,只要VMware Tools运行正常,这个位置就会自动出现类似
168.88.128的地址,这个功能很多老用户都没注意到。 - 进入虚拟机系统查看:打开虚拟机桌面,在Linux终端里执行
ip addr,或者在Windows命令提示符里执行ipconfig,找到对应网卡的IPv4地址。
如果虚拟机是开机状态但状态栏没显示IP,多半是VMware Tools没装好,或者网络没通,这会在后面专门提到。
在ESXi/vSphere里看IP
如果你管理的是ESXi虚拟机,登录vSphere Client或Web Client后,在虚拟机“页面就能找到“IP地址”字段,这个IP是由VMware Tools上报的,只要安装并启动了VMware Tools,这里就会自动更新,需要注意的是,虚拟机处于关机状态时,这个字段显示为“-”,所以你得先把机器开起来。
VMware虚拟机查看IP地址命令有哪些?
命令是最直接的答案,也是很多人实际用最多的方法,我把Linux和Windows下常用的几类命令都列出来,你可以直接复制去用。
| 操作系统 | 命令行/工具 | 说明 |
|---|---|---|
| Linux | ip addr |
显示所有网络接口的IPv4/IPv6地址,最推荐 |
| Linux | ifconfig |
老牌命令,部分新系统需先安装net-tools |
| Linux | hostname -I |
只输出IP地址,不包含其他信息,适合脚本 |
| Linux | nmcli device status |
NetworkManager环境下的连接状态查询 |
| Windows | ipconfig |
显示所有适配器的IPv4地址、子网掩码、网关 |
| Windows | Get-NetIPAddress |
PowerShell下的IP对象查询,可配合Filter使用 |
说到ifconfig,它在较新的Linux发行版里可能默认没装,执行后提示“command not found”,这时候不用慌张,要么用ip addr,要么先执行sudo apt install net-tools(Debian/Ubuntu)或sudo yum install net-tools(CentOS/RHEL),多数情况下,ip addr已经够用,所以不用刻意折腾旧命令。
从宿主机控制台和ARP表找IP
如果你连不进去虚拟机系统,也可以尝试从宿主机层面获取,VMware Workstation提供了vmrun工具,但它主要执行开关机、快照等操作,不能直接吐出IP,实用做法有两个:
- 登录虚拟机的VMware控制台,在系统登录界面停留时,很多Linux发行版会显示当前IP地址,Windows则不会显示,但你可以通过登录后的桌面右下角网络图标看到网络详情。
- 查看路由器的DHCP客户端列表,虚拟机的IP通常是DHCP分配的,登录到家里路由器或办公网交换机的管理页面,在“DHCP租约”或“客户端列表”中找到对应MAC地址的IP记录。
还有一种面向救急的方法:在宿主机上执行arp -a,看看有没有新出现且MAC地址以00:0c:29开头的IP条目。00:0c:29是VMware虚拟网卡的OUI前缀(据VMware官方文档),基本可以认定这台设备就是你的VM,在Linux宿主机上可以过滤得更精确:
arp -a | grep 00:0c:29
在Windows宿主机上则用:
arp -a | findstr 00-0c-29
虚拟机服务器IP怎么查?进不去系统时这样操作
有时候虚拟机开机了,但SSH连不上,控制台密码又忘了,这时找IP就成了一件“救命”事,别慌,还有两条路可以走。
修改内核启动参数,临时查看IP
对于Linux虚拟机,你可以在VMware BIOS启动界面按Shift或Esc进入GRUB菜单,选择内核时按e,在linux开头行末尾加上single或init=/bin/bash,然后按Ctrl+X启动进入单用户模式或恢复shell,这个模式下网络可能还没起来,但你可以通过查看/var/lib/dhcp/dhclient.leases或/etc/resolv.conf文件,找到之前DHCP分配的IP记录,业内专家指出,这种方法适合应急恢复,不适合日常使用,因为它会跳过网络服务,可能造成潜在配置变更。
挂载虚拟磁盘查看配置文件
另一个更“无损”的办法:把该虚拟机的磁盘文件(.vmdk)作为第二块硬盘挂载到另一台同系统类型的虚拟机里,然后读取原系统的网络配置,例如Linux系统的网络配置通常在/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-eth0里,Windows系统的IP信息则需要通过注册表备份文件或网卡配置日志间接还原,这个方法过程繁琐,但胜在不修改原系统任何东西,适合需要保留现场的场景。
用局域网扫描工具批量探测
当你完全不知道虚拟机的下落时,可以用扫描工具在宿主机所在局域网里“过一遍”,比较实用的工具是nmap,在宿主机上执行:
nmap -sn 192.168.1.0/24
这条命令会列出该网段内所有存活主机的IP和MAC地址,你只需要把MAC前缀是00:0c:29的IP挑出来,那大概率就是你的VM,如果你在用Windows且不想装nmap,也可以试试“Advanced IP Scanner”,界面化操作,扫描后在结果里同样能看MAC地址。
查到了IP不通用?网络模式先理顺
知道IP之后,你还得保证它和其他设备能连通,VMware的三种网络模式是很多“查不到IP”问题的根源。
| 模式 | 虚拟机IP特征 | 外部是否可直接访问 |
|---|---|---|
| NAT | 通常为192.168.x.x,由VMware虚拟NAT分配 | 外部设备不能直接访问,需端口转发 |
| 桥接 | 与宿主机同一局域网段,如192.168.1.x | 可直接被局域网内其他设备访问 |
| Host-only | 独立私有网段,仅宿主机能访问 | 外部不可见 |
如果你在VM里搭了个网站让同事一起测,桥接模式最省事,如果只是自己本地调试,NAT足够了,Host-only适合不想让虚拟机“抛头露面”的场景,很多初学者发现虚拟机IP和宿主机IP不在同一网段,就以为查错了,其实只是模式选得不同。
虚拟机IP地址一直变怎么办?
虚拟机默认使用DHCP获取IP,重启路由器或宿主机后,IP可能会变,固定IP的方法很成熟:
- 在Linux虚拟机里,使用
nmcli修改连接配置:nmcli con mod ens33 ipv4.addresses 192.168.1.200/24,然后设置ipv4.method manual并重启网卡。 - 在Windows虚拟机里,打开“网络和共享中心 → 更改适配器设置 → 右键网卡 → 属性 → 双击Internet协议版本4”,手动填入IP、子网掩码、网关和DNS。
- 在VMware Workstation的“虚拟网络编辑器”里,为DHCP设置保留地址,绑定MAC与IP的对应关系。
不管用哪种,改完都要重启网络服务,Linux执行sudo systemctl restart networking或systemctl restart NetworkManager,Windows执行ipconfig /renew让配置生效。
查看VM虚拟机服务器IP常见Q&A
针对高频问题,直接给答案。
为什么ip addr看不到IP地址?
执行后如果只看到lo回环接口,没有看到eth0或ens33的IP,说明网卡没起来或DHCP没完成分配,按下面几步排查:
- 在VMware设置里,检查虚拟机的“网络适配器”是否勾选了“已连接”。
- 在系统里执行
sudo dhclient eth0(接口名换成实际名称),手动请求一次DHCP。 - 如果用的是桥接模式,确认宿主机本身能上网,并且系统防火墙没有阻断虚拟网卡。
- 检查网卡配置文件是否设置了
ONBOOT=no,改完再启动。
虚拟机里查到的IP和宿主机IP一样吗?
不一样,宿主机的物理网卡是真实IP,虚拟机的虚拟网卡是虚拟IP,二者网络层面是隔离或转发关系,NAT模式下,虚拟机通过宿主机共享上网,但对外显示的IP是宿主机IP,虚拟机的IP只是内部地址,桥接模式下,虚拟机和宿主机处于同一局域网段,但IP不同。
VMware Tools没装,vSphere不显示IP,怎么办?
在vSphere界面看不到IP,是因为VMware Tools没运行,你还是要进虚拟机系统,用命令查询,Linux执行ip addr,Windows执行ipconfig,然后把IP记下来,远程维护时,可以先从VMware控制台登录,装好Tools后再使用vSphere直接查看。
虚拟机IP查询这件小事,本质上就是“系统内命令 + 虚拟机管理工具 + 一点网络常识”的组合,先认清环境,再选对应的方法,多数情况下一分钟就能搞定。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/755664.html





