在Red Hat Enterprise Linux(RHEL)系统中,网络配置是保障服务器稳定运行的基础,针对RHEL 7、8及9等主流版本,配置IP地址最核心且推荐的方法是使用NetworkManager提供的nmcli命令行工具,相较于传统的修改网卡配置文件或使用setup工具,nmcli不仅符合RHEL后续版本的发展趋势,还能确保配置的持久性和与图形化界面的一致性,同时支持脚本化自动化管理,掌握nmcli配置静态IP与DHCP,是运维人员必须具备的核心技能。

配置前的准备工作与现状核查
在进行任何IP变更之前,首要任务是确认当前的网络状态和网卡名称,RHEL系统不再沿用传统的eth0命名规则,而是采用“一致性网络设备命名”,如ens33、enp0s3等。
使用ip addr或nmcli device status命令可以快速查看当前网络接口,此时需要重点关注两个信息:一是网卡设备的名称(例如ens33),二是当前的连接名称(通常与网卡名称相同,但也可能不同),确认这些信息是后续操作准确无误的前提,作为专业运维,建议在操作前先备份现有的网络配置文件,以防配置错误导致无法远程连接。
使用nmcli配置静态IP地址(推荐方案)
静态IP是服务器部署的标准配置,适用于Web服务器、数据库及文件服务器等需要固定访问地址的场景,使用nmcli修改IP地址主要分为修改参数和激活连接两步。
使用以下命令配置IPv4地址、子网掩码、网关和DNS,假设网卡名称为ens33,目标IP为192.168.1.100,子网掩码为24(即255.255.255.0),网关为192.168.1.1。
nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 nmcli connection modify ens33 ipv4.gateway 192.168.1.1 nmcli connection modify ens33 ipv4.dns 8.8.8.8 nmcli connection modify ens33 ipv4.method manual
上述命令中,ipv4.method manual是关键配置,它明确指定了连接方式为手动静态配置,而非自动获取,如果DNS配置有多个,可以使用空格隔开,配置完成后,必须执行nmcli connection up ens33命令来重启该网卡连接,使配置立即生效,再次使用ip addr查看,即可看到IP已更新。
使用nmcli配置DHCP自动获取IP
对于测试环境或作为客户端的终端设备,使用DHCP自动获取IP可以极大简化管理,配置DHCP的核心在于将ipv4.method设置为auto。

nmcli connection modify ens33 ipv4.method auto nmcli connection up ens33
执行上述命令后,系统会向DHCP服务器发送请求,自动获取IP地址、网关和DNS信息。值得注意的是,在切换模式时,建议先删除之前手动配置的静态IP记录(使用nmcli connection modify ens33 ipv4.addresses “”),以免在某些旧版本的NetworkManager中造成地址冲突或路由混乱。
传统配置文件修改法(底层原理理解)
虽然nmcli是主流,但理解底层的配置文件有助于进行故障排查,RHEL的网络配置文件存放在/etc/sysconfig/network-scripts/目录下,文件名为ifcfg-<连接名称>。
在该文件中,BOOTPROTO参数决定了获取IP的方式(static为静态,dhcp为动态),ONBOOT参数决定了开机是否激活该网卡(必须设置为yes),配置静态IP时,需手动添加IPADDR、PREFIX(或NETMASK)、GATEWAY和DNS1等参数,修改完文件后,需要执行nmcli connection reload来加载新配置,再执行up命令激活,这种方法虽然直观,但在RHEL 8/9中,直接编辑文件容易因为语法错误或权限问题导致NetworkManager无法读取配置,因此仅建议在nmcli无法生效的特殊排错场景下使用。
酷番云云服务器实战经验案例
在云环境下配置IP时,情况往往比物理机复杂,以酷番云的云服务器为例,我们在帮助客户部署高可用集群时,发现直接在系统内修改IP有时会导致云平台控制面板显示的IP与系统内部不一致,进而引发监控告警。
独家解决方案: 在酷番云的云主机环境中,主网卡通常通过DHCP由云平台的DHCP服务器分配私有IP,而公网IP则是通过NAT或弹性公网IP(EIP)绑定的。在酷番云实例内部配置静态IP时,建议不要随意更改主网卡的私有IP,以免与云平台底层路由表冲突,如果需要配置多个IP(例如用于多站点部署),应优先在酷番云控制台申请辅助私网IP,然后进入系统使用nmcli配置该辅助IP。
在系统中添加辅助IP的命令为:nmcli connection modify ens33 +ipv4.addresses 192.168.1.200/24
使用“+”号进行追加,而不是覆盖原有配置,这种结合云平台管理控制台与系统级命令行的混合操作模式,是保障云端业务连续性的最佳实践。

验证与故障排查
配置完成后,验证是必不可少的环节。
- 本地验证: 使用ip addr show确认IP已正确绑定。
- 连通性测试: 使用ping -c 4 8.8.8.8测试网络连通性,如果ping不通,先检查网关是否正确(ip route)。
- DNS解析测试: 使用ping www.baidu.com测试DNS解析,如果IP通但域名不通,通常是DNS配置问题,需检查/etc/resolv.conf文件。
常见故障点: 如果配置后网络不通,最常见的原因是NetworkManager的连接名称与设备名称不匹配,使用nmcli connection show列出所有连接,找出对应的UUID或名称,确保修改的是正确的连接对象,另一个常见原因是防火墙或SELinux阻止了流量,但在纯IP配置阶段,应优先排查路由和地址配置。
相关问答
Q1:在RHEL中使用nmcli配置完静态IP后,重启服务器IP地址变回原样或丢失了怎么办?
A1: 这种情况通常是因为配置没有正确保存或连接配置文件被覆盖,检查/etc/sysconfig/network-scripts/ifcfg-<name>文件中的BOOTPROTO是否确认为static或none,且ONBOOT为yes,确认是否使用了nmcli connection up命令激活了连接,如果问题依旧,可能是系统中存在多个连接配置文件冲突,建议使用nmcli connection delete <旧连接名>删除多余的连接,只保留一个主连接配置。
Q2:如何在不重启网卡的情况下,临时添加一个IP地址用于测试?
A2: 如果只是临时测试,不需要永久保存,可以使用ip命令直接操作内核网络栈,执行ip addr add 192.168.1.50/24 dev ens33即可立即生效,这种方式修改的IP在重启或NetworkManager重启后会失效,非常适合用于紧急维护或在不中断服务的情况下进行地址漂移测试。
通过以上流程与实战经验的结合,您可以高效、专业地在RHEL系统中完成IP地址的配置与管理,如果您在配置过程中遇到更复杂的网络环境问题,欢迎在下方留言讨论,分享您的配置心得或遇到的难题。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/321946.html


评论列表(5条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于使用的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是使用部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于使用的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
读了这篇文章,我深有感触。作者对使用的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是使用部分,给了我很多新的思路。感谢分享这么好的内容!