虚拟机重启后IP地址不一定会变,但多数情况下会变,取决于网络模式与DHCP分配机制;要固定IP,最可靠的方式是手动配置静态IP,或通过DHCP为MAC地址绑定固定租约。
为什么重启后IP变了:聊聊DHCP这个“分配员”
虚拟机网络出问题,十次有九次和IP变动有关,要搞清楚IP为什么变,首先得认识DHCP(动态主机配置协议),你可以把它理解成网络中的“分配员”,负责给设备发IP。
DHCP的分配逻辑:先到先得,过期重来
默认情况下,虚拟机网卡设置为“自动获取IP地址”,每次启动,虚拟机的网卡就像住酒店一样,向DHCP服务器(虚拟网络交换机)发出申请,DHCP从一个地址池里挑一个IP“借”给你,同时设定一个租期。
行业共识认为,虚拟机的网卡MAC地址和IP的租约是绑定的,但在实际使用中,VMware Workstation、VirtualBox这类桌面级虚拟机软件,它们的虚拟NAT或Host-Only网络默认租期设置较短,甚至每次重启网络服务,虚拟交换机都会重新分配,这就导致你今天启动是192.168.x.101,重启后变成了192.168.x.105。
影响IP稳定性的三个关键因素
下面三种情况最容易引发IP变动:
- 租约到期未续约:虚拟机长时间关机后重启,DHCP服务器发现租约已超时,会优先将IP分配给其他设备。
- MAC地址变化:部分虚拟机模板克隆或迁移后,网卡MAC被重新生成,DHCP会把它当作新设备。
- 网络模式限制:NAT模式和仅主机模式使用虚拟交换机内置的DHCP,一旦虚拟网络重置,地址池索引会变化。
虚拟机固定IP地址方法:从入门到不动如山
固定IP这事儿,本质上就是跟DHCP“抢生意”,你手动指定一个没人用的地址,告诉网卡别再听DHCP瞎指挥。
在虚拟机系统内配置静态IP(最通用)
不管底层是VMware还是Hyper-V,进了Windows系统操作逻辑差不多,这里以Windows Server和Windows 10/11为例,给出具体路径。
图形界面操作步骤
- 右键点击任务栏网络图标,打开“网络和Internet设置”。
- 点击“更改适配器选项”,找到当前使用的网卡(通常叫“以太网”或“Ethernet0”)。
- 右键网卡,点击“属性”,双击“Internet协议版本4(TCP/IPv4)”。
- 选择“使用下面的IP地址”,填入你规划的IP、子网掩码(通常为255.255.255.0)和网关(通常是虚拟交换机的网段,比如192.168.x.2)。
- DNS可以填114.114.114.114或223.5.5.5,确保上外网时域名解析正常。
这个方法的优点是直观,五分钟搞定;缺点是换了网络环境(比如从家里拷贝到公司),IP可能冲突。
命令行快速配置(适合批量操作)
如果你手头有多台虚拟机,比如运维场景,推荐用管理员身份打开PowerShell,输入以下命令:
netsh interface ip set address name="以太网" static 192.168.1.180 255.255.255.0 192.168.1.1
这句命令的意思是:把名为“以太网”的网卡配置为固定IP(192.168.1.180),子网掩码(255.255.255.0),网关(192.168.1.1),执行完毕后,重启网络生效,IP就焊死在系统里了。
在虚拟交换机上绑定MAC与IP(防克隆变更)
手动在系统内配IP有个风险:如果虚拟机被复制、迁移或快照回滚,网卡MAC地址容易漂移,系统里的IP绑定了老MAC,新MAC一上岗,配置就失效,更稳妥的方案是去虚拟网络编辑器里把“身份证”(MAC地址)和“门牌号”(IP地址)强制绑定。
以VMware Workstation为例,路径如下:
- 打开“编辑”菜单,选择“虚拟网络编辑器”。
- 选中VMnet8(NAT模式)或VMnet1(仅主机模式),点击“DHCP设置”。
- 在DHCP设置窗口中,点击“添加”,输入虚拟机的MAC地址(在虚拟机设置-网络适配器-高级里查看)和想要固定的IP地址。
- 保存并重启虚拟机。
这么做的好处是,就算你重装虚拟机系统,只要MAC不变,IP还是你的,坏处是:需要在虚拟机硬件层面额外操作,稍微有点技术门槛。
虚拟机桥接模式IP设置:让虚拟机真正融入局域网
上面聊的多是NAT模式,不少朋友会发现,NAT模式下虚拟机虽然能上网,但外面的设备访问不到它,这时候就需要换成桥接模式,关于虚拟机桥接模式IP设置,有个容易踩的坑,值得单独说说。
桥接模式与NAT模式的本质区别
- NAT模式:虚拟机躲在宿主机后面,宿主机当“翻译官”,局域网内其他设备看虚拟机,看到的其实是宿主机的IP。
- 桥接模式:虚拟机像是“插了根网线”到你的路由器上,IP必须在路由器同一网段,比如路由器是192.168.0.1,虚拟机就必须配192.168.0.x。
桥接模式下固定IP的操作要点
桥接模式下,绑定IP最容易翻车的地方是DNS和网关填错,很多朋友把宽带拨号上网的公网IP地址填进去,导致网卡显示已连接但无法上网,桥接模式下,网关必须是路由器的管理IP(通常是192.168.0.1或192.168.1.1),DNS可以填运营商的,也可以填公共DNS。
- 在虚拟网络编辑器中,将VMnet0设置为桥接模式,桥接到你的真实物理网卡(无线网卡选WLAN,有线选以太网)。
- 开启虚拟机,进入系统配置静态IP,前三段必须跟宿主机一致,最后一位选个空闲地址(比如宿主机是192.168.0.100,虚拟机可以设192.168.0.101)。
- 用命令行ping一下网关(ping 192.168.0.1),通则配置成功,不通则检查物理网络防火墙。
为什么云服务器IP不变:底层逻辑的差异
聊完本地虚拟机,顺便回答一个高频疑问:租的云服务器,比如简米云、酷番云的ECS,重启后IP为啥一直不变?有的朋友会觉得买云服务器就像租了台身边虚拟机,其实差别很大。
本地虚拟机的网络由你电脑上的虚拟交换机组管理,而云服务商的IP分配有三层架构:
- 控制台层面:你在云服务商控制台购买时,系统会分配一个固定的公网IP,并绑定到实例的弹性网卡上,这个绑定关系写入后端数据库,除非你手动解绑,否则重启不会变更。
- 底层网络层面:云厂商用SDN(软件定义网络)控制器管理虚拟网络,IP和MAC的绑定关系是持久化的,不依赖DHCP租约。
- 价格与套餐差异:云服务器IP是否固定,跟价格无关,跟套餐类型有关,按量付费和包年包月的主IPv4地址默认都是固定的,带宽调整不影响IP。
Q&A:虚拟机重启IP相关的三个高频问题
虚拟机重启后IP地址会变吗?怎么快速确认变没变?
先回答:绝大多数会变,除非你主动设置过静态IP或DHCP地址绑定,确认方法很简单:在虚拟机里按Win+R,输入cmd打开命令行,输入ipconfig查看当前IPv4地址,重启前记下旧IP,重启后再执行一次ipconfig,对比即可,如果发现IP变了,应用连不上数据库,多半就是网卡走了自动DHCP。
虚拟机固定IP地址方法中,图形界面和命令行哪个更靠谱?
图形界面适合单台操作,所见即所得,不容易把掩码和网关填错;命令行适合批量管理多台机器,通过脚本可以一次性下发配置,减少重复劳动,从靠谱角度讲,两者原理一致,关键是配置前先确认虚拟网络的网段,比如VMware默认NAT网段是192.168.x.0,如果你填了其他网段的IP,即使状态显示正常,也上不了网。
虚拟机迁移到另一台电脑后,IP设置会失效吗?
这得看迁移方式,如果是用OVA模板或导出导入功能迁移,虚拟机的MAC地址可能会重新生成,导致原先绑定的静态IP失效,如果你在虚拟网络编辑器里绑定了MAC和IP,迁移后需要在宿主机上同步更新绑定关系,比较省心的做法是迁移后在系统内重新执行一次静态IP配置。
让IP稳如泰山
Virtualization的世界里,IP变动是常态,固定是例外,判断自己该用哪种固定方式,只需要记住一条原则:在系统内配静态IP是“治标”,在虚拟网络层绑定MAC和IP是“治本”,重新审视你的网络模式,如果你的虚拟机单纯桥接到家里路由器上网,那就直接配固定地址;如果你在公司复杂网络环境里玩实验,绑定MAC会更稳妥,把握住网关、掩码、DNS这三个要素,你的虚拟机IP就能彻底“安定下来”。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/625315.html




