用 nmcli 配置静态 IP
适用:CentOS Stream 9 / 10(NM 1.58 实测)· 核对日:2026-11-02 · 官方依据:nmcli(1) 与 NetworkManager 文档;本页流程在 Stream 10 实机全流程实测。
Stream 的网络归 NetworkManager 管:一块网卡对应一个连接档案(connection profile),改地址、网关、DNS 都是改档案,再用 nmcli con up 应用。本页命令全部在实机验证过,包括远程操作不断连的副地址技巧。
- 能登录机器(SSH 或控制台),知道当前连接档案名;
- 回退点:先抄下当前配置(下一步第一条命令的输出)——改坏了按原值改回去即可;
- 远程操作铁律:主地址不动,用副地址试新配置。
-
看清现状:
设备与连接档案 $ nmcli device status$ nmcli -f GENERAL,IPV4 con show ens18预期输出(实测摘录,装机时已配静态 IP 的机器):
ens18 ethernet connected ens18ipv4.method: manualipv4.addresses: 192.168.2.240/24ipv4.gateway: 192.168.2.2GENERAL.STATE: activated设备名
ens18来自一致性命名(en=以太网 + s=槽位 + 编号),Virtio 网卡在实测虚拟机上就是它——不要凭习惯写 eth0。 -
加一个副地址试配置(远程操作的安全做法):
追加副地址并应用 $ sudo nmcli con mod ens18 +ipv4.addresses 192.168.2.241/24$ sudo nmcli con up ens18$ ip -br addr show ens18预期输出(实测摘录):
Connection successfully activated (D-Bus active path: ...)ens18 UP 192.168.2.240/24 192.168.2.241/24 fe80::...+是追加、-是移除、不带符号是整体替换(替换会踢掉旧地址——远程慎用)。 -
改成正式的静态配置(确认副地址可用后再动主配置):
设置地址/网关/DNS 并应用 $ sudo nmcli con mod ens18 \ipv4.method manual \ipv4.addresses 192.168.2.240/24 \ipv4.gateway 192.168.2.2 \ipv4.dns 192.168.2.2$ sudo nmcli con up ens18con mod只写档案、不碰设备;con up才应用。两步之间出问题,机器还是旧配置——这是回退窗口。 -
验证:
核对生效配置 $ ip -br addr show ens18$ nmcli -f IPV4 con show ens18 | grep -E "method|addresses|gateway"
$ sudo nmcli con mod ens18 ipv4.addresses <原地址/掩码> ipv4.gateway <原网关> ipv4.dns <原DNS>$ sudo nmcli con up ens18副地址方案下回滚更简单:-ipv4.addresses <副地址/掩码> 移除即回到原状(实测摘录见步骤 2)。
| 现象 | 原因 | 处理 |
|---|---|---|
nmcli con up 后 SSH 断了 | 改了主地址 | 等新地址生效后连新地址;预防:先加副地址验证 |
| 改了配置没生效 | 只 con mod 没 con up | nmcli con up <连接名> |
| 找不到 ens18 | 网卡命名与想象不同 | nmcli device status 看实际名字 |
| DNS 不生效 | 忘了 ipv4.dns,或用了 ipv4.dns-search 代替 | nmcli -f IPV4 con show <名> 核对 |
- firewalld 起步 — 装完默认就在跑的防火墙
- 装完 10 分钟 — 本页在装机流程中的位置
- 运维基线 — 十分钟之后的系统性清单
- 官方:NetworkManager 文档