【问题解决】| 【黑马点评】 | 虚拟机IP总是变动,如何修改成固定IP
问题描述在使用 VMware 运行 CentOS 虚拟机时默认网络配置为 DHCP动态主机配置协议每次重启虚拟机或经过一段时间后IP 地址可能会发生变化。这种动态 IP 给日常开发带来诸多不便通过 SSH 连接虚拟机时需要频繁修改客户端的连接配置。使用 Redis 图形化工具如 Another Redis Desktop Manager、Redis Insight 等连接虚拟机中的 Redis 服务时每次 IP 变动都需要重新配置连接信息。其他依赖固定 IP 的服务或脚本也会因此失效。本文以 CentOS 7为例讲述如何将虚拟机的 IP 地址修改为静态 IP从而解决 IP 变动问题。解决步骤第一步查看当前网络信息首先登录虚拟机使用以下命令查看当前的网络配置ip addr show找到“2:ens33”输出大概如下2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:25:ca:13 brd ff:ff:ff:ff:ff:ff inet 192.168.255.128/24 brd 192.168.255.255 scope global dynamic ens33 valid_lft 1789sec preferred_lft 1789sec可以看到当前 IP 为192.168.255.128/24且是动态获取的dynamic。接着查看网关信息ip route输出示例default via 192.168.255.2 dev ens33 192.168.255.0/24 dev ens33 proto kernel scope link src 192.168.255.128可以看到我的虚拟机默认网关为192.168.255.2子网为192.168.255.0/24子网掩码255.255.255.0。第二步确定可用的静态 IP 地址为了避免与 DHCP 自动分配的 IP 冲突我们需要选择一个不在 DHCP 地址池范围内的 IP。打开 VMware点击菜单编辑→虚拟网络编辑器。选中VMnet8NAT 模式然后点击DHCP 设置查看地址池范围。从截图可知该网络的 DHCP 分配范围为192.168.255.128到192.168.255.254。因此我们可以选用192.168.255.1到192.168.255.127之间的任意一个未被占用的 IP。推荐使用192.168.255.100既好记又安全。第三步修改网卡配置文件在 CentOS 中网卡配置文件位于/etc/sysconfig/network-scripts/ifcfg-ens33ens33是网卡名称可能因系统而异。使用 vi 或其他编辑器编辑该文件也可以直接打开该文件修改sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33原始文件内容大致如下TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOdhcp # 需要修改 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes IPV6_DEFROUTEyes IPV6_FAILURE_FATALno IPV6_ADDR_GEN_MODEstable-privacy NAMEens33 UUIDbaa92013-ab6d-462d-a9ef-01b58e503b76 # 请保留你自己的 UUID DEVICEens33 ONBOOTyes将BOOTPROTOdhcp改为BOOTPROTOstatic并在文件末尾添加以下静态 IP 配置IPADDR192.168.255.100 NETMASK255.255.255.0 GATEWAY192.168.255.2 DNS1114.114.114.114 DNS2223.5.5.5IPADDR你选定的固定 IP。推荐192.168.255.100但是其实只要在DHCP范围之外其实都可以。NETMASK子网掩码与之前查到的一致。GATEWAY网关地址通过ip route已确认。注意这里需要替换成你自己的网关地址在前面查过。DNS1/DNS2推荐使用国内公共 DNS确保域名解析稳定。修改后的完整文件示例如下请根据你自己的实际情况调整TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes IPV6_DEFROUTEyes IPV6_FAILURE_FATALno IPV6_ADDR_GEN_MODEstable-privacy NAMEens33 UUIDbaa92013-ab6d-462d-a9ef-01b58e503b76 DEVICEens33 ONBOOTyes IPADDR192.168.255.100 NETMASK255.255.255.0 GATEWAY192.168.255.2 DNS1114.114.114.114 DNS2223.5.5.5保存并退出vi 中按ESC输入:wq回车。第四步重启网络服务并验证重启网络服务使配置生效sudo systemctl restart network如果你用ssh的是进行操作运行完这个命令之后当前的ssh连接就失效了因为虚拟机ip地址变成刚刚设置的那个了如果系统提示network服务不存在可能是使用了 NetworkManager请执行sudo systemctl restart NetworkManager重启后使用ip addr show ens33验证 IP 是否已更改为静态ip addr show ens33预期输出中应包含inet 192.168.255.100/24 brd 192.168.255.255 scope global ens33第五步测试网络连通性确保虚拟机可以正常访问外网和进行域名解析ping -c 4 8.8.8.8 # 测试外网 IP 连通性 ping -c 4 www.baidu.com # 测试 DNS 解析如果都通说明静态 IP 配置成功。总结通过以上步骤我们成功将 VMware 中 CentOS 虚拟机的 IP 地址固定为192.168.255.100。从此SSH 连接、Redis 图形化工具以及其他依赖固定 IP 的服务都可以稳定使用该地址不用再频繁修改配置了注意事项确保所选的静态 IP 不在 VMware DHCP 地址池范围内以避免 IP 冲突。配置文件中的UUID字段务必保留原值不要随意更改。如果之后在 VMware 中重置了虚拟网络设置如还原默认配置网关和子网可能会变化需要相应调整虚拟机内的静态 IP 配置。希望这篇博客能帮助到遇到同样问题的友友们欢迎留言交流。

