Ubuntu Linux系统中图形界面提供了直观的WiFi连接方式,但在某些场景下(如服务器无桌面环境、图形界面崩溃或远程终端操作),通过命令行连接 WiFi 是必须掌握的技能。本文将详细介绍从终端连接 WiFi 的完整流程,涵盖工具使用、配置文件修改、加密网络处理及常见问题排查,帮助用户实现高效的无界面网络管理。
准备工作:检查硬件与驱动
在连接WiFi前,需确认无线网卡已被系统识别且驱动正常加载。打开终端(快捷键 Ctrl+Alt+T),输入以下命令查看网络接口信息:
lshw C network
输出结果中查找 Wireless interface 段落,确认无线网卡状态为 claimed 且驱动(driver)已正确加载(常见驱动如 iwlwifi 用于 Intel 网卡,ath9k 用于 Atheros 网卡)。若无线网卡未启用,使用 rfkill 解锁硬件开关:
rfkill list 查看无线设备状态
rfkill unblock wifi 解除软硬件屏蔽
若网卡未被识别,可能需要安装额外驱动。例如 Broadcom 网卡需安装 bcmwlkernelsource:
sudo apt update && sudo apt install bcmwlkernelsource
扫描可用WiFi网络
使用iwlist扫描周边无线信号。首先确认无线接口名称(通常为wlan0或wlp2s0),通过ip a命令查看:
ip a
假设接口名为wlan0,执行扫描:
sudo iwlist wlan0 scan | grep ESSID
此命令列出所有可用的WiFi名称(ESSID)。若需详细信号强度及加密方式,可移除 grep 过滤:
sudo iwlist wlan0 scan
连接开放网络(无密码)
对于未加密的WiFi,可直接通过iwconfig连接。以下命令将接口 wlan0 连接到 ESSID 为 Free_WiFi的网络:
sudo ip link set wlan0 up 启用接口
sudo iwconfig wlan0 essid "Free_WiFi" 指定网络名称
sudo dhclient wlan0 获取 IP 地址
连接成功后,通过ip a show wlan0 查看分配的IP,或使用 ping 8.8.8.8 测试网络连通性。
连接 WPA/WPA2 加密网络
大多数 WiFi 使用 WPA/WPA2 加密,需借助 wpa_supplicant 工具。首先安装必要软件包:
sudo apt install wpasupplicant
步骤 4.1:生成配置文件
创建临时配置文件,将 WiFi 名称(SSID)和密码写入其中。使用 wpa_passphrase 自动生成加密密钥:
wpa_passphrase "My_WiFi" "password123" | sudo tee /etc/wpa_supplicant.conf
此命令将 SSID My_WiFi 和密码 password123 加密后保存到系统配置目录。查看生成内容:
cat /etc/wpa_supplicant.conf
输出应包含 ssid 和加密后的 psk,而非明文密码。
步骤 4.2:启动连接
通过 wpa_supplicant 关联加密网络并后台运行:
sudo wpa_supplicant B i wlan0 c /etc/wpa_supplicant.conf
参数说明:
B:后台运行
i wlan0:指定无线接口
c:指定配置文件
步骤 4.3:获取 IP 地址
启动 DHCP 客户端获取 IP:
sudo dhclient wlan0
使用 NetworkManager 工具(nmcli)
若系统已安装 NetworkManager,可使用 nmcli 快速连接,无需手动编辑文件。
步骤 5.1:扫描并列出网络
nmcli device wifi list
步骤 5.2:连接加密 WiFi
nmcli device wifi connect "My_WiFi" password "password123"
步骤 5.3:查看连接状态
nmcli connection show
配置静态 IP 地址(可选)
对于需要固定 IP 的场景,可手动配置。编辑 /etc/netplan/ 目录下的 YAML 文件(如 01netcfg.yaml):
yaml
network:
version: 2
renderer: networkd
wifis:
wlan0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
accesspoints:
"My_WiFi":
password: "password123"
应用配置:
sudo netplan apply
故障排除与常见问题
问题 1:无法扫描到 WiFi 网络
检查网卡状态:rfkill list 确认未被屏蔽。
驱动问题:dmesg | grep iwlwifi 查看驱动日志。
更换扫描工具:尝试 iw dev wlan0 scan。
问题 2:连接后无法获取 IP
释放旧租约:
sudo dhclient r wlan0
重启网络服务:
sudo systemctl restart NetworkManager
问题 3:反复断开连接
优化电源管理:编辑 /etc/NetworkManager/conf.d/defaultwifipowersaveon.conf,将 wifi.powersave 设为 2(禁用省电模式)。
问题 4:WPA3 加密支持
更新 wpa_supplicant 至 2.9 以上版本,并在配置文件中添加 proto=RSN key_mgmt=SAE。
8. 持久化配置(重启后自动连接)
通过 netplan 或 NetworkManager 的配置会自动保存。若使用手动 wpa_supplicant 方式,需创建 systemd 服务:
sudo systemctl enable wpa_supplicant@wlan0
利用终端来链接网络是Linux用户核心技能之一,在服务器维护、故障恢复和自动化脚本中很关键。大家可以继续了解更多关于iwconfig、wpa_supplicant、nmcli及netplan等工具组合使用,能在不同场景中灵活应用。