必须先确认连接名、设备状态和ipv4.method模式,再用nmcli modify+up或编辑ifcfg-文件并reload,否则重启失效;连接名不可用设备名替代,down操作是修改前提。

要在Linux中修改NetworkManager网络管理器配置,必须先确认当前连接名称、设备类型和配置模式,再通过nmcli或配置文件进行持久化调整,否则重启后设置会丢失。
确认当前网络状态和连接名
执行 nmcli connection show 列出所有已保存的连接,注意 NAME 列内容(如 "System eth0" 或 "Wired connection 1")——这是后续所有操作的唯一标识符,【不能用设备名如 eth0 直接代替连接名】。
运行 nmcli device status 查看设备是否处于 connected 状态,若显示 disconnected,说明当前无活动连接,后续 up 操作可能失败。
用 nmcli connection show "连接名" 查看该连接的详细参数,重点核对 ipv4.method 是 auto(DHCP)还是 manual(静态),这决定了你接下来该用哪种修改路径。
方法一:用nmcli命令直接修改连接参数
第一步:关闭当前连接,避免参数冲突
执行 nmcli connection down "连接名",这一步必须做,否则部分参数(如 gateway、dns)可能不生效。
第二步:设置IPv4获取方式为静态nmcli connection modify "连接名" ipv4.method manual
第三步:写入IP地址、子网掩码、网关和DNSnmcli connection modify "连接名" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "114.114.114.114 8.8.8.8"
注意 /24 表示子网掩码 255.255.255.0,必须与实际网络一致;如果填错,会导致无法通信。
第四步:重新激活连接nmcli connection up "连接名"
这一步会立即应用新配置并触发路由重载,不需要重启服务。
方法二:编辑NetworkManager配置文件(RHEL/CentOS 7-8适用)
进入配置目录:cd /etc/sysconfig/network-scripts/
用 vim 打开对应连接的 ifcfg- 文件,例如:vim ifcfg-"连接名"(实际文件名通常为 ifcfg-ens33 或 ifcfg-System\ eth0,空格需用反斜杠转义)
修改关键字段:
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
保存退出后,执行 nmcli connection reload —— 这一步必须做,否则 NetworkManager 不会读取新文件内容。
方法三:切换回DHCP自动获取(快速还原)
方法一的逆向操作:nmcli connection modify "连接名" ipv4.method auto
清空静态地址相关字段:nmcli connection modify "连接名" -ipv4.addresses -ipv4.gateway -ipv4.dns
重启连接:nmcli connection down "连接名" && nmcli connection up "连接名"


















