第一种方式:nmcli 命令管理 ens224(推荐,重点练)
目标:ens224 静态 IP
192.168.31.130/24,无网关
步骤 1:先删除现有的 ens224 连接(清空,从头实验)
nmcli connection delete ens224
执行完,ip a 看 ens224 的 IP 就消失了。
步骤 2:新建静态连接(重点命令,记住模板)
nmcli connection add type ethernet \
con-name ens224 \
ifname ens224 \
ipv4.method manual \
ipv4.addresses 192.168.31.130/24
type ethernet:以太网网卡con-name ens224:NM 连接档案名字(随便起,一般和网卡同名好记)ifname ens224:真实硬件网卡名,必须和ip a里一致ipv4.method manual:静态 IP(等价 BOOTPROTO=none)ipv4.addresses 192.168.31.130/24:IP + 前缀(前缀 24 = 掩码 255.255.255.0)
❌ 这里不写 ipv4.gateway!!
步骤 3:激活这个连接
nmcli connection up ens224
然后验证:
ip a
ping 192.168.31.128 # ping同网段ens160,测试通不通
拓展:修改 IP(不删除连接,直接改,以后工作常用)
比如想把 ens224 改成 192.168.31.131/24
nmcli connection modify ens224 ipv4.addresses 192.168.31.131/24
# 改完必须up重载生效
nmcli connection up ens224
ip a
modify= 修改已有连接;add= 新建;delete= 删除
拓展:给 ens224 加 DNS(可选)
nmcli connection modify ens224 ipv4.dns "223.5.5.5,114.114.114.114"
nmcli connection up ens224
配套启停命令
# 断开网卡(IP消失)
nmcli connection down ens224
# 重新激活
nmcli connection up ens224
一、nmcli connection(简写:nmcli c)一级子命令
这是 connection 后面第一个跟的动作:
表格
| 子命令 | 作用 |
|---|---|
show |
列出 / 查看连接配置,nmcli c show 看所有;nmcli c show "连接名" 看详情 |
add |
新建连接配置(就是你刚才用的) |
modify |
修改已有连接(简写 mod) |
edit |
交互式编辑连接 |
delete |
删除连接配置(简写 del) |
up |
激活连接,nmcli c up "con-name" |
down |
断开 / 停用连接,nmcli c down "con-name" |
reapply |
重新应用配置(改完配置不用 down 再 up,推荐) |
clone |
复制一份连接配置 |
import |
导入外部配置(如 ovpn) |
export |
导出连接配置 |
monitor |
实时监控连接状态变化 |
格式:
nmcli connection 子命令 [参数]
二、重点:nmcli connection add 后面可以跟的参数(你现在在用)
两种写法都支持:短参数 和 设置.属性 完整写法
✅ 基础通用参数(所有类型网卡都能用)
type 类型:ethernet / wifi / bond / vlan / bridge ...
con-name 连接配置名称(connection.id)
ifname 绑定的网卡设备名(connection.interface-name,你的 enx000c291190b6)
autoconnect yes/no 开机自动激活,默认yes
autoconnect-priority 自动连接优先级
✅ IPv4 静态 IP 最常用(你最需要)
ipv4.method auto(DHCP) / manual(静态) / disabled
ipv4.addresses IP/掩码,多个用逗号分隔:192.168.1.100/24
ipv4.gateway 默认网关
ipv4.dns DNS,多个空格隔开:223.5.5.5 114.114.114.114
ipv4.dns-search DNS搜索域
ipv4.never-default yes 不把这个网关作为默认路由(多网卡场景)
✅ IPv6 参数(顺带)
ipv6.method
ipv6.addresses
ipv6.gateway
ipv6.dns
✅ ethernet 以太网专属参数
ethernet.mac-address 绑定MAC地址
ethernet.duplex full/half 全双工半双工
ethernet.speed 速率,单位Mb
ethernet.auto-negotiation yes/no 自动协商
完整标准写法(和简写等价)
nmcli c add connection.type ethernet \
connection.id eth0-con \
connection.interface-name enx000c291190b6 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "223.5.5.5,114.114.114.114"
三、nmcli connection modify 修改命令格式(重要)
格式:
nmcli c modify 连接名 设置.属性 值
示例:
# 修改dns
nmcli c mod eth0-con ipv4.dns "223.5.5.5"
# 取消某个配置,前面加 -
nmcli c mod eth0-con -ipv4.gateway
四、快速查所有支持属性(本地手册)
man nmcli
# 或者看所有setting属性列表
man nm-settings-nmcli
或者:
nmcli connection show 连接名
输出里所有冒号左边的,全部都是合法 设置.属性
✅ 用 nmcli connection modify(不是手动改文件):不需要 nmcli connection reload! modify 内部直接写好 .nmconnection、自动维护权限,配置已经写到 NM 的连接配置里了。 reload 只用于手动 vim 改磁盘文件的场景,这个一定要分清Red Hat。
你的系统:RHEL10 / NM 1.58,支持
nmcli device reapply
方案 A(优先推荐,尽量不断网,适合改 IP / 网关 / DNS / 路由 / DNS)
# 先执行modify(持久写入配置文件)
sudo nmcli c mod ens224 ipv4.gateway 192.168.31.1 ipv4.dns "223.5.5.5"
# 增量应用,网卡链路不断
sudo nmcli device reapply ens224
⚠️ 限制:底层参数改不了,比如 MTU、vlan、bond、mac 地址、绑定网卡这类,reapply 不生效,必须走 down+upGNOME。
方案 B(兼容性万能方案,会短暂断网,所有参数都能生效)
sudo nmcli c mod ens224 ipv4.gateway 192.168.31.1 ipv4.dns "223.5.5.5"
sudo nmcli c down ens224
sudo nmcli c up ens224
区分对照表(你以后直接对照)
表格
| 修改方式 | 是否需要 nmcli c reload | 生效命令 |
|---|---|---|
nmcli c modify(现在这个方式) |
❌ 不需要 | nmcli dev reapply 网卡名 或者 down + up |
| vim 手动编辑 *.nmconnection 文件 | ✅ 必须执行 | reload 之后再 reapply /down+up |