最常见原因是网卡未启用、虚拟网络适配器未连接或NAT模式下DHCP服务异常;需检查ip link状态、ONBOOT=yes设置、VMnet8服务及网络模式匹配性。

查不到虚拟机里的 ip addr 或 ifconfig 输出有效 IP,大概率不是命令写错了,而是网络没通、网卡没启、或者模式配歪了。
为什么 ip addr 显示 ens33 没有 inet 地址
这是最常见现象:执行 ip addr 后,lo 有地址,但主网卡(如 ens33、eth0)下面压根没 inet 行。说明该网卡未获取到 IP,原因通常有:
- 虚拟机网络适配器被禁用(VMware/VirtualBox 里勾选了“连接”但系统内网卡处于
DOWN状态) - 网卡未启用:运行
ip link set ens33 up再试;若提示 “No such device”,说明驱动没加载或设备名已变(可用ls /sys/class/net/确认真实名) - NAT 模式下宿主机的
VMnet8DHCP 服务被关闭(VMware 虚拟网络编辑器中勾选了“使用本地 DHCP 服务”但服务实际未运行) - Linux 发行版启用
systemd-networkd或NetworkManager后,传统ifcfg-*文件被忽略,静态配置不生效
ipconfig 在 Windows 虚拟机里查不到 IPv4 地址怎么办
在 Windows 虚拟机中运行 ipconfig,结果只有 IPv6 地址 或显示 “媒体已断开连接”,说明物理链路层未就绪。重点检查:
- VMware 设置中,“网络适配器”是否启用且状态为“已连接”(右下角图标不是灰色断开状态)
- Windows 服务里
DHCP Client是否正在运行(services.msc中查找并启动) - 网卡驱动是否异常:设备管理器中看“网络适配器”下有无黄色感叹号;VMware Tools 或 VirtualBox Guest Additions 必须装好,否则可能识别为“Microsoft Hyper-V 网络适配器”等不兼容型号
- 若用的是 Windows Server,默认可能禁用 IPv4 协议——进“网络连接”→右键属性→确认勾选了
Internet 协议版本 4 (TCP/IPv4)
桥接 vs NAT 模式下 IP 查看逻辑完全不同
同一个 ipconfig 或 ip addr 命令,输出含义取决于虚拟机网络模式,不能套用宿主机经验:
- 桥接模式下,虚拟机和宿主机是平等节点,
ip addr显示的 IP 应与宿主机在同一子网(如宿主机是192.168.1.10,虚拟机应是192.168.1.x),否则说明桥接失败或物理网络限制(比如公司 Wi-Fi 禁止多设备接入) - NAT 模式下,虚拟机 IP 必须落在 VMware 的
VMnet8子网内(默认192.168.199.0/24),且网关必须是192.168.199.2(VMware 默认 NAT 网关地址),不能填成宿主机的网关 - 仅主机模式下,虚拟机只能和宿主机通信,IP 必须与
VMnet1子网一致(如192.168.145.0/24),此时ping宿主机 IP 可通,但ping 8.8.8.8必然失败
查到 IP 后连不通?先验证网段计算是否正确
很多人填了 192.168.15.100 + 255.255.255.0,以为和宿主机 192.168.14.1 就差一点能通——其实不行。子网判断靠二进制与运算,不是看 IP 字面相似度:
- 宿主机
192.168.14.1/24→ 网络号是192.168.14.0 - 虚拟机
192.168.15.100/24→ 网络号是192.168.15.0,不在同一网段 - 正确做法:要么改虚拟机 IP 为
192.168.14.x,要么改子网掩码为255.255.0.0(即 /16),让两者网络号都变成192.168.0.0 - 临时验证:用
ipcalc 192.168.14.1/24和ipcalc 192.168.15.100/24对比 Network 字段是否一致
真正容易被忽略的是:VMware 虚拟网络编辑器里改完子网后,必须点“应用”并重启虚拟机,否则设置不生效;而 Linux 里改完 /etc/netplan/*.yaml 后,得执行 sudo netplan apply,光保存文件没用。

















