网址:
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/wpa_supplicant.html
- WPA Supplicant 的介绍
WPA Supplicant 是一个WPA(WiFi Protected Access)和IEEE 802.1x客户端。它使用WPA加密协议和可扩展加密协议(EAP)的密匙通过加密服务的认证。另外,它控制无线网卡的漫游和IEEE 802.11 认证/协会。这对于受密码保护 的无线接入点是非常有效的。
这个软件包已经在LES-7.9平台下建立和正常工作的 - 软件包的信息:
Download (HTTP): http://hostap.epitest.fi/releases/wpa_supplicant-2.5.tar.gz
Download MD5 sum: 96ff75c3a514f1f324560a2376f13110
Download size: 2.5 MB
Estimated disk space required: 31 MB
Estimated build time: 0.4 SBU (includes optional gui)
WPA Supplicant 的属性
推荐使用库:
libnl-3.2.27 and OpenSSL-1.0.2h额外的软件包
D-Bus-1.10.8, libxml2-2.9.3, and Qt-4.8.7
用户笔记:http://wiki.linuxfromscratch.org/blfs/wiki/wpa_supplicant- 配置内核
和其他特殊的硬件设备驱动一样,在内核配置中使能以下的选项,并且重新编译内核如果有必要的话
[*] Networking support ---> [CONFIG_NET]
[*] Wireless ---> [CONFIG_WIRELESS]
<*/M> cfg80211 - wireless configuration API [CONFIG_CFG80211]
[*] cfg80211 wireless extensions compatibility [CONFIG_CFG80211_WEXT]
<*/M> Generic IEEE 802.11 Networking Stack (mac80211) [CONFIG_MAC80211]
Device Drivers --->
[*] Network device support ---> [CONFIG_NETDEVICES]
[*] Wireless LAN ---> [CONFIG_WLAN]
打开子菜单并且选择支持你的硬件的选项,使用命令lspci或者lsusb (在[pciutils-3.4.1]下载(http://www.linuxfromscratch.org/blfs/view/svn/general/pciutils.html))可以查看你的硬件配置
- WPA Supplicant 的安装
首先需要创建一个初始化配置文件,你可以阅读可用的选项说明文档 wpa_supplicant/README和 wpa_supplicant/defconfig 。创建一个可以通过下列命令设置WiFi的配置文件:
cat > wpa_supplicant.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
如果你希望使用WPA Supplicant 的NetworkManager-1.2.0 确保你已经安装了D-Bus-1.10.8 and libxml2-2.9.3,然后通过以下命令添加相应的选项进入WPA Supplicant 的构建配置文件中:
cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF
通过运行以下命令安装WPA Supplicant
cd wpa_supplicant &&
make BINDIR=/sbin LIBDIR=/lib
如果你已经安装了Qt-4.8.7并且希望构建一个WPA Supplicant 的GUI 程序,运行以下命令:
pushd wpa_gui-qt4 &&
qmake wpa_gui.pro &&
make &&
popd
这个软件包没有附带一个测试套件。
现在,取得root权限:
install -v -m755 wpa_{cli,passphrase,supplicant} /sbin/ &&
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/ &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8/
如果你已经构建一个支持D-bus的WPA Supplicant 你将需要安装D-bus的配置文件,取得root权限后通过下列命令安装他们:
install -v -m644 dbus/fi.{epitest.hostap.WPASupplicant,w1.wpa_supplicant1}.service \
/usr/share/dbus-1/system-services/ &&
install -v -m644 dbus/dbus-wpa_supplicant.conf \
/etc/dbus-1/system.d/wpa_supplicant.conf
如果你已经构建一个GUI 的WPA Supplicant 程序,取得root权限后通过以下命令安装它:
install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &&
install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &&
install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &&
install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/
Note
在你使用WPA Supplicant D-Bus 接口前需要重启系统D-Bus 守护进程
Note
该软件安装在桌面文件系统中的 /usr/share/applications .你可以通过更新/usr/share/applications/mimeinfo.cache来提高系统性能和内存使用率。执行更新前需要安装 desktop-file-utils-0.22 并且在取得root权限后执行以下命令:
update-desktop-database
配置 wpa_supplicant
配置文件位置:
/etc/sysconfig/wpa_supplicant-*.conf配置信息
使用密码连接一个接入点时需要将预先共享的密码插入到/etc/sysconfig/wpa_supplicant-wifi0.conf中,其中的“SSID”是接入点或路由发射者的ID字符串,取得root权限后执行下列命令:
wpa_passphrase SSID SECRET_PASSWORD > /etc/sysconfig/wpa_supplicant-wifi0.conf
/etc/sysconfig/wpa_supplicant-wifi0.conf 可以掌握接入点服务器的细节信息。当wpa_supplicant开启时,它将会扫描这些可见的SSID并且选择正确的密码连接。
如果你想要连接一个没有密码保护的接入点,插入以下的实体到/etc/sysconfig/wpa_supplicant-wifi0.conf,将“Some-SSID”取代为你将要接入的接入点ID。
network={
ssid="Some-SSID"
key_mgmt=NONE
}
有很多调整如何连接每个接入点的选项,在wpa_supplicant/wpa_supplicant.conf文件的源码树中有详细的描述。
- 连接上一个接入点
如果你想在开机时使用wpa_supplicant配置网络接口,你需要安装脚本 /lib/services/wpa (在 blfs-bootscripts-20160415 软件包中)
make install-service-wpa
如果你的路由服务器或者接入点(AP)使用DHCP协议分配 IP 地址,你可以安装DHCP-4.3.4 客户端并且使用它制动获取网络IP地址。取得root权限后执行以下命令创建/etc/sysconfig/ifconfig-wifi0:
cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="dhclient"
DHCP_START=""
DHCP_STOP=""
# Set PRINTIP="yes" to have the script print
# the DHCP assigned IP address
PRINTIP="no"
# Set PRINTALL="yes" to print the DHCP assigned values for
# IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
PRINTALL="no"
EOF
如果你更喜欢安装dhcpcd-6.10.3 客户端,那就取得root权限后执行以下命令创建/etc/sysconfig/ifconfig-wifi0:
cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"
EOF
另外,如果你在本地网络中使用静态IP地址,那就取得root权限后执行以下命令创建/etc/sysconfig/ifconfig-wifi0:
cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
# Additional arguments to wpa_supplicant
WPA_ARGS=""
WPA_SERVICE="ipv4-static"
IP="192.168.1.1"
GATEWAY="192.168.1.2"
PREFIX="24"
BROADCAST="192.168.1.255"
EOF
你可以在取得root权限后通过执行以下命令连接到无线接入点:
ifup wifi0
用“wlan0“正确的无线接口名称代替配置文件名称中的”wifi0“,请特别注意:配置文件wpa_supplicant-.conf 和ifconfig. 中的”*“需要使用相同的名称,即都包含”WiFi0“在它们的名称中。
安装目录
安装程序:wpa_gui, wpa_supplicant, wpa_passphrase and wpa_cli
安装库:None
安装目录:None
简要描述:- wpa_gui wpa_supplicant : 图像化交互界面
- wpa_supplicant :可以连接到密码保护的接入点的一个守护进程
- wpa_passphrase :生成wpa_supplicant可以解析的包含SSID 和密码的简单配置文件
- wpa_cli :用于控制一个运行中的wpa_supplicant守护进程的命令行接口