许多用户在电脑上安装了双系统,假期回家却发现无线网络始终无法连接,确实令人头疼。在 CentOS 7 系统中,通过命令行连接 WiFi 的步骤并不复杂,但细节上容易出错。下面记录完整的操作流程,供遇到类似问题的朋友参考。
1. 首先切换至超级管理员用户
[user@localhost]$ su root
2. 检查当前可用的无线网卡
输入以下命令可列出无线网卡信息,红色标记部分即为网卡名称——不同机器上该名称可能不同。
[root@localhost]$ iw dev
phy#0
Interface wlp2s0
ifindex 3
wdev 0x1
addr a4:db:30:84:4b:1c
type managed
以上是未连接网络时的输出。如果已成功连接,输出中将多出一条 ssid 信息,例如:
[root@localhost]# iw dev
phy#0
Interface wlp2s0
ifindex 3
wdev 0x1
addr a4:db:30:84:4b:1c
ssid liylr
type managed
channel 11 (2462 MHz), width: 40 MHz, center1: 2452 MHz
其中 ssid 即为无线网络的名称,也就是你看到的信号广播。
3. 查看连接前的网卡状态
[root@ localhost]# ifconfig wlp2s0
wlp2s0: flags=4098 mtu 1500
ether 60:d8:19:cc:74:84 txqueuelen 1000 (Ethernet)
RX packets 13547 bytes 13381624 (12.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12659 bytes 1974514 (1.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4. 测试当前网络连接状态
[root@ localhost]# iw wlp2s0 link
Not connected.
5. 获取无线网络 SSID
先扫描周围信号,但此时网卡可能未激活,会报错:
[root@ localhost]# iw wlp2s0 scan | grep SSID
command failed: Network is down (-100)
这表示无线网络未激活,需要先启用网卡:
[root@ localhost]# ifconfig wlp2s0 up
[root@ localhost]# ifconfig wlp2s0
wlp2s0: flags=4099 mtu 1500
ether 60:d8:19:cc:74:84 txqueuelen 1000 (Ethernet)
RX packets 13547 bytes 13381624 (12.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12659 bytes 1974514 (1.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
6. 扫描并查看所有可用无线网络
激活后再次扫描:
[root@localhost]# iw wlp2s0 scan | grep SSID
SSID: USER-20150101NS_Network_2
SSID: Tenda_17BEF8
SSID: PC-20140723DBVC_Network_1
SSID: 123
SSID: Tenda_0A6410
SSID: xiaohui
SSID: Tenda_51E4F0
SSID: Nobody Can
SSID: TP-LINK_3C479
7. 连接指定无线网络
假设要连接 Tenda_17BEF8,密码为 useradmin,执行:
[root@localhost]# wpa_supplicant -B -i wlp2s0 -c <(wpa_passphrase "Tenda_17BEF8" "useradmin")
Successfully initialized wpa_supplicant
8. 自动获取 IP 地址
通过 dhclient 命令自动分配 IP:
[root@localhost]# dhclient wlp2s0
9. 验证网络连接是否成功
出现 IP 地址即表示网络连接成功:
[root@ localhost]# ifconfig wlp2s0
wlp2s0: flags=4163 mtu 1500
inet 192.168.168.139 netmask 255.255.255.0 broadcast 192.168.168.255
inet6 fe80::62d8:19ff:fecc:7484 prefixlen 64 scopeid 0x20
ether 60:d8:19:cc:74:84 txqueuelen 1000 (Ethernet)
RX packets 13567 bytes 13386147 (12.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12682 bytes 1979923 (1.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
至此,无线网络连接完成。下次连接同一网络时,通常只需再次执行 dhclient wlp2s0 命令即可。整个流程所用工具均为系统内置,无需额外安装软件包,记住网卡名称和上述命令即可应对大部分连接场景。
