linux下nmcli配置有线网络的核心是操作connection而非device,networkmanager将网卡硬件(device)与网络配置(connection)分离管理;四类场景包括:查看设备与连接状态、dhcp自动获取、静态ip配置、异常处理。

Linux 下用 nmcli 配置有线网络接口,核心是操作 连接(connection) 而非直接改设备(device)。NetworkManager 把“网卡硬件”和“网络配置”分开管理:device 是物理或虚拟网口(如 eth0、enp0s3),connection 是一套可保存、可切换、可自动激活的配置模板。
下面分四类常用场景说明,覆盖从基础连通到固定 IP 的完整流程:
查看当前有线设备与连接状态
先确认网卡是否被识别、是否受 NetworkManager 管理:
nmcli device # 列出所有设备,找状态为 "connected" 或 "disconnected" 的有线接口(如 enp0s3) nmcli connection # 查看已保存的连接,通常默认有类似 "Wired connection 1" 的条目 nmcli device show enp0s3 # 替换为你的实际网卡名,检查 GENERAL.STATE 和 IP4.ADDRESS[1]
若设备显示 unavailable,可能是网线未插、驱动异常或被 rfkill 屏蔽;显示 unmanaged,说明该设备未交由 NetworkManager 控制(需手动接管,见后文)。
自动获取 DHCP 地址(最简方式)
多数桌面或测试环境只需启用已有连接:
nmcli connection up "Wired connection 1" # 启用默认有线连接
如果连接不存在,可快速创建一个并自动启用:
nmcli connection add type ethernet con-name "office-net" ifname enp0s3 autoconnect yes nmcli connection up "office-net"
autoconnect yes 表示开机自动激活,ifname 必须填真实网卡名(可用 ip -br a 或 ls /sys/class/net/ 查看)。
配置静态 IP 地址与网关 DNS
适用于服务器、内网设备等需要固定地址的场景。假设目标:
- IP:
192.168.5.100/24 - 网关:
192.168.5.1 - DNS:
8.8.8.8,114.114.114.114
执行以下命令(以现有连接 "office-net" 为例):
nmcli connection modify "office-net" ipv4.method manual nmcli connection modify "office-net" ipv4.addresses 192.168.5.100/24 nmcli connection modify "office-net" ipv4.gateway 192.168.5.1 nmcli connection modify "office-net" ipv4.dns "8.8.8.8,114.114.114.114" nmcli connection modify "office-net" ipv4.ignore-auto-routes yes # 可选:避免 DHCP 路由干扰
修改后必须重载连接才能生效:
nmcli connection down "office-net" && nmcli connection up "office-net"
处理常见异常情况
-
设备显示 unmanaged:NetworkManager 默认不接管某些驱动或旧系统接口。强制接管:
nmcli device set enp0s3 managed yes
-
连接后无 IP 或无法 ping 通:检查是否启用了 IPv4、是否禁用了自动 DNS:
nmcli connection show "office-net" | grep -E "(ipv4.method|ipv4.ignore-auto-dns)"
-
需要多网段路由或策略路由:
nmcli支持添加静态路由,例如加一条去10.0.0.0/8经192.168.5.254:nmcli connection modify "office-net" +ipv4.routes "10.0.0.0/8 192.168.5.254"
所有配置实时写入 /etc/NetworkManager/system-connections/ 下对应文件,重启 NetworkManager 或系统后仍有效。不复杂但容易忽略细节。











