linux网络配置可直接用nmcli命令行或nmtui文本界面完成,无需手动编辑ifcfg/netplan文件,配置自动持久化;nmcli适合脚本批量操作与调试,nmtui适合新手交互配置,二者均依赖正常运行的networkmanager服务。

Linux 网络配置不必依赖手动改 ifcfg 或 netplan 文件。用 nmcli(命令行)和 nmtui(文本图形界面)就能完成绝大多数日常操作,且配置自动持久化、重启不失效。
nmcli:高效精准的命令行管理
nmcli 是 NetworkManager 的核心 CLI 工具,适合脚本、远程批量操作和快速调试。
-
查看设备与连接状态:运行
nmcli device查网卡是否受管(状态为 connected 或 disconnected,非 unmanaged);用nmcli connection列出所有已定义的连接(NAME 列即连接名,DEVICE 列对应物理网卡) -
创建静态 IP 连接:例如为网卡 ens160 配置
192.168.121.123/24,网关192.168.121.1,DNS121.5.5.5:nmcli connection add type ethernet con-name mynet ifname ens160 ipv4.method manual ipv4.addr 192.168.121.123/24 ipv4.gateway 192.168.121.1 ipv4.dns "121.5.5.5" ipv4.ignore-auto-routes yes -
启用/禁用连接:启用刚建的连接:
nmcli connection up mynet;停用当前连接:nmcli connection down mynet -
修改已有连接:比如把动态获取改成静态,先查原名(
nmcli connection),再执行:nmcli connection modify mynet ipv4.method manual ipv4.addr 192.168.121.123/24 ipv4.gateway 192.168.121.1 ipv4.dns "121.5.5.5"
修改后需重载并重启连接:nmcli connection reload && nmcli connection down mynet && nmcli connection up mynet
nmtui:新手友好、所见即所得的交互配置
nmtui 提供类图形菜单,无需记忆命令,适合不熟悉 CLI 的用户或临时调试。
- 运行
nmtui后,选「Edit a connection」→ 选择目标网卡(如 ens160)→ 若无则点「Add」新建 - 进入编辑页后:
— IPv4 CONFIGURATION 选 Manual(固定 IP)
— 填写 Address(如192.168.121.123/24)、Gateway(如192.168.121.1)、DNS servers(如121.5.5.5)
— 勾选 Automatically connect(开机自启)和 Available to all users(所有账号可用) - 保存退出后,回到主菜单选「Activate a connection」→ 找到该连接 → 按回车「Activate」使其立即生效
关键注意事项
配置生效的前提是 NetworkManager 正常接管网络。部分系统(如某些 Ubuntu 版本或精简镜像)默认未启用它,或仍由 netplan/ifupdown 控制。
- 确认 NetworkManager 是否运行:
systemctl is-active NetworkManager,若非active,需启用:sudo systemctl enable --now NetworkManager - 若系统使用 netplan,需确保其 YAML 中未禁用 NM,或在
/etc/netplan/*.yaml里添加:renderer: NetworkManager - 所有通过 nmcli/nmtui 创建或修改的连接,配置文件自动存于
/etc/NetworkManager/system-connections/,无需手动维护 - 删除多余连接可清理干扰,例如:
nmcli connection delete ens224(配合nmcli device先确认该设备未使用)
何时选哪个?
nmtui 更适合单次配置、教学演示或终端受限环境;nmcli 更适合自动化部署、远程批量处理、CI/CD 集成及故障排查。两者底层共用 NetworkManager,行为一致,可混用——用 nmtui 建连接后,nmcli 可立即查看、修改、删除它,反之亦然。











