在CentOS系统中,使用nmcli命令行工具配置WiFi是一种高效且灵活的方式,尤其适用于服务器环境或无图形界面的场景,nmcli是NetworkManager的命令行接口,能够轻松管理网络连接,包括有线、无线、VPN等,本文将详细介绍如何通过nmcli配置WiFi,包括扫描网络、连接WiFi、保存配置及常见问题处理。

扫描可用的WiFi网络
在配置WiFi之前,首先需要扫描当前环境中可用的无线网络,执行以下命令:
nmcli dev wifi list
该命令会列出所有可检测到的WiFi网络,包括网络名称(SSID)、信号强度、安全协议(如WPA2、WEP)和频段等信息,信号强度以条形图形式展示,条形越多表示信号越强,如果未列出目标网络,可尝试刷新列表:
nmcli dev wifi rescan
连接到WiFi网络
扫描到目标网络后,即可进行连接,根据网络是否加密,操作步骤略有不同。
连接到开放网络(无需密码)
nmcli dev wifi connect "SSID"
将"SSID"替换为实际的网络名称。
连接到加密网络(需密码)
对于WPA/WPA2加密的网络,需指定密码:

nmcli dev wifi connect "SSID" password "your_password"
若网络使用WEP加密,命令类似,但需指定--wep-key-type参数。
保存WiFi配置为自动连接
默认情况下,通过nmcli连接的WiFi不会自动保存,重启后需手动重连,若需配置开机自动连接,可将连接设为默认并保存配置:
nmcli connection modify "SSID" connection.autoconnect yes
建议为连接分配固定名称以便管理:
nmcli connection add type wifi ifname wlan0 con-name "MyWiFi" ssid "SSID" nmcli connection modify "MyWiFi" wifi-sec.key-mgmt wpa-psk nmcli connection modify "MyWiFi" wifi-sec.psk "your_password" nmcli connection up "MyWiFi"
查看和管理连接状态
连接成功后,可通过以下命令查看网络状态:
nmcli connection show nmcli connection show "SSID" nmcli dev status
如需断开连接,执行:

nmcli connection down "SSID"
若要删除已保存的连接,使用:
nmcli connection delete "SSID"
常见问题处理
- 问题1:提示“Device not ready”
可能是无线网卡未启用,可通过nmcli radio wifi on开启无线功能。 - 问题2:连接后无法获取IP地址
检查DHCP服务是否正常,或手动配置静态IP:nmcli connection modify "SSID" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
相关问答FAQs
Q1:如何查看已保存的WiFi密码?
A:使用以下命令查看指定连接的详细配置,密码通常显示在wifi-sec.psk字段:
nmcli -s -g 802-11-wireless-security.psk connection show "SSID"
Q2:为什么nmcli扫描不到WiFi网络?
A:可能原因包括:无线网卡未启用(执行nmcli radio wifi on)、驱动问题(检查dmesg日志)或网卡被禁用(使用rfkill unblock wifi解除锁定)。