網址:
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守護進程的命令行接口