为什么80%的码农都做不了架构师?>>>
/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service
将下面的 [D-BUS Service] Name=fi.epitest.hostap.WPASupplicant Exec=/sbin/wpa_supplicant -u -f /var/log/wpa_supplicant.log User=root
改成: [D-BUS Service] Name=fi.epitest.hostap.WPASupplicant Exec=/sbin/wpa_supplicant -u -onl80211 -O/var/run/wpa_supplicant User=root
启动无线接口:
ifconfig wlan0 up
可以使用 $ watch -n1 rfkill list all 检测驱动rfkill是否上报无线适配器的状态. 如果你开启适配器后,其标识符仍然显示blocked,你可以尝试如下命令,手动unblock(X是前一条命令的identifier编号)
# rfkill event unblock X
关于rfkill
rfkill list [ifname] 列出,显示为yes的即为关闭的
rfkill unblock [ifname] 打开,block关闭
可以用iwlist扫描一下,看看周围无线的情况
iwlist wlan scan
手动连接
生产配置文件最直接的办法:
wpa_pasdphrase "ssid">>/etc/wpa_supplicant/wpa_supplicant.conf
或者:
# wpa_passphrase MYSSID passphrase > /etc/wpa_supplicant/example.conf
/etc/wpa_supplicant/example.confctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel
update_config=1
fast_reauth=1
ap_scan=1
network={ssid="MYSSID"#psk="passphrase"psk=59e0d07fa4c7741797a4e394f38a5c321e3bed51d54ad5fcbd3f84bc7415d73d
}
ctrl_interface是为了之后可以使用wpa_cli(稍后讲解)
GROUP=wheel使wheel组的用户可以执行wpa_cli
update_config=1表示wpa_cli生成的配置文件可以被保存
fast_reauth=1和ap_scan=1激活全局作用,一般不用管它
开始连接:
# wpa_supplicant -B -i interface -c /etc/wpa_supplicant/example.conf
-i 接口名,一般为wlan0,用ip link可查看所有接口名
-c 配置文件
之后获取ip
dhclient wlan0
使用wpa_cli设置网络
wpa_cli是可以交互配置wpa的工具,相当于wpa_supplicant的前端
需要在wpa_supplicant.conf中加入这两行:
ctrl_interface=/run/wpa_supplicant
update_config=1
开启wpa_supplicant后台:
# wpa_supplicant -B -i interface -c /etc/wpa_supplicant/example.conf
运行:
wpa_cli
scan和scan_result扫描网络,执行结果像下面这样:
> scan
OK
<3>CTRL-EVENT-SCAN-RESULTS
> scan_results
bssid / frequency / signal level / flags / ssid
00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MYSSID
11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] ANOTHERSSID
添加: > add_network
0
> set_network 0 ssid "MYSSID"
> set_network 0 psk "passphrase"
> enable_network 0
<2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]
之后用save_config保存 获取ip
dhclient wlan0
参考文章