在rhel/centos中用nmcli非交互式配置静态ip,需先确认networkmanager管理的连接名(如"system eth0"),再执行nmcli con mod "连接名" ipv4.method manual ipv4.addresses ip/前缀 ipv4.gateway 网关 ipv4.dns dns,最后nmcli con down/up激活并验证。

在RHEL/CentOS系统中,用nmcli非交互式配置静态IP地址和子网掩码,核心是明确指定连接名(而非仅设备名)、设置ipv4.method manual,并一次性写入完整IPv4参数。操作不依赖图形界面或菜单提示,适合脚本部署或远程批量配置。
确认目标连接名称与接口状态
不能只看ip addr显示的设备名(如ens33),而要查NetworkManager管理的“连接”名称,它可能和设备名不同(例如叫"Wired connection 1"):
- 运行
nmcli con show查看所有连接列表,重点关注NAME列和DEVICE列对应关系 - 运行
nmcli device status确认目标设备处于connected状态 - 若连接名含空格,后续命令中需用英文引号包裹,例如
"Wired connection 1"
执行单条命令完成静态IP配置
使用nmcli con mod一次性修改关键参数,避免分步执行导致中间状态异常:
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
-
ipv4.addresses填写IP/前缀长度(如192.168.1.100/24),不是点分十进制子网掩码;前缀长度必须匹配实际网络规划 -
ipv4.method manual是强制开关,缺省为auto(DHCP),不设此项则配置无效 -
ipv4.gateway和ipv4.dns可选,但建议一并设置,避免后续连通性问题 - 示例命令(假设连接名为
System eth0):nmcli con mod "System eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,114.114.114.114"
激活配置并验证生效
修改后必须显式重启连接,否则新配置不加载:
- 先执行
nmcli con down "连接名"(可选,尤其远程操作时建议加此步防止配置未生效就断连) - 再执行
nmcli con up "连接名"激活新配置 - 验证:
—ip addr show dev看是否显示你设定的inet地址且无dynamic标记
—ip route | grep default确认默认路由指向设定的网关
—cat /etc/resolv.conf检查DNS是否已更新
注意事项与常见陷阱
非交互式配置容易因细节疏漏失败,需特别注意:
- NetworkManager服务必须运行:
systemctl is-active NetworkManager返回active才可操作 - 不要混用
ifconfig或ip addr add临时添加IP,这不会持久化,且可能与nmcli冲突 - 若原连接是DHCP模式,修改后务必设
connection.autoconnect yes,否则重启后可能回退到DHCP - 子网掩码错误会导致路由异常——/24对应255.255.255.0,/16对应255.255.0.0,务必与局域网规划一致










