如何在 CentOS 7 命令行连接 Wi-Fi?如何在 Linux 命令行连接 Wi-Fi?
如何在 CentOS 7 命令行连接 Wi-Fi?如何在 Linux 命令行连接 Wi-Fi?
摘要
本教程覆盖如何在多种 Linux 发行版下通过命令行连接 Wi-Fi,包括:
CentOS 7、Ubuntu、Debian、Arch Linux、Fedora、Alpine Linux、Kali Linux、OpenSUSE、Gentoo、Void Linux、Slackware、Raspberry Pi OS Lite、Parrot OS、Tiny Core Linux 等系统,适用于服务器网络配置、树莓派 Wi-Fi 设置、VPS 无线连接、Linux 嵌入式设备网络管理等多种场景。
在没有图形桌面环境的 Linux 系统中,如何通过命令行连接 Wi-Fi 是许多用户在配置服务器、VPS、树莓派、嵌入式设备时遇到的重要问题。相比图形界面,命令行操作更轻量、灵活、适用于自动化或远程控制等场景。本文将以 CentOS 7 为主要示例,手把手讲解命令行连接 Wi-Fi 的完整流程,并提供 10 多种主流 Linux 发行版 的详细命令及中文解释,帮助你快速上手各系统下的无线网络配置。
一、CentOS 7 命令行连接 Wi-Fi
1. 前提检查
- 确保无线网卡已安装并被系统识别
ip link show
# 或者
nmcli device status
如果你看到有 wlan0
或类似的无线设备状态为 disconnected
,说明系统已识别。
- 开启 NetworkManager 服务
systemctl start NetworkManager
systemctl enable NetworkManager
2. 使用 nmcli
命令连接 Wi-Fi
步骤一:打开无线功能
nmcli radio wifi on
解释:
radio wifi on
表示打开无线功能,相当于桌面版的“打开 Wi-Fi 开关”。
步骤二:查看可用 Wi-Fi 列表
nmcli dev wifi list
解释: 扫描并列出当前无线网卡探测到的 Wi-Fi 网络。
步骤三:连接 Wi-Fi 网络
nmcli dev wifi connect "你的WiFi名称" password "你的密码"
例如:
nmcli dev wifi connect "MyHomeWiFi" password "12345678"
解释:
connect
:发起连接"你的WiFi名称"
:SSID(网络名称)password
:对应网络的密码
连接成功后,系统会自动保存该配置,之后重启也能自动连接。
3. 使用 nmtui
图形化命令界面(适合新手)
nmtui
进入后用键盘选择:
- Activate a connection
- 找到你的无线网络 → 回车 → 输入密码 → 完成连接
这种方式对不熟悉命令行的用户很友好。
二、10 多种 Linux 发行版连接 Wi-Fi 方法
1. Ubuntu / Debian 系
方法一:使用 nmcli
nmcli device wifi list
nmcli device wifi connect "SSID" password "密码"
方法二:使用 wpa_supplicant
(适合服务器版)
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0
说明:
wpa_passphrase
会生成加密配置文件wpa_supplicant
负责认证连接dhclient
获取 IP 地址
2. Arch Linux(使用 wpa_supplicant)
Arch 是一个极简、滚动更新的系统,推荐使用 iw
+ wpa_supplicant
的组合连接 Wi-Fi。
ip link set wlan0 up
启用无线网卡
wlan0
。如果你不知道接口名,可用ip link
查看。
iw wlan0 scan | less
扫描附近所有 Wi-Fi 热点,并用
less
分页显示,查找目标 Wi-Fi 的 SSID(名称)。
wpa_passphrase "你的SSID" "你的密码" > wpa.conf
根据输入的 Wi-Fi 名称和密码生成加密配置文件
wpa.conf
。
wpa_supplicant -B -i wlan0 -c wpa.conf
后台(-B)使用
wpa_supplicant
启动 Wi-Fi 连接。
dhcpcd wlan0
使用 DHCP 客户端自动从路由器获取 IP 地址。
3. Fedora(推荐使用 nmcli)
Fedora 默认启用 NetworkManager,可用 nmcli
命令管理网络。
nmcli dev wifi list
扫描可用 Wi-Fi 网络。
nmcli dev wifi connect "你的SSID" password "你的密码"
直接发起连接,系统会保存配置供后续自动连接。
4. Alpine Linux(轻量发行版)
Alpine 默认不带网络工具,需要先安装。
apk add wpa_supplicant wireless-tools
安装无线连接所需工具。
iw dev wlan0 scan
使用
iw
工具扫描 Wi-Fi 热点。
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant/wpa_supplicant.conf
生成连接配置并保存到系统配置文件中。
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
启动连接进程。
udhcpc -i wlan0
Alpine 常用的 DHCP 客户端,自动获取 IP。
5. Kali Linux
Kali 也是基于 Debian 的系统,支持 nmcli
。
nmcli device wifi connect "SSID" password "password"
一条命令完成连接。
6. OpenSUSE
同样使用 NetworkManager。
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"
7. Gentoo Linux
Gentoo 灵活但需手动配置:
iwconfig wlan0 essid "SSID"
设置无线接口连接到指定的 SSID。
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密码")
启动连接(不保存到文件,直接传入配置)。
dhcpcd wlan0
获取 IP 地址。
8. Void Linux
xbps-install -S wpa_supplicant dhcpcd
安装 Wi-Fi 连接必备工具。
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan0
9. Slackware
Slackware 没有现代化管理器,需要手动设置。
iwconfig wlan0 essid "SSID" key s:密码
设置网络名称与密码(仅支持 WEP 或明文密码)。
dhcpcd wlan0
启动 DHCP 获取地址。
10. Raspberry Pi OS Lite(适合树莓派无桌面环境)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
添加配置如下:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CNnetwork={ssid="YourSSID"psk="YourPassword"
}
保存后执行:
sudo wpa_cli -i wlan0 reconfigure
重载 Wi-Fi 配置文件,立即连接网络。
11. Parrot OS
nmcli device wifi connect "SSID" password "password"
Parrot 基于 Debian,也推荐使用
nmcli
。
三、常见问题排查
命令行连接 Wi-Fi 过程中常见的问题如下,附带具体的排查和解决建议:
问题 | 可能原因 | 解决办法 |
---|---|---|
找不到 wlan0 无线网卡 | 系统未识别无线网卡;驱动未加载;接口名称非 wlan0 | 使用 ip link 或 iw dev 查看实际接口名称;执行 lspci 或 lsusb 查看硬件信息,确认无线网卡型号,然后搜索对应驱动并手动加载(如 modprobe iwlwifi );确保无线模块未被禁用(检查 rfkill list ) |
wpa_supplicant 启动失败 / 连接失败 | SSID 名称或密码错误;配置文件格式有误;设备接口名称不匹配 | 检查配置文件内容是否正确(可使用 cat 查看),确认密码是否拼写错误,确保 -i 参数后面的接口名是正确的无线设备;查看日志 journalctl -xe 或 /var/log/syslog 获取失败原因 |
无法获取 IP 地址 | DHCP 客户端未启动或服务端无响应;已分配静态 IP | 使用 dhclient wlan0 或 dhcpcd wlan0 主动请求动态 IP;可尝试 ping 路由器地址(如 ping 192.168.1.1 )确认连接是否建立;检查是否有 IP 冲突,或者尝试手动配置静态 IP |
Wi-Fi 连接成功但无法访问外网 | DNS 设置缺失或错误;防火墙阻断;默认路由未配置 | 检查 /etc/resolv.conf 中是否有 nameserver 条目(如 8.8.8.8 );使用 ip route 检查是否有默认网关(default via ... );如果没有默认路由,可使用 ip route add default via <网关IP> 添加;确认本机未被防火墙规则阻断(查看 iptables -L 或 firewalld 状态) |
nmcli 报错 “Device not managed” | NetworkManager 未接管该设备 | 编辑 /etc/NetworkManager/NetworkManager.conf ,确保 [ifupdown] managed=true ,然后重启 NetworkManager:systemctl restart NetworkManager |
四、结语
命令行连接 Wi-Fi 虽然相较图形界面更具挑战性,但它的灵活性、可自动化性以及对资源的极低占用,使其在很多关键场景中成为首选:
- 嵌入式设备 / 树莓派 Lite 版:没有 GUI,节省资源;
- 远程运维 / VPS 配置:SSH 操作必须使用命令行;
- 批量部署 / 自动化脚本:结合 systemd、shell 脚本可实现无人值守联网;
- 特殊网络需求:更容易手动控制路由、加密、代理等参数。
掌握如 nmcli
、wpa_supplicant
、iw
、ip
等网络工具,不仅能提升你的 Linux 实战能力,更能让你在无界面环境下游刃有余地应对各种网络连接需求。