相关新闻

基于springboot中小学数字化教学资源管理平台(源码+文档+调试+讲解)

基于springboot中小学数字化教学资源管理平台(源码+文档+调试+讲解)

前言 中小学数字化教学资源管理平台是一个综合性数字化教学资源在线管理平台,旨在为学生、教师和教务管理人员提供便捷的教学资源和信息交流服务。该平台涵盖了学生学习进度跟踪、教师课件上传与分享、班级信息整合以及丰富多样的教学资源库,包括视频、文…

2026/7/4 6:54:00 阅读更多 →
如何通过Maven项目定义一个starter

如何通过Maven项目定义一个starter

一. ConditionalOnClass注解ConditionalOnClass(name "com.mysql.cj.jdbc.Driver") ConditionalOnClass 不仅可以标注在类上,也可以标注在方法上。 标注在类上时表示整个配置类只有在指定类存在时才会生效;标注在方法上时表示只有满足条件时该…

2026/7/4 7:40:37 阅读更多 →
零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案

零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案

零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji 在数字化沟通中,表情符号已成为不可或缺的视觉语言。然而,不同平台…

2026/5/17 0:32:03 阅读更多 →

最新新闻

杭州创始人IP打造运营如何进行?

杭州创始人IP打造运营如何进行?

在杭州进行创始人IP打造运营,需要遵循一个系统化的方法来确保成功。以下是围绕商业IP打造的几个关键步骤,以及如何结合杭州良策文化传媒有限公司(以下简称“良策文化”)的专业服务来进行:1. 明确目标与定位核心结论&am…

2026/7/4 19:45:35 阅读更多 →
JVM是什么?

JVM是什么?

JVM是什么?JVM,即Java Virtual Machine,即Java虚拟机。虚拟机是什么?模拟出一台和真实物理电脑行为几乎一样的虚拟电脑的软件。(JVM是进程虚拟机,不模拟硬件,只模拟一套自定义虚拟指令集&#x…

2026/7/4 19:43:35 阅读更多 →
Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践

Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践

Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 你是否曾为安装Linux系统而烦恼?传统命令行制作启动盘的方式复杂且容易出错&…

2026/7/4 19:43:35 阅读更多 →
Transformers.js:重新定义浏览器端AI开发的颠覆性框架

Transformers.js:重新定义浏览器端AI开发的颠覆性框架

Transformers.js:重新定义浏览器端AI开发的颠覆性框架 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https://gitcode.com…

2026/7/4 19:41:34 阅读更多 →
Codex 用户集体暴怒!Token疯狂蒸发的 5 个原因终于找到了

Codex 用户集体暴怒!Token疯狂蒸发的 5 个原因终于找到了

最近不少朋友都有一个感受,就是codex怎么消耗变快了。之前是100刀的Pro会员随便用,根本用不完(额度那个时候有翻倍)。后续发现100刀的Pro开始不够用了,甚至到最后200刀的刀Pro也开始不够用了。就在2026 年 6 月底&…

2026/7/4 19:41:34 阅读更多 →
Python简史

Python简史

Python是我喜欢的语言,简洁,优美,容易使用。前两天,我很激昂的向朋友宣传Python的好处。 听过之后,朋友问我:好吧,我承认Python不错,但它为什么叫Python呢? 我不是很确…

2026/7/4 19:39:34 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