首先确认无线网卡已识别并启用,安装wpa_supplicant后生成含SSID和密码的配置文件,通过指定接口启动服务并用dhclient获取IP,最后验证连接与设置开机自启,适用于手动或嵌入式场景。
在linux中配置无线网络连接,wpa_supplicant 是一个关键工具,用于处理WPA/WPA2/WPA3安全认证。它与网络管理器(如NetworkManager)底层协作,也可以独立使用来连接受密码保护的Wi-Fi网络。下面介绍如何手动配置 wpa_supplicant 实现无线连接。
1. 确认无线网卡和驱动支持
确保系统已识别无线网卡,并加载了正确的驱动:
iwconfig
ip link show
如果无线接口名称类似 wlan0 或 wlp2s0,说明网卡已就绪。若未启用,可用:
sudo ip link set wlan0 up
2. 安装 wpa_supplicant
大多数Linux发行版默认已安装。若未安装,使用包管理器安装:
# debian/ubuntu
sudo apt install wpasupplicant
# centos/RHEL/Fedora
sudo dnf install wpa_supplicant
3. 生成 wpa_supplicant 配置文件
使用 wpa_passphrase 工具生成安全的配置内容:
wpa_passphrase “你的SSID” “你的密码” >> /etc/wpa_supplicant/wpa_supplicant.conf
该命令会将网络配置(含加密的PSK)写入配置文件。你也可以手动编辑配置文件:
ctrl_interface=/run/wpa_supplicant
update_config=1
network={
ssid=”MyNetwork”
psk=”your_password“
}
对于企业级WPA-EAP网络,配置更复杂,例如使用PEAP-MSCHAPV2:
network={
ssid=”Corpwifi”
key_mgmt=WPA-EAP
eap=PEAP
identity=”your_username”
password=”your_password”
phase2=”auth=MSCHAPV2″
}
4. 启动 wpa_supplicant
根据你的无线接口名称(如 wlan0),启动 wpa_supplicant:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D nl80211,wext
参数说明:
- -B:后台运行
- -i wlan0:指定无线接口
- -c:指定配置文件路径
- -D:指定驱动接口,nl80211 是现代标准,wext 是旧版兼容
5. 获取IP地址(使用DHCP)
成功关联网络后,需获取IP地址。使用 dhclient:
sudo dhclient wlan0
若需静态IP,可手动配置:
sudo ip addr add 192.168.1.100/24 dev wlan0
sudo ip route add default via 192.168.1.1
6. 验证连接
检查是否获取IP并能通信:
ip addr show wlan0
ping -c 4 google.com
也可使用 wpa_cli 查看当前状态:
wpa_cli status
7. 开机自动连接(可选)
将 wpa_supplicant 配置为系统服务:
sudo systemctl enable wpa_supplicant
sudo systemctl start wpa_supplicant
注意:某些发行版的 service 名为 wpa_supplicant.service 或按接口命名(如 wpa_supplicant@wlan0)。
基本上就这些。配置 wpa_supplicant 的核心是写对配置文件并正确启动服务。手动方式适合嵌入式系统或调试场景,日常使用建议配合 NetworkManager 管理更方便。