基础概念
- 设备(Device):物理或虚拟网络接口(如
eth0
、wlan0
)。 - 连接(Connection):配置文件的集合(如IP地址、DNS),可激活在设备上,一个设备可绑定多个连接,但同一时间仅一个激活。
- 状态查看:
nmcli device status # 查看设备状态 nmcli connection show # 显示所有连接配置
常用操作命令
启停连接
nmcli connection up "连接名" # 启用连接 nmcli connection down "连接名" # 停用连接
示例:
nmcli connection up "Wired1"
连接Wi-Fi
nmcli device wifi list # 扫描Wi-Fi nmcli device wifi connect "SSID" password "密码" # 连接新网络 nmcli connection modify "SSID" wifi-sec.key-mgmt wpa-psk # 修改加密类型(如WPA2)
创建新连接
- 静态IP连接:
nmcli connection add type ethernet con-name "MyStatic" ifname eth0 \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8 \ ipv4.method manual
- 动态IP(DHCP):
nmcli connection add type ethernet con-name "MyDHCP" ifname eth0 ipv4.method auto
修改连接配置
nmcli connection modify "连接名" property value # 修改属性
- 示例:
nmcli connection modify "MyStatic" ipv4.dns "1.1.1.1" # 更改DNS nmcli connection modify "MyStatic" +ipv4.dns "8.8.8.8" # 添加第二个DNS
删除连接
nmcli connection delete "连接名" # 删除配置
高级配置技巧
绑定多网卡(Team)
nmcli connection add type team con-name Team0 ifname Team0 config '{"runner": {"name": "activebackup"}}' nmcli connection add type team-slave con-name Team0-port1 ifname eth1 master Team0 nmcli connection add type team-slave con-name Team0-port2 ifname eth2 master Team0
设置网络别名(多IP)
nmcli connection modify "MyStatic" +ipv4.addresses 10.0.0.10/24 # 添加第二个IP
热点共享
nmcli device wifi hotspot ifname wlan0 ssid "MyHotspot" password "12345678"
连接测速与监控
nmcli -p device show eth0 # 详细设备信息(包括速率、信号强度) nmcli general logging level DEBUG # 开启调试日志(路径:/var/log/syslog)
故障排查
- 连接失效:
nmcli connection reload # 重载所有配置 systemctl restart NetworkManager # 重启服务
- Wi-Fi扫描失败:
nmcli radio wifi on # 确保无线未禁用 rfkill unblock wifi # 解除硬件阻塞
最佳实践
- 配置备份:
配置文件位于/etc/NetworkManager/system-connections/
,定期备份此目录。 - 批量操作:
结合awk
提取连接名:nmcli -t -f NAME connection | awk '{print "nmcli con up " $1}' | bash
- 持久化生效:
修改后必须执行nmcli connection reload
或重启NetworkManager服务。
引用说明基于NetworkManager官方文档(https://networkmanager.dev)及Linux man-pages(
man nmcli
),已在CentOS 8、Ubuntu 22.04及Fedora 36环境中验证,操作前请确保具有root
权限,关键操作建议在测试环境预演。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8838.html