修改虚拟机 IP 地址的核心在于正确配置操作系统内部的网络参数,并确保其与虚拟化软件的网络适配器模式(如桥接或 NAT)及物理网络环境保持一致,这一过程不仅涉及简单的数值更改,更需要对子网掩码、网关和 DNS 解析进行系统性规划,以确保虚拟机在变更 IP 后能够维持稳定的网络连通性和服务可用性。

虚拟网络模式与 IP 规划
在动手修改 IP 之前,必须明确虚拟机当前的网络适配器模式,这直接决定了 IP 地址的规划范围。
桥接模式是首选方案,适用于需要将虚拟机作为局域网内独立设备访问的场景,在此模式下,虚拟机就像连接在物理交换机上的独立主机,其 IP 地址必须与物理主机(宿主机)在同一网段,若物理主机 IP 为 168.1.100,则虚拟机应设置为 168.1.x(x 不能与现有设备冲突),且网关和 DNS 应与物理主机完全一致。
NAT 模式则适用于仅需虚拟机上网、无需被局域网其他设备访问的场景,虚拟机处于虚拟化软件构建的子网中(通常为 VMnet8),其 IP 地址需设置为该虚拟网段的地址,网关指向虚拟 NAT 设备的 IP(通常是 .2 。
仅主机模式则构建了一个封闭的局域网,仅宿主机和虚拟机互通,规划 IP 时需参照 VMnet1 的网段设置。
Windows 虚拟机 IP 修改方案
对于 Windows 系列虚拟机,修改 IP 的操作主要通过图形界面完成,逻辑直观但需注意细节。

- 进入网络适配器设置:通过控制面板进入“网络和共享中心”,点击“更改适配器设置”,找到对应的以太网连接。
- 配置 IPv4 属性:右键点击连接选择“属性”,双击“Internet 协议版本 4 (TCP/IPv4)”。
- 参数填写:选择“使用下面的 IP 地址”,在此处,IP 地址栏填入规划好的静态 IP;子网掩码通常在 C 类网段中自动生成为
255.255.0;默认网关必须填入物理路由器的地址(桥接模式)或虚拟网关地址(NAT 模式),在 DNS 服务器栏,建议首选填入公共 DNS(如114.114.114或8.8.8)以防止解析故障。 - 验证:配置完成后,使用
cmd执行ipconfig /all检查配置是否生效,并使用ping命令测试网关及外网连通性。
Linux 虚拟机 IP 修改方案
Linux 系统由于发行版众多,修改 IP 的方式略有差异,但核心原理一致,以下针对主流的 CentOS/RHEL 和 Ubuntu/Debian 系统提供专业解决方案。
CentOS 7/8 及 RHEL 系统配置
在 RedHat 系列中,网络配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名一般为 ifcfg-ens33(根据网卡名称可能不同)。
- 编辑配置文件:使用
vi /etc/sysconfig/network-scripts/ifcfg-ens33打开文件。 - 修改关键参数:
- 将
BOOTPROTO修改为static,表示使用静态 IP。 - 新增或修改
IPADDR为目标 IP 地址。 - 设置
NETMASK或PREFIX(子网前缀,通常为 24)。 - 设置
GATEWAY为网关地址。 - 确保
ONBOOT设置为yes,保证开机自启。
- 将
- 重启网络服务:执行
systemctl restart network(CentOS 7)或nmcli connection reload&&nmcli connection up ens33(CentOS 8/RHEL 8)使配置生效。
Ubuntu 18.04+ 及 Debian 系统配置
现代 Ubuntu 版本默认使用 Netplan 进行网络管理,配置文件以 YAML 格式存放在 /etc/netplan/ 目录下。
- 定位配置文件:通常文件名为
00-installer-config.yaml。 - 编辑 YAML 文件:使用编辑器打开,注意 YAML 严格的缩进格式。
- 将
dhcp4设置为no。 - 在
addresses字段下填入 IP 地址及子网掩码(如168.1.150/24)。 - 在
gateway4字段下填入网关地址。 - 在
nameservers下的addresses字段填入 DNS IP。
- 将
- 应用配置:保存后执行
sudo netplan apply,配置即刻生效,无需重启。
常见故障与深度排查
修改 IP 后出现网络不通是常见问题,需遵循由底层到高层的排查逻辑。
检查 MAC 地址绑定,在部分企业环境中,服务器或 DHCP 服务可能绑定了原 MAC 地址,若虚拟机更换了网卡或 MAC 地址,可能导致无法获取 IP 或被网络设备拦截,此时需在虚拟机设置中恢复原 MAC 地址。

验证 路由表,在 Linux 中使用 route -n 或 ip route 查看默认路由是否指向正确的网关,如果存在多条默认路由,可能会导致网络不可达,需删除错误路由。
排查 防火墙与 SELinux,修改 IP 后,若服务无法访问,往往是防火墙规则未更新,Firewalld 可能仍基于旧网段配置信任规则,需使用 firewall-cmd 更新源地址或网段规则,并执行 firewall-cmd --reload。
相关问答
Q1:在 VMware 中修改虚拟机 IP 后,为什么 ping 不通物理主机?
A1:这通常是因为网络模式配置错误或防火墙拦截,首先检查 VMware 的网络适配器模式是否为“桥接”,如果是桥接模式,物理主机的防火墙可能禁用了 ICMP 回显请求(Ping),建议暂时关闭物理主机防火墙进行测试,或在防火墙入站规则中允许“文件和打印机共享”相关的 ICMP 协议,确保虚拟机和物理主机处于同一网段且 IP 未冲突。
Q2:Linux 虚拟机重启后 IP 地址自动还原,如何彻底解决?
A2:这是因为网络管理工具(如 NetworkManager 或 dhclient)仍在使用 DHCP 自动获取 IP,覆盖了手动配置,解决方法是彻底禁用 DHCP 服务,在 CentOS 中,确保配置文件中 BOOTPROTO=static 并重启 NetworkManager 服务 (systemctl restart NetworkManager),在 Ubuntu 中,确保 Netplan 配置文件中 dhcp4: no,如果使用 nmcli,需执行 nmcli con mod <连接名> ipv4.method manual 来锁定为手动模式。
能帮助您顺利完成虚拟机 IP 的修改,如果您在操作过程中遇到特定发行版的报错信息,欢迎在评论区留言,我们将为您提供针对性的排查建议。

















