wpa_supplicant 配置文件的例子
這個配置文件描述的格式和列表都是可用的選項
請閱讀“examples”子目錄下簡單的配置例子
空行和空字符以及以“#”開頭的字符都會被忽略
注意:這個文件中可能包含密碼信息并且在多用戶系統(tǒng)中
只有root用戶才生效
注意:為確保當(dāng)wpa_supplicant運行在后臺時,允許修改工作目錄。
在這個配置文件中的文件路徑應(yīng)該為絕對路徑
是否允許wpa_supplicant更新(覆蓋)配置文件
這個選項允許修改配置后wpa_supplicant可以覆蓋配置文件
(eg:通過wpa_cli加入新的網(wǎng)絡(luò)語句塊、wpa_gui寫入配置、密碼改變等情況)
這對于wpa_cli和wpa_gui能夠永久地修改配置是必需的。
請注意允許更新配置時應(yīng)將該處的注釋“#”移除
#updata_config=1
全局配置(在所有網(wǎng)絡(luò)語句塊中共享)
控制接口的參數(shù),如若參數(shù)是指定的,wpa_supplicant將會為外部程序打開控制接口從而管理wpa_supplicant。字符串的含義取決于使用何種接口機制,對于所有案例,存在與配置中的參數(shù)決定了控制接口是否使能
對于 UNIX的域名套接字(在linux和BSD默認使用):這個目錄是為了監(jiān)聽從外部程序(CLI/GUI,etc.)對于查看狀態(tài)信息和配置內(nèi)容的請求。
套接字文件的命令將會基于接口的名稱,因此如果有多個接口可用,多個wpa_supplicant程序可以運行在用一個時刻。
/var/run/wpa_supplicant是默認的也是推薦使用的存放套接字的目錄,wpa_cli將會在嘗試和wpa_supplicant連接時使用它。
通過設(shè)置該目錄從而只允許一組成員使用套接字,控制接口的接入控制可以得到配置。這樣wpa_supplicant就有可能以root權(quán)限運行(當(dāng)需要改變網(wǎng)絡(luò)配置時和打開原始套接字時),同時仍然允許GUI/CLI 部分運行在非root權(quán)限的用戶下。然而,因為該控制接口可以改變網(wǎng)絡(luò)配置,在很多情況下這個接口需要被保護。默認情況下,wpa_supplicant配置為使用gid 0(組ID為0 即root用戶)。如果你想允許非root權(quán)限的用戶去使用該控制接口的話,加入新的組并且改變這個值匹配那個組。添加用戶到改組是需要擁有控制接口。如果該變量被注釋掉或則沒有包含在配置文件中。當(dāng)創(chuàng)建目錄或套接字創(chuàng)建時,該組將不會更改默認值的值。
在配置目錄和組時,使用如下格式:
-
DIR=/var/run/wpa_supplicant GROUP=wheel
-
DIR=/var/run/wpa_supplicant GROUP=0
(groud 可以是組的名稱或者gid)
對于UDP的連接(windown下默認為該協(xié)議連接)改值將會被忽略。
該變量只是用于選擇控制接口被創(chuàng)建,該值可以設(shè)置為udp(ctr_interface=udp).
對于windows的命名管道,該值可以被用于設(shè)置控制接口的安全描述符。可以使用安全描述符字符串格式設(shè)置(可看http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/),該描述符需要加上 ”SDDL= “的前綴。例如,ctr_interface=SDDL=D 該語句將會設(shè)置一個空的DACL(拒絕所有連接)??稍谖臋n“README-Windows.txt”獲取更多關(guān)于SDDL字符格式的信息。
ctrl_interface=/var/run/wpa_spplicant
- IEEE 802.1X/EAPOL 版本
- wpa_supplicant 的執(zhí)行是基于 IEEE 802.1X-2004定義的EAPOL 第二版本 的標(biāo)準(zhǔn)。然而很多接入沒有正確地遵循這一新版本號(他們似乎完全放棄了這一架構(gòu))。為了能讓wpa_supplicant和和這些接入點進行交互操作,改版本號默認設(shè)置為1,以下的配置數(shù)字可以用于設(shè)置為新版本(2)。
- 注意:當(dāng)使用MACsec,eapol_version 應(yīng)該設(shè)置為3,定義在IEEE std802.1X-2010中
eapol_version=1
- 接入點的掃描和選擇
- 默認情況下,wpa_supplicant請求驅(qū)動程序執(zhí)行接入點的掃描并使用掃描結(jié)果選擇合適的接入點。另外一種選擇是允許設(shè)備驅(qū)動兼顧接入點的掃描和選擇并且使用wpa_supplicant只是運行基于IEEE 802.11 的EAPOL(extensible Authentication protol over Lan 基于局域網(wǎng)的可擴展認證協(xié)議)聯(lián)系設(shè)備驅(qū)動的信息。
- 參數(shù):0:wpa_supplicant啟動掃描和接入點選擇;如果和當(dāng)前可找到可用的網(wǎng)絡(luò)不匹配,一個新的網(wǎng)絡(luò)(IBSS 或者AP 模式操作)可能會被啟動(如果配置)(默認)
- 1:設(shè)備驅(qū)動兼顧掃描、接入點選擇和IEEE 802.11 連接參數(shù)(eg:WPA IE 一代);這個模式也可以被用于使用IEEE 802.1X 模式的 non-WPA 設(shè)備驅(qū)動;不要試圖和接入點取得聯(lián)系(i.e.,外部程序需要控制連接)。這種模式同樣必須在使用有限以太網(wǎng)時使用。
- 注意:macsec_qca 設(shè)備驅(qū)動是一個執(zhí)行macsec 特征的以太網(wǎng)設(shè)備類型
- 2:和參數(shù)0類似,但是通過使用安全的規(guī)則和SSID(不能為BSSID)和接入點取得聯(lián)系;這個參數(shù)可以用于,例如,使用增強型和NDIS(network driver interface standard)的設(shè)備驅(qū)動來操作隱藏了的SSID和優(yōu)化漫游;在這種模式下,在配置文件中的網(wǎng)絡(luò)語句塊將會一個個嘗試連接直到設(shè)備驅(qū)動報告取得聯(lián)系成功;每一個網(wǎng)絡(luò)語句塊應(yīng)該有相對于密碼管理(key_mgmt)、配對法(pairwide)、用戶組(group)、協(xié)議變量(proto variables) 明確的安全規(guī)則(在列表中只能有一個安全規(guī)則選項)
- 注意:當(dāng)ap_scan=2 不應(yīng)該被用于使用nl80211 設(shè)備驅(qū)動接口中(當(dāng)前l(fā)inux的接口)。ap_scan=1 是工作在nl80211的優(yōu)化工作。為了尋找隱藏了的網(wǎng)絡(luò),scan_ssid=1可以用于nl80211 的網(wǎng)絡(luò)語句塊中。
- 當(dāng)使用IBSS 或者 AP 模式時,ap_scan=2模式可以在忽略掃描結(jié)果的情況下立刻建立一個新的網(wǎng)絡(luò)。ap_scan=1 模式第一步將會試圖掃描周圍存在的網(wǎng)絡(luò)。只有在無可匹配的網(wǎng)絡(luò)情況下才會創(chuàng)建一個新的IBSS或者AP模式的網(wǎng)絡(luò)。
ap_scan=1
- 對等網(wǎng)絡(luò)管理器的位置
- 默認情況下,wpa_supplicant為開放式的網(wǎng)絡(luò)運行對等網(wǎng)絡(luò)管理器(MPM)。然而,如此設(shè)備驅(qū)動可以執(zhí)行MPM,為了使用設(shè)備驅(qū)動版本號,你可能需要將它設(shè)置為0。當(dāng)AMPE( automated message processing exchange 自動信息交換程序)使能時,wpa_supplicant的MPM將會總是有用的。
- 0:MPM在設(shè)備驅(qū)動中被執(zhí)行
- 1:wpa_supplicant 提供一個處理對等(默認)的MPM
user_mpm=1
- 最大的匹配鏈路數(shù)量(0-255;默認為99)
- 當(dāng)前網(wǎng)絡(luò)維持的最大網(wǎng)絡(luò)匹配數(shù)量
max_peer_link=99
- 檢測STA靜止的超時時間(秒)(默認為300秒)
- 這個超時時間是用于STA網(wǎng)絡(luò)清理不活動的站點。
mesh_max_inactivity=300
- cert_in_cb –時候在事件跳轉(zhuǎn)過程中包含匹配證書。
- 這個選項控制是否在EAP匹配認證事件中包含服務(wù)器認證和認證鏈節(jié)的匹配認證。在默認情況下該選項是激活的。
cert_in_cb=1
- EAP(extensible Authentication protocol)快速重認證
- 默認情況下,快速重認證對于支持所有EAP模式的情況下是激活的。這個參數(shù)可以被用于取消快速重認證。一般情況下,沒有必要取消它。
fast_reauth=1
- OpenSSL(安全套接字庫)工具支持
- 這些選項可以被用于加載OpenSSL工具
- 目前支持的兩個工具如下所示:
- 它們都是來自opensc 工程(http://www.opensc.org/)
- 默認情況下沒有工具被加載.
//激活opensc工具
opensc_engine_path=/usr/lib/opensc/engine_opensc.so
//激活pkcs11工具
pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
//通過 pkcs11工具配置pkcs11模塊請求路徑
pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
- OpenSSL 密碼字符串
- 這是配置OpenSSL默認密碼的特定配置選項。如果沒有設(shè)置,將會使用默認的“DEFAULT:!EXP:!LOW”。查看https://www.openssl.org/docs/apps/ciphers.html OPenSSL關(guān)于密碼配置套件的文檔。只有在wpa_supplicant在建立是使用OpenSSL時才有效。
openssl_chipers=DEFAULT:!EXP:!LOW
- 動態(tài)EAP方式
- 如果EAP建立動態(tài)共享對象文件,它們需要在使用網(wǎng)絡(luò)語句塊之前 在這里被加載。默認情況下,EAP方式在建立時是靜態(tài)包含的,所以,這些選項是不必要的。
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
- 設(shè)備驅(qū)動程序的接口參數(shù)
- 這個區(qū)域可以被用于配置隨意的設(shè)備驅(qū)動接口參數(shù)。選擇設(shè)備驅(qū)動接口的格式是指定的。在很多案例中這個區(qū)域是不起作用的。
driver_param="field=value"
- 國家語言代碼
- 當(dāng)前設(shè)備驅(qū)動操作的國家語言代碼
country=US
//PMKSA最大的存活時間(秒);默認為43200
dot11RSNAConfigPMKLifetime=43200
//重認證的閾值(PMK存活時間的百分比);默認為70
dot11RSNAConfigPMKReauthThreshold=70
//安全關(guān)聯(lián)協(xié)議的超時時間(秒);默認為60
dot11RSNAConfigSATimeout=60
- 建立Wi-Fi保護參數(shù)
- 設(shè)備通用唯一的標(biāo)識符(UUID;參照RFC 4122)
- 如果沒有配置,UUID將會被設(shè)置為本地MAC地址
uuid=12345678-91bc-def0-1234-56789abcdef0
//設(shè)備名稱
//對設(shè)備使用友好的描述;UTF-8編碼的32個字節(jié)
device_name=Wireless Client
//制造商
//設(shè)備的制造商(64個ASCII特征碼)
manufacturer=Company
//型號
//設(shè)備型號(32個ASCII特征碼)
model_name=cmodel
//型號編號
//額外的設(shè)備描述(32個ASCII特征碼)
model_number=123
//序列號
//設(shè)備的序列號(32個ASCII特征碼)
serial_number=12345
- 設(shè)備的主要類型
- 使用:--的格式
- categ:整型類型的數(shù)值
- OUI =組織唯一標(biāo)識符;四個八位字節(jié)的16進制編碼數(shù)值;WPS OUT默認為0050F204
- subcateg =OUI-特定的整型類型數(shù)值子類
- 例如:
-
1-0050F204-1 (Computer / PC)
-
1-0050F204-2 (Computer / Server)
-
5-0050F204-1 (Storage / NAS)
-
6-0050F204-1 (Network Infrastructure / AP)
device_type=1-0050F204-1
- 操作系統(tǒng)版本
- 操作系統(tǒng)版本數(shù)字的四個八位字節(jié)(16進制字符串)
os_version=01020300
- 配置方法
- 列表為所支持的配置方法
- 可行的方法:usba 以太網(wǎng)顯示 ext_nfc_token int_nfc_token nfc_interface push_button keypad virtual_display physical_display virtual_push_button physical_push_button 標(biāo)簽
//對于 WSC 1.0
//配置方法=標(biāo)簽、顯示、按鈕、鍵盤
config_methods=label display push_button keypad
//對于 WSC 2.0
//配置方法=標(biāo)簽、虛擬顯示、虛擬按鈕、鍵盤
config_methods=label virtual_display virtual_push_button keypad
- 認證進程
- 0=進程內(nèi)部接受憑證(默認)
- 1=進程不接受憑證;只是通過在ctrl_iface上到外部程序
- 2=進程在內(nèi)部接受憑證;只是通過在ctrl_iface上到外部程序
wps_cred_processing=0
- WPS M1 的屬性,比如window7垂直兼容
- 屬性內(nèi)容被添加到M1中(16位進制字符串)
wps_vendor_ext_m1=000137100100020001
- WPS的令牌-NFC密碼
- 這些參數(shù)可以被用于配置一個固定的站點NFC密碼。這個可以通過某種方式產(chǎn)生,例如使用nfc_pw_token 。當(dāng)這些參數(shù)被使用時,該站點假設(shè)已經(jīng)包含匹配NFC密碼部署。(例如:編寫記錄在nfc_pw_token中的NDEF)
wps_nfc_dev_pw_id: Device Password ID (16..65535)
wps_nfc_dh_pubkey: Hexdump of DH Public Key
wps_nfc_dh_privkey: Hexdump of DH Private Key
wps_nfc_dev_pw: Hexdump of Device Password
- 通過添加WPS優(yōu)先使用網(wǎng)絡(luò)
- 這個優(yōu)先值將會將會被設(shè)置到每個網(wǎng)絡(luò)配置文件(執(zhí)行WPS 協(xié)議時添加的)
wps_priority=0
- 保存在記憶體中最大的BSS 實體數(shù)量
- 默認值為:200
- 這個選項可以被設(shè)置限制BSS 實體(掃描結(jié)果緩存)的內(nèi)存使用。在使用ap_scan=1模式時在環(huán)境中可能需要一個比較大的值存儲大量的接入點
bss_max_count=200
自動掃描
這是一個設(shè)置自動掃描以下格式的接口的配置參數(shù)
autoscan=<自動掃描模塊名稱>:<模塊參數(shù)>
自動掃描就像沒有連接或者不活動的bgscan
例如指數(shù)模型上的參數(shù)將會為:
autoscan=exponential:3:300
以上選項表示每次掃描的延時是基于3的指數(shù)的延時時間
最大為300s(3,9,27,…..300).
對于周期性的模型,參數(shù)將會是<固定的整數(shù)>
-
autoscan=periodic:30
以上參數(shù)表示30S一個周期自動掃描一次
SSID過濾-基于SSID掃描結(jié)果過濾
0 表示對掃描結(jié)果不過濾(默認)
1 表示從掃描結(jié)果中或者掃描結(jié)果緩存表中過濾出配置文件中的SSID
filter_ssids=0
- 外部存儲后端的密碼(密碼口令,等等)
- 格式:<后端名稱>[:<后端參數(shù)選項>]
ext_password_backend=test:pw1=password|pw2=testing
- 取消P2P功能
p2p_disabled=1
- 移除不活動的STA的超時時間(默認為300S)
- 該超時時間值用于在P2P GO 模式下清除不活動的站點
p2p_go_max_inactivity=300
- P2P GO 密碼長度(8-63)
- 這個參數(shù)控制在GO 生成的隨機密碼的長度。(默認為8)
p2p_passphrase_len=8
- 并行進行P2P迭代搜索的額外延時時間
- 這個值增加額外的延時(ms)讓p2p_find友好地并行操作,從而避免無線點占用100%的資源。該值默認為500ms
p2p_search_delay=500
- 機會性密匙緩存(已稱為主動型密匙緩存)(默認設(shè)置)
- 這個參數(shù)可以用于設(shè)置默認的proactive_key_caching參數(shù)行為。默認情況下,OKC是無效的除非使能全局變量okc=1 或者每個網(wǎng)絡(luò)中proactive_key_cachng=1。如若okc=1,OKC默認是有效的,不允許每個網(wǎng)絡(luò)中的proactive_key_caching=0
okc=0
- 默認的保護管理架構(gòu)
- 這個參數(shù)可以用于設(shè)置ieee80211w 參數(shù)的默認行為。默認情況下,PMF無效除非全局變量pmf=1/2,或者每個網(wǎng)絡(luò)中都配置ieee80211w=1/2 這個參數(shù)。當(dāng)pmf=1/2 時PMF 默認是有效的和可被請求的。在每個網(wǎng)絡(luò)中也可以使用ieee80211w 參數(shù)設(shè)置為失效。
pmf=0
- 啟用SAE有限循環(huán)群優(yōu)先順序
- 默認情況下(該參數(shù)沒有設(shè)置)組19(組 ECC定義在超過256位的基本指令領(lǐng)域)是首選的選項,其他組也是激活的。如果該參數(shù)被設(shè)置,改組將會嘗試控制命令。改組的值在IANA注冊表中列出
sae_groups=21 20 19 26 25
//DTIM周期的默認值(如果沒有在網(wǎng)絡(luò)語句塊中被重寫)
dtim_period=2
//信標(biāo)間隔的默認值(如果沒有在網(wǎng)絡(luò)語句塊中被重寫)
beacon_int=100
- 信標(biāo)和探測響應(yīng)幀的基本屬性
- 該參數(shù)可以被用于增加另外的基本屬性到信標(biāo)和探測響應(yīng)幀的末尾。這些屬性的格式是一個十六位進制轉(zhuǎn)儲的原始信息元素(一個或多個元素的 id+len+payload),這用于AP 和 P2P GO 模式下。
ap_vendor_elements=dd0411223301
- 忽略請求掃描結(jié)果命令
- 當(dāng)我們觸發(fā)掃描命令時,設(shè)備驅(qū)動可能有掃描結(jié)果的返回信息,這個參數(shù)可以用于配置類似于被忽略舊的信息而不是更新內(nèi)部BSS 表格。
ignore_old_scan_res=0
scan_cur_freq :是否只在當(dāng)前頻率下掃描
0:在所有可用的頻率下掃描(默認)
1:如果另一個同一個無線 VIF已經(jīng)取得關(guān)聯(lián)下,在當(dāng)前操作頻率下掃描
默認的MAC 地址規(guī)則
0:使用永久的MAC地址
1:給每個連接的ESS使用隨機的MAC地址
2:類似于1,但是保持 OUI(本地管理位集)
默認情況下,使用永久的MAC地址除非通過每一個網(wǎng)絡(luò)mac_addr參數(shù)改變規(guī)則。全局設(shè)置mac_addr=1 可以用于改變這個默認的配置行為。
mac_addr=0
- 隨機MAC地址的存活時間(秒)(默認為60s)
rand_addr_lifetime=60
- 每個關(guān)聯(lián)操作的MAC地址規(guī)則(scanning(掃描)、ANQP(接入網(wǎng)絡(luò)查詢協(xié)議))
- 0=使用永久MAC地址
- 1=使用隨機的MAC地址
- 2=類似于1,但是使用保持的MAC 地址(當(dāng)?shù)毓芾砦患?/li>
preassoc_mac_addr=0
- Interworking (IEEE 802.11u)
- 激活I(lǐng)nterworking
interworking=1
- 純質(zhì)的ESS標(biāo)志符
- 如果這個被設(shè)置,掃描將會用于回應(yīng)只屬于特定的Homogeneous ESS的請求,這個只用于interworking激活的情形。
hessid=00:11:22:33:44:55
- 自動選擇網(wǎng)絡(luò)的行為
- 0=不自動通過互聯(lián)網(wǎng)選擇
- 1=執(zhí)行互聯(lián)網(wǎng)網(wǎng)絡(luò)選擇當(dāng)一個或者多個認證已經(jīng)配置和沒有掃描到匹配的網(wǎng)絡(luò)語句塊
auto_interworking=0
- 認證塊
- 用于自動網(wǎng)絡(luò)選擇的每個認證將會構(gòu)造為一組參數(shù),當(dāng)使用interworking_select and interworking_connect命令時,將會和APs發(fā)布的信息比較
- 憑證字段:
- 暫時的(temporary):認證是否是暫時的并且不被保存
- 優(yōu)先級(priority):優(yōu)先級組
- 默認情況下,所有的網(wǎng)絡(luò)和認證都將獲取同等的優(yōu)先級組(0)這個字段可以被用于認證的更高優(yōu)先級(和網(wǎng)絡(luò)語句塊中的結(jié)構(gòu)體wpa_ssid很類似),這樣可以改變自動選擇網(wǎng)絡(luò)的行為。擁有更高優(yōu)先級的匹配的網(wǎng)絡(luò)(要么基于激活的網(wǎng)絡(luò)語句塊要么是認證憑證)將會被選擇。
- pcsc:使用PC / SC和SIM/ USIM卡
- realm(領(lǐng)域):家庭領(lǐng)域的互聯(lián)網(wǎng)
- username(用戶名):互聯(lián)網(wǎng)網(wǎng)絡(luò)選擇的用戶名
- password(密碼):互聯(lián)網(wǎng)網(wǎng)絡(luò)選擇的密碼
- ca_cert:互聯(lián)網(wǎng)選擇的CA認證
- client_cert:客戶端認證文件的路徑(PEM/DER)
- 以上字段適用于在客戶端用認證/密匙來認證(EAP-TLS)的網(wǎng)絡(luò)自動選擇。文件的路徑應(yīng)該為絕對路徑(wpa_supplicant運行于后臺時可能會改變工作路徑)。另外一個blob的配置可以將此設(shè)置為blob://blob_name
- 私人密匙:私人密匙(PEM/DER/PFX)的文件路徑
當(dāng)使用PKCS#12/PFX文件時(.p12/.pfx),client_cert 應(yīng)該被注釋掉。這種情況下私人密匙和認證憑證將會從PKCS#12文件中讀出。完整的路徑需要為絕對工作路徑(wpa_supplicant運行于后臺時可能會改變工作路徑)
通過從客戶端認證中退出,windows下的認證儲存可以被使用,并且私人密匙可以通過以下格式配置:
cert://substring_to_match
hash://certificate_thumbprint_in_hex
舉個例子:private_key=”hash://63093aa9c47f56ae88334c7b65a4”
注意當(dāng)將wpa_supplicant作為應(yīng)用運行時,用戶認證儲存區(qū)(自己的用戶賬戶)將被使用。而當(dāng)運行wpasvc作為服務(wù)端時計算機儲存區(qū)(計算機賬戶)將被使用。
另外,一個blob的配置可以將此設(shè)置為blob://blob_name
private_key_passwd: 私人密匙的密碼文件
imsi: IMSI in | | ‘-’ | format
milenage: Milenage parameters for SIM/USIM simulator in :: format
domain: Home service provider國內(nèi)服務(wù)提供商 FQDN(s)
以上選項將被用于比較域服務(wù)商名稱列表從而計算出是否該AP是在家用SP下操作。多域接入點可以被用于配置被認為家庭網(wǎng)絡(luò)的非傳統(tǒng)FQDNSroaming_consortium:(漫游聯(lián)合體)Roaming Consortium OI
如果roaming_consortium_len非空,這個字段包含可以決定哪個接入點支持憑證認證的漫游聯(lián)合體。這是非傳統(tǒng)的領(lǐng)域參數(shù)的用法。當(dāng)使用漫游聯(lián)合體匹配網(wǎng)絡(luò)時,因為NAI域的信息可能不可用或者牽強,EAP參數(shù)需要使用憑證預(yù)配置。eap:EAP預(yù)編譯的方法
這個字段可以用來指定哪個EAP方法使用這個憑證。如若沒有設(shè)置,EAP方法設(shè)置為自動基于ANQP信息(eg:NAI Realm).phase1:預(yù)編譯階段1(外部認證)參數(shù),這個字段設(shè)置和‘eap’參數(shù)類似
phase2:預(yù)編譯階段2(內(nèi)部認證)參數(shù),這個字段設(shè)置和‘eap’參數(shù)類似
excluded_ssid: 過濾SSID
這個選線字段可以用于從配置網(wǎng)絡(luò)中過濾指定的SSID(S),多選項可以增加更多SSIDroaming_partner:漫游合作伙伴的信息
這個字段選項可以用于配置和漫游伙伴的首選項。該配置字段使用以下格式:
,<0/1 exact match>,,<* or country code>
non-exact 表示任何子域都可以匹配該接入口;priority是設(shè)置更高優(yōu)先級,范圍在0-255update_identifier:更新標(biāo)識符(PPS MO ID)(Hotspot 2.0 PerProviderSubscription/UpdateIdentifier)
provisioning_sp:服務(wù)提供商FQDN提供的憑證
這個字段選項可以用于跟蹤服務(wù)提供商SP提供的憑證并且尋找PPS MO(./Wi-Fi/).最大的回程鏈路的閾值(PPS/
min_dl_bandwidth_home
min_ul_bandwidth_home
min_dl_bandwidth_roaming
min_ul_bandwidth_roaming
- max_bss_load:BBS(掃描結(jié)果緩存表)的最大通道負荷(1-255)
(PPS/
req_conn_capab=6,22,80,443
For example, IPSec/IKE:
req_conn_capab=17:500
req_conn_capab=50
oscp:是否使用/請求OSCP檢查服務(wù)憑證
0=沒有使用OCSP(擴展的認證狀態(tài) TLS)
1=試圖使用OCSP,但不請求應(yīng)答
2=請求接受有效的OCSP應(yīng)答sim_num:使用多SIM 卡設(shè)備時SIM卡的標(biāo)識符
下面對語句塊舉例子:
cred={
realm="example.com"
username="user@example.com"
password="password"
ca_cert="/etc/wpa_supplicant/ca.pem"
domain="example.com"
}
cred={
imsi="310026-000000000"
milenage="90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82"
}
cred={
realm="example.com"
username="user"
password="password"
ca_cert="/etc/wpa_supplicant/ca.pem"
domain="example.com"
roaming_consortium=223344
eap=TTLS
phase2="auth=MSCHAPV2"
}
- Hotspot 2.0(熱點2.0)
hs20=1
網(wǎng)絡(luò)語句塊
- 在配置文件中,每個網(wǎng)絡(luò)(通常是AP 的共享SSID)被視為獨立的模塊來配置
- 該網(wǎng)絡(luò)語句塊是有優(yōu)先配置順序的(第一次匹配)。
-網(wǎng)絡(luò)語句塊字段:
disabled:
0=該網(wǎng)絡(luò)可以被使用(默認)
1=該網(wǎng)絡(luò)語句塊是失效的(可以通過ctrl_iface激活 eg:使用wpa_cli或者wpa_gui)id_str:外部腳本的網(wǎng)絡(luò)標(biāo)識字符。通過wpa_cli外部執(zhí)行腳本將WPA_ID_STR作為環(huán)境變量,使得配置特定網(wǎng)絡(luò)變得更加容易。
ssid:SSID(必須的);一種如下格式的網(wǎng)絡(luò)名稱:
引用雙精度的ASCII字符
一個十六進制的字符串(SSID每個字節(jié)的兩個字符)
打印的字符:字符串scan_ssid:
0=不掃描這個通過特定的探測請求幀得到的SSID(默認)
1=掃描通過特定探測請求幀得到的SSID(這個可以用于尋找不接受廣播的APs或者使用多SSIDs ;這個將會增加掃描延時時間,所以在有必要時才激活此選項)bssid:BSSID(不必要的、可選擇的);如果設(shè)置了的話,這個網(wǎng)絡(luò)語句塊將被用于使用BSSID配置文件和APs取得關(guān)聯(lián)。
priority: 優(yōu)先級組 (整數(shù))
默認情況下,所有網(wǎng)絡(luò)將會獲得相同的優(yōu)先級組(0),如果有一些更加可取的網(wǎng)絡(luò),這個字段可以被用于改變wpa_supplicant在BSS中選擇網(wǎng)絡(luò)時的順序。這個優(yōu)先級組將會迭代減少優(yōu)先級(i.e,優(yōu)先級數(shù)值越大,就越早在掃描結(jié)果中得到匹配),對于相同的優(yōu)先級組,將會根據(jù)安全規(guī)則、信號強度等來作為選擇的依據(jù)。
請注意在scan_ssid=1 和 ap_scan=2 模式下AP的掃描不能夠使用這個優(yōu)先級組去選擇掃描順序。相反的他們嘗試使用配置文件中的網(wǎng)絡(luò)順序。
mode: IEEE 802.11操作模式
0 = 基礎(chǔ)架構(gòu)模式(管理模式),i.e,和AP取得關(guān)聯(lián)(默認)
1 = IBSS(自組網(wǎng)、點對點)
2 = AP (接入點)
注意:IBSS只能在key_mgmt NONE(明碼文本和靜態(tài)WEP)和WPA-PSK(proto = RSN)下使用。另外,key_mgmt=WPA-NONE(固定的TKIP/CCMP密碼組)也是向后兼容的,但是這種用法是過時的。WPA-None 需要以下的網(wǎng)絡(luò)語句塊選項:
proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP(or CCMP,兩個不能同時存在),并且密碼必須也得到設(shè)置。
frequency:IBSS的通道頻率(MHZ),例如:2412=IEEE 802.11b/g 是通道一的頻率。這個值被用于配置IBSS(adhoc自組網(wǎng))的初始化通道。在基礎(chǔ)架構(gòu)模式下它將會被忽略。另外,這個值只用于創(chuàng)建IBSS站點。如果一個配置了SSID的IBSS網(wǎng)絡(luò)已經(jīng)存在,其網(wǎng)絡(luò)的頻率值將會被用于替代這里的配置數(shù)值。
scan_freq:掃描頻率的列表
當(dāng)掃描BSS時使用空間分離的頻率表(MHZ)掃描。如果該網(wǎng)絡(luò)的通道設(shè)置是已知的,該選項可以被用于優(yōu)化掃描行為,避免掃描網(wǎng)絡(luò)沒有用到的通道
Example: scan_freq=2412 2437 2462
freq_list:獲得許可頻率的數(shù)組
允許選擇BBS的空間分離的頻率表。如果設(shè)置了的話,當(dāng)選擇一個BSS時,掃描結(jié)果將考慮匹配任何特定的頻率的網(wǎng)絡(luò)。
這個選項也可以被設(shè)置到網(wǎng)絡(luò)語句塊外面。在這種情形下,它將限制特定的頻率被掃描。
bgscan:后臺掃描
通過設(shè)置為bgscan模塊,wpa_supplicant可以被配置后臺掃描行為。為了漫游在ESS下,這些模塊要求在后臺運行掃描(i.e,即在所有AP的單一個網(wǎng)絡(luò)語句塊中使用相同的SSID)。這個bgscan參數(shù)可以使用以下格式:”:”
以下bgscan模塊是可用的:
簡單型:根據(jù)信號強度周期性地進行后臺掃描
bgscan=”simple:::”
bgscan=”simple:30:-45:300”
學(xué)習(xí)型:通過網(wǎng)絡(luò)學(xué)習(xí)使用的通道,避免bgscan掃描其他通道(實驗型)。
bgscan=”learn:::[:]”
bgscan=”learn:30:-45:300:/etc/wpa_supplicant/network1.bgscan”
另外可通過以下命令取消bgscan:
bgscan=”“
-
這個選項也可以全局設(shè)置,應(yīng)用于沒有指定特定的bgscan參數(shù)。
proto:公認的協(xié)議列表
WPA=WPA/IEEE 802.11i/D3.0
RSN = WPA2/IEEE 802.11i (可以使用WPA2作為RSN的別名)
-
如果沒有設(shè)置將會默認使用WPA RSN
key_mgmt:公認的認證密鑰管理協(xié)議列表
WPA-PSK = WPA 預(yù)共享密匙 (這需要‘psk’字段)
WPA-EAP = WPA 使用 EAP 認證
EEE8021X =IEEE 802.1X 使用EAP 認證并動態(tài)生成密匙
NONE = 沒有使用 WPA ;可以使用明碼密匙或者靜態(tài)WEP
WPA-PSK-SHA256 = 類似 WPA-PSK 但是使用增強型的SHA256-based加密算法
WPA-EAP-SHA256 = 類似 WPA-EAP 但是使用增強型的SHA256-based加密算法
如果沒有設(shè)置,將會模式設(shè)置為 WPA-PSK WPA-EAP
ieee80211w:是否激活包含管理機制
- 0 = 取消(默認設(shè)置,除非通過和全局pmf參數(shù)改變)
- 1 = 可選擇的
- 2 = 必要的
- 更多通用的配置選項基于PMF(包含管理機制protected management frames)認證程序:
- PMF enabled: ieee80211w=1 and key_mgmt=WPA-EAP WPA-EAP-SHA256
- PMF required: ieee80211w=2 and key_mgmt=WPA-EAP-SHA256
- (當(dāng)使用WPA2-Personal時WPA-PSK and WPA-WPSK-SHA256也是類似配置)
auth_alg:允許的IEEE 802.11 認證算法列表
- OPEN = 開放性系統(tǒng)認證(WPA/WPA2的必要選項)
- SHARED = 共享密匙認證(靜態(tài)WEP密碼的必要選項)
- LEAP = LEAP/Network EAP(只在LEAP中使用)
- 如果沒有設(shè)置,將使用自動選擇(如果LEAP允許作為一種EAP方法,LEAP開放系統(tǒng)將會被激活)
pairwise : WPA點對點(單播)支持的密碼表格
- CCMP = AES 的CBC-MAC計數(shù)模式 [RFC 3610, IEEE 802.11i/D7.0]
- TKIP = 臨時密鑰完整性協(xié)議 [IEEE 802.11i/D7.0]
- NONE = 只使用組密碼 (不贊成使用,當(dāng)APs 支持成對密匙是將不被包含)
- 如果沒有設(shè)置,將默認設(shè)置為: CCMP TKIP
group:組(廣播/組播)支持的密碼列表
- CCMP = AES 的CBC-MAC計數(shù)模式 [RFC 3610, IEEE 802.11i/D7.0]
- TKIP = 臨時密鑰完整性協(xié)議 [IEEE 802.11i/D7.0]
- WEP104 =104位 WEP(Wired Equivalent Privacy有效對等密匙)
- WEP40 = 40位 WEP(Wired Equivalent Privacy有效對等密匙)[IEEE 802.11]
- 如果沒有設(shè)置,將會默認設(shè)置為: CCMP TKIP WEP104 WEP40
psk: WPA預(yù)共享密碼;256位預(yù)共享密碼
在WPA-PSK模式下的密碼可以使用64進制數(shù)字輸入,即,32字節(jié)或者一個ASCII密碼(在這種情況下,真正的PSK將會使用密碼和SSID生成)。ASCII密碼必須在8到63個字節(jié)之間(包含8字節(jié)和63字節(jié))。拓展:拓展字段格式可以被用于表示PSK/passphrase儲存在外部存儲器中。
如果使用WPA-EAP這個字段不是必須的。
注意:其他一些工具,wpa_supplicant可以被用于從ASCII 密碼中生成256位密匙。這些進程將會占用很多CPU資源,并且在密碼和SSID確實被改變的情況下再生成密匙可以優(yōu)化wpa_supplicant的啟動和重構(gòu)時間。
mem_only_psk:是否只在內(nèi)存中保持PSK/passphrase0 = 允許psk/passphrase儲存在配置文件中
1 = psk/passphrase不儲存到配置文件中
mem_only_psk=0
** eapol_flags: IEEE 802.1X/EAPOL 選項(bit field位字段)**
- 在non-WPA模式下的動態(tài)WEP 密碼
- bit0 (1):要求動態(tài)生成單播的WEP密鑰
- bit1 (2):要求動態(tài)生成廣播WEP密鑰
- (3=要求兩種類型的WEP密鑰;默認設(shè)置)
- 注意:當(dāng)使用無線認證時(包括macsec_qca設(shè)備驅(qū)動),為了能夠完整地認證,需要將eapol_flags設(shè)置為0
macsec_policy:EEE 802.1X/MACsec options選項
- 這決定了MACsec使用何種回話擔(dān)保。這個目前只用于使用macsec_qca 設(shè)備驅(qū)動接口時。
- 0 = 不使用MACsec(默認)
- 1 = 激活MACsec-必須是安全的,接受密碼服務(wù)器的通知來決定是否使用一個安全會話與否
mixed_cell : 這個選項可以被用于配置是否為所謂的混雜單元,即一個同樣的SSID 網(wǎng)絡(luò)使用明碼和加密密匙
- 0 = 取消(默認)
- 1 = 激活
proactive_key_caching:
- 激活/取消WPA2的PMKSA隨機緩存
- 0 = 取消(默認設(shè)置,除非使用全局參數(shù)okc來改變)
- 1 = 激活
wep_key0..3:靜態(tài)WEP密碼(雙精度ASCII引用,比如“abcd”;或者沒有引用的十六進制數(shù),比如“012345678”)
- wep_tx_keyidx: Default WEP key index (TX) (0..3)
peerkey:是否允許直接連接的peerkey協(xié)議(IEEE 802.11e DLS),這個只用于 RSN/WPA2
- 0 = 取消(默認)
- 1 = 激活
- peerkey=1
wpa_ptk_rekey:PTK最大的存活時間(秒),這個選項可以被用于配置執(zhí)行PTK密匙更新來緩解因為TKIP缺陷而受到的攻擊
以下字段值用于內(nèi)部EAP實施。
- eap:可接受的空間分離的EAP方法列表
- MD5 = EAP-MD5(不安全和不生成原密碼。不能用于WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二階段使用)
- MSCHAPV2 = EAP-MSCHAPv2 (不能單獨使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二階段中使用)
- OTP = EAP-OTP () (不能單獨使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二階段中使用)
- GTC = EAP-GTC (不能單獨使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二階段中使用)
- TLS = EAP-TLS(客戶端和服務(wù)端的認證)
- PEAP = EAP-PEAP(EAP認證隧道)
- TTLS = EAP-TTLS (EAP認證隧道或者PAP/CHAP/MSCHAP/MSCHAPV2認證)
- 如果沒有設(shè)置,所有編譯的方法都被允許
identity:EAP的字符標(biāo)識符
- 這個字段同樣被用于配置使用EAP-PSK/PAX/SAKE/GPSK的NAI
anonymous_identity : EAP的匿名標(biāo)識符字符串(被用于支持不同的標(biāo)識符隧道的非加密EAP類型的標(biāo)識符,比如,EAP-TTLS)。這個字段也可以被用于EAP-SIM/AKA/AKA’保存匿名標(biāo)識符
password: EAP的密碼字符串。這個字段既可以包含純文本密碼字符串(使用ASCII或者十六進制字符串)也可以一個使用hash:<32 hex digits>格式的NtPasswordHash(16字節(jié)MD4 哈希密碼)
NtPasswordHash只能用于MSCHAPv2 或者 MSCHAP(EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP);EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), 和EAP-SAKE (256-bit PSK) 也可以使用該字段得到配置。
對于EAP-GPSK這是一個正確的psk長度。拓展:格式可以被用于表示密碼儲存在外部存儲器中。
ca_cert:CA 的認證文件(PEM/DER)的路徑這個字段有一個或者多個的受信任的CA認證。 如果ca_cert 和 ca_path都沒有包含文件路徑,認證服務(wù)將不會驗證。這是不安全的,并且當(dāng)使用EAP-TLS/TTLS/PEAP時一個受信任的CA認證總是被配置。完整的路徑應(yīng)該為絕對路徑(wpa_supplicant可能在后天運行時改變工作路徑)。
另外,這個字段可以被用于只執(zhí)行服務(wù)器認證的匹配任務(wù)(SHA-256 hash of the DER encoded X.509 certificate),在這種情況下,服務(wù)器認證中CA認證可能被忽略,并且只驗證服務(wù)器認證。這個可以通過以下格式來配置:hash:://server/sha256/cert_hash_in_hex
例如:”hash://server/sha256/5a1bc1296205e6fdbe3979728efe3920798885c1c4590b5f90f43222d239ca6a”
在window操作系統(tǒng)下,受信任的CA認證可以通過設(shè)置cert_store://從系統(tǒng)認證儲存器中加載,例如:ca_cert=”cert_store://CA” or ca_cert=”cert_store://ROOT”. 注意當(dāng)將wpa_supplicant作為應(yīng)用程序運行時,用戶(當(dāng)前賬戶)認證儲存器將是可用的,當(dāng)運行wpasvc作為服務(wù)器時,計算器(計算機賬戶)儲存器將是可用的。
** ca_path : CA認證文件(PEM)的目錄路徑。**這個路徑可能包含OpenSSL格式的多CA認證。這種常見的使用方法是指系統(tǒng)那些安裝在/etc/ssl/certs路徑下的可信任的CA認證列表,如果配置了的話,這些認證將會被添加到可信任CAs列表中, ca_cert可能也包含在這種案例中,但它不是必須的。
client_cert : 客戶端認證文件的路徑(PEM/DER)
完整的路徑應(yīng)該為文件的絕對路徑(因為wpa_supplicant運行在后臺時可能會改變工作路徑)
另外,名為blob的配置也可以被用來設(shè)置blob://.
private_key : 客戶端私人密匙文件路徑(PEM/DER/PFX)當(dāng)使用 PKCS#12/PFX 文件 (.p12/.pfx), client_cert應(yīng)該被注釋掉。這種情況下私人密匙和認證將會從PKCS#12文件中讀出。完整的路徑應(yīng)該為文件的絕對路徑(因為wpa_supplicant運行在后臺時可能會改變工作路徑)
當(dāng)client_cert退出時并且配置私人密匙如以下格式時,windows 認證儲存器可以被使用
例如 private_key=”hash://63093aa9c47f56ae88334c7b65a4”
注意:當(dāng)wpa_supplicant作為應(yīng)用程序運行時,用戶(當(dāng)前賬戶)認證儲存器將是可用的,當(dāng)運行wpasvc作為服務(wù)器時,計算器(計算機賬戶)儲存器將是可用的。
另外,名為blob的配置也可以被用來設(shè)置blob://.
** private_key_passwd : 私人密匙文件的密碼(如果遺漏,將會在控制界面中詢問)**
** dh_file: DH/DSA參數(shù)文件的路徑(PEM 格式)**這個選項配置設(shè)置一個短暫的DH密碼交換參數(shù)的文件。在大多數(shù)情況下,默認的RSA認證將不會在這種情況下使用。然而,使用短暫的DH密碼交換可能會建立RSA認證。另外,DSA 密碼算法總是使用短暫性DH密匙,這個選線可以用于實現(xiàn)保密。如果這個文件使用了DAS參數(shù)格式,它將會自動轉(zhuǎn)化為DH參數(shù)
subject_match: 子類字符串是針對認證服務(wù)器證書來匹配如果這個字符串設(shè)置了的話,服務(wù)器證書只有在這個實體上包含了這個字符串才的情況下才能被接受。
該實體字符串使用以下格式配置:
/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
注意:因為這是一個子類字符串匹配,對于可能的一種中文實體域名情況下將不能安全地進行后綴匹配。對于這種應(yīng)用案例,應(yīng)該使用domain_suffix_match 或者 domain_match來替代。
altsubject_match : 分號分隔符將會和選擇服務(wù)器認證證書實體名稱相匹配如果該字符被設(shè)置了的話,如果服務(wù)器認證包含了一個擴展的選擇項目名稱實體,該認證才能被接受。
altSubjectName字符串的格式:TYPE:VALUE
Example: EMAIL:server@example.com
Example: DNS:server.example.com;DNS:server2.example.com
支持的格式為:EMAIL, DNS, URI
domain_suffix_match:域名服務(wù)器名稱的規(guī)則
- 如果設(shè)置了的話,在SubjectAltName dNSName的AAAserver認證請求FQDN后綴匹配。如果匹配了一個找到DNS名稱,約束條件將會被滿足。如果沒有DNS名稱的值存在,這個約束條件是使用相同的后綴匹配比較來匹配中文實體名。
- 這里的后綴匹配表示逐一從頂級域名開始并且domain_suffix_match的所有標(biāo)簽應(yīng)該包含在認證證書中和一個標(biāo)簽比較主機/域名。除了必要的標(biāo)簽外,認證證書可能包含額外的字級標(biāo)簽。
- 例如,domain_suffix_match=example.com 將會匹配test.example.com,但它將不會匹配test-example.com。
domain_match:域名服務(wù)器的約束條件 - 如果設(shè)置了的話,F(xiàn)QDN將會被用做一個要求完全匹配服務(wù)器認證證書中SubjectAltName 域名元素。如果一個匹配的域名被找到,這個約束條件將被滿足。如果不存在域名名稱值,這個約束就是在SubjectName CN中文 同樣的完全匹配來比較 得匹配。這種行為就和domain_suffix_match類似,但是有一個完全匹配是必須的,即不允許子域名和通配符匹配。使用不區(qū)分大小的比較,因此”Example.com” 可以匹配 “example.com”,但是將不會匹配 “test.Example.com”.
phase1 : 階段一(外部認證:即TLS隧道)參數(shù)(成對的字段字符,比如:”peapver=0” 或者”peapver=1 peaplabel=1”)
- ‘peapver’可以被用于強制使用哪個版本的PEAP(0或者1)。
- ‘peaplabel=1’可以被用于在使用PEAPv1或者更新版本時導(dǎo)出密碼的期間強制使用新的標(biāo)簽 “client PEAP encryption”,一些擴展的PEAPv1的實施還使用舊的標(biāo)簽”client EAP encryption”,現(xiàn)在wpa_supplicant已經(jīng)使用”client EAP encryption”作為默認的值。一些服務(wù)器,比如輻射器可能需要強制配置peaplabel=1 來和PEAPv1進行交互操作;查看文件eap_testing.txt 得到更多相關(guān)信息。
- ‘peap_outer_success=0’ 可以被用于終止EAP-Success 隧道的PEAP認證。這在一些執(zhí)行 draft-josefsson-pppext-eap-tls-eap-05.txt(比如Lucent NavisRadius v4.4.0 with PEAP in “IETF Draft 5” mode模式)RADIUS服務(wù)器上。
- include_tls_length=1可以被用于強制使wpa_supplicant 在所有沒有碎片化的TLS管理事件中包含TLS 管理長度字段。
- sim_min_num_chal=3 可以被用于配置EAP-SIM請求三個口令(默認情況下,它只接受到2個或者3個)
- result_ind=1可以被用于使能EAP-SIM和EAP-AKA來指示保護結(jié)果。
- ‘crypto_binding’ 該選項可以被用于控制PEAPv0加密綁定行為:
- 0 =不適用加密綁定(默認)
- 1 =當(dāng)服務(wù)器支持時使用加密綁定
- 2 = 請求加密綁定
- EAP-WSC (WPS)使用以下選項的格式:pin= or pbc=1.
- 對于無線IEEE 802.1X加密認證,”allow_canned_success=1”可以被用于配置允許EAP-Success (and EAP-Failure)不經(jīng)歷認證步驟的模式。一些交換機當(dāng)強制端口被授權(quán)/不被授權(quán)或者認證服務(wù)器遙不可及是的一種備用選項才使用這種配置序列。
- 默認情況下,wap_supplicant丟棄這種免收流氓設(shè)備的潛在攻擊的保護機制,但這個選項可以被用于取消在服務(wù)器/認證器不需要被認證的保護案例。
phase2 : 階段二(TLS隧道的內(nèi)部認證)參數(shù)(string with field-value pairs, e.g., “auth=MSCHAPV2” for EAP-PEAP or”autheap=MSCHAPV2 autheap=MD5” for EAP-TTLS)
- “mschapv2_retry=0” 可以被用于取消 MSCHAPv2 在認證失敗后重試密碼。
TLS-based 方法可以用以下參數(shù)來控制TLS行為(這個通常是下第一階段的參數(shù),但是也可以當(dāng)EAP-TLS在內(nèi)部隧道使用時 被用在第二階段)
- tls_allow_md5=1 允許MD5-based 證書簽名(取決于TLS庫,為了足夠安全這個選項默認取消)
- tls_disable_time_checks=1 忽略證書有效期(這個選項要求TLS庫接受認證,即使在當(dāng)前它們是不能用的,即已過期或尚未生效;這個應(yīng)該只作為測試目的使用)
- tls_disable_session_ticket=1 取消TLS外部探測會話
- tls_disable_session_ticket=0 允許使用TLS外部探測會話(注意:如果沒有設(shè)置,對于EAP-TLS/PEAP/TTLS將會自動設(shè)置為1,作為一個來破壞服務(wù)器執(zhí)行認證的工作區(qū),除非EAP工作區(qū)使用參數(shù)eap_workaround=0來取消。)。對于EAP-FAST,這個參數(shù)必須設(shè)置為0(或者不設(shè)置,使用自動配置默認值)
- tls_disable_tlsv1_0=1 取消使用TLSv1.0
- tls_disable_tlsv1_1=1 取消使用TLSv1.1(已經(jīng)發(fā)布更新的TLS版本的AAA服務(wù)器的工作區(qū))
- tls_disable_tlsv1_2=1 取消使用TLSv1.2(已經(jīng)發(fā)布更新的TLS版本的AAA服務(wù)器的工作區(qū))
以下認證/私人密匙字段將在使用EAP-TTLS 或者 EAP-PEAP 時內(nèi)部第二階段認證使用
ca_cert2:CA認證證書的文件路徑。這個文件可以有一個或者多個受信任的CA認證證書。如果不包含ca_cert2 和 ca_path2 服務(wù)器認證將不會生效。這是不安全的,受信任的CA認證證書必須總是被配置。
ca_path2:CA認證證書的目錄路徑(PEM)
client_cert2: 客戶端認證證書的文件路徑
private_key2:客戶端私人密匙文件路徑
private_key2_passwd : 私人密碼文件
dh_file2: DH/DSA參數(shù)文件路徑(PEM格式)
subject_match2 : 通過子類字符串匹配認證服務(wù)器的憑證證書。查看subject_match獲取相關(guān)細節(jié)信息。
altsubject_match2 : 以分號分隔字符匹配認證服務(wù)器的備用實體名。查看altsubject_match獲取相關(guān)細節(jié)。
domain_suffix_match2 : 域名服務(wù)器的約束,查看domain_suffix_match獲取更多細節(jié)。
fragment_size : EAP片段最大的字節(jié)長度(默認為1398)。
這個值限制使用支持片段的EAP方法的片段長度(例如:EAP-TLS and EAP-PEAP)。這個值應(yīng)該被設(shè)置為足夠小的值來使EAP消息能夠適用于使用EAPOL的MTU網(wǎng)絡(luò)接口。在大多數(shù)情況下默認是已經(jīng)是合適的值了。ocsp : 是否使用/請求OCSP來檢測服務(wù)器認證證書
0 = 不使用OCSP(外部TLS 認證狀態(tài))
1 = 嘗試使用OCSP 但不是必要的請求
2 = 請求可用的OCSP
openssl_ciphers:OpenSSL指定的密碼配置(這個選項可以被用于重寫全局參數(shù)openssl_ciphers 往回看)
EAP-FAST 變量
pac_file: PAC實體的文件路徑。wpa_supplicant將需要能夠在PAC被滿足或者拒絕時創(chuàng)建這個文件并且寫入更新到這個文件中。完整的文件路徑必須是絕對文件路徑(因為wpa_supplicant作為后臺運行程序時可能會改變工作路徑)。另外,blob名字配置可以被用于設(shè)置這個參數(shù)到blob:
-
phase1: fast_provisioning可以用來激活對EAP-FAST認證證書(PAC)的在線配置:
- 0 = 取消
- 1 = 允許未經(jīng)身份認證的配置
- 2 = 允許經(jīng)身份認證的配置
- 3 = 允許未經(jīng)身份認證和身份認證的配置
fast_max_pac_list_len=選項可以被用于設(shè)置PAC實體儲存到PAC列表的最大數(shù)量(默認為10)
fast_pac_format=binary 可以被用于選擇為了保存一些空間(默認使用約為2.5倍的最小的二進制長度的文本格式)而儲存PAC實體的二進制格式
wpa_supplicant允許的最大的一些圍繞解決認證服務(wù)器的錯誤交互操作的問題工作的“EAP workaround”數(shù)量,因為目前認證服務(wù)器存在大量的某些問題,所以這些選項默認激活的。嚴格的一致性EAP模式可以通過使用選項eap_workaround=0 取消工作區(qū)來配置
活動站點的限制
- 如果一個 在ap_max_inactivity 時間內(nèi)(秒)沒有發(fā)送任何東西,一個空的數(shù)據(jù)幀將會發(fā)送給它來驗證它是夠還在搜索范圍內(nèi)。如果該數(shù)據(jù)幀沒有收到應(yīng)答ASK,這個站點將會被分離然后失去認證。這個特性當(dāng)STAs移動出某個范圍后,用于清理舊的實體。
- 在AP仍然還在范圍內(nèi)的情況下可以與站點取得關(guān)聯(lián);調(diào)查活性是一種驗證是否存活的不錯的方法;即客戶端將不會在連接失敗時報告,因為失去連接的信息數(shù)據(jù)幀不會在STA發(fā)送第一次調(diào)查幀后馬上發(fā)送。
- 默認數(shù)值為:300s(即5分鐘)
- ap_max_inactivity=300
AP模式下信標(biāo)間隔的DTIM周期 - dtim_period=2
- 信標(biāo)間隔(默認為100TU)
- beacon_int=100
- MAC地址規(guī)則
- 0 = 使用永久MAC地址
- 1 = 使用為每個ESS連接分配隨機的MAC地址
- 2 = 類似于參數(shù)1 但是使用唯一的標(biāo)志序列OUI(有當(dāng)?shù)毓芾韱T設(shè)置)
- mac_addr=0
disable_ht : 是否取消HT (802.11n)
0 = 使能HT (802.11n)(如果AP支持的話)
1 = 取消
disable_ht40 : 是否取消HT-40 (802.11n)0 = 使能HT-40 (802.11n)(如果AP支持的話)
1 = 取消HT-40 (802.11n)
disable_sgi : 是否取消SGI (short guard interval短護欄間隔)0 = 激活SGI(如果AP支持的話)
1 = 取消SGI
disable_ldpc : 是否取消LDPC0 = 激活LDPC(如果AP支持的話)
1 = 取消LDPC
ht40_intolerant : 是否取消容忍40MHZ0 = 容忍40MHZ
1 = 不容忍40MHZ
** ht_mcs : 配置為允許MCS率**解析為一個十六進制的字節(jié)數(shù)組
ht_mcs=”” // Use all available (default)默認使用所有可用的數(shù)值
ht_mcs=”0xff 00 00 00 00 00 00 00 00 00 ” // Use MCS 0-7 only只使用0-7MCS
ht_mcs=”0xff ff 00 00 00 00 00 00 00 00 ” // Use MCS 0-15 only只使用0-15MCS
disable_max_amsdu : 是否取消MAX_AMSDU-1 = 不做任何改變
0 = 如果硬件支持的話使能MAX_AMSDU
1 = 取消 AMSDU
ampdu_factor : 外部最大的A-MPDU長度數(shù)值范圍:0-3,see 7.3.2.56.3 in IEEE Std 802.11n-2009.
** ampdu_density : 允許重寫AMPDU的密度配置**作為提示被內(nèi)核處理
-1 = 不做任何改變。
0-3 = 設(shè)置AMPDU的密度(及稱為因子)為指定的值
disable_vht : 是否取消VHT0 = 激活VHT(如果AP支持的話)
1 = 取消VHT
vht_capa : 設(shè)置VHT為重寫功能
vht_capa_mask : VHT功能的掩碼
vht_rx_mcs_nss_1/2/3/4/5/6/7/8: override the MCS set for RX NSS 1-8重寫MCS設(shè)置為RX NSS 1-8
vht_tx_mcs_nss_1/2/3/4/5/6/7/8: override the MCS set for TX NSS 1-8重寫MCS設(shè)置為TX MSS 1-80 = MCS 0-7
1 = MCS 0-8
2 = MCS 0-9
3 = 不支持
支持快速會話轉(zhuǎn)移
- 本節(jié)的選項只在當(dāng)編譯hostapd時設(shè)置建立配置選項CONFIG_FST。這些選項允許這個接口成為FST步驟的一部分。
- FST是從相同的或者不同的一個通道到另外一個通道的會話轉(zhuǎn)移。
- 更多細節(jié)可以查看 IEEE Std 802.11ad-2012.
接口所屬的FST標(biāo)志組
- fst_group_id=bond0
FST組的接口優(yōu)先級
- 定義一個接口的更高的優(yōu)先級意味著FST轉(zhuǎn)換器擁有更高的優(yōu)先級
- fst_priority的取值范圍為:1-255,當(dāng)值為一時擁有最低優(yōu)先級
- fst_priority=100
這個接口的默認LLT值(ms)這個值被用于會話建立后沒有提供數(shù)值的情況,默認為50ms - fst_llt 值的范圍是1- 4294967(以為spec的限制,查看10.32.2.2 狀態(tài)之間的轉(zhuǎn)換)
- fst_llt=100
以下為網(wǎng)絡(luò)語句塊的例程:
簡單的案例: WPA-PSK, PSK ASCII密文,允許所有有效密碼
network={
ssid="simple"
psk="very secret passphrase"
priority=5
}
和以上類似,增加了請求SSID的特定掃描(用于拒絕廣播SSID 的APs)
network={
ssid="second ssid"
scan_ssid=1
psk="very secret passphrase"
priority=2
}
只在WPA-PSK時使用,接受任何可用的密碼組合
network={
ssid="example"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2
}
使用TKIP加密算法的WPA-Personal(PSK),并且強制頻繁地重置PTK密碼
network={
ssid="example"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="not so secure passphrase"
wpa_ptk_rekey=600
}
當(dāng)使用WPA-EAP時。允許CCMP和TKIP加密算法。使用WEP104或者WEP40作為組密碼將不會被接受
network={
ssid="example"
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
eap=TLS
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
priority=1
}
使用新的peaplabel標(biāo)簽來進行RADIUS 服務(wù)器的EAP-PEAP/MSCHAPv2 配置(例如,輻射器)
network={
ssid="example"
key_mgmt=WPA-EAP
eap=PEAP
identity="user@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
phase1="peaplabel=1"
phase2="auth=MSCHAPV2"
priority=10
}
使用非加密的匿名標(biāo)志的EAP-TTLS/EAP-MD5-Challenge配置,真實的標(biāo)識符只在加密的TLS隧道上發(fā)送
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
priority=2
}
使用非加密的匿名標(biāo)志的EAP-TTLS/MSCHAPv2配置,真實的標(biāo)識符只在加密的TLS隧道上發(fā)送
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
phase2="auth=MSCHAPV2"
}
用不同的CA認證證書搭建WPA-EAP, EAP-TTLS 外部和內(nèi)部認證
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
# Phase1 / outer authentication
anonymous_identity="anonymous@example.com"
ca_cert="/etc/cert/ca.pem"
# Phase 2 / inner authentication
phase2="autheap=TLS"
ca_cert2="/etc/cert/ca2.pem"
client_cert2="/etc/cer/user.pem"
private_key2="/etc/cer/user.prv"
private_key2_passwd="password"
priority=2
}
支持WPA-PSK 和 WPA-EAP。只有接受CCMP作為成對分組密碼
network={
ssid="example"
bssid=00:11:22:33:44:55
proto=WPA RSN
key_mgmt=WPA-PSK WPA-EAP
pairwise=CCMP
group=CCMP
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
}
SSID 中的特殊字符,使用十六進制。默認為WPA-PSK,WPA-EAP和所有可用的密文
network={
ssid=00010203
psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
}
GSM SIM 或者 USIM 的EAP-SIM
network={
ssid="eap-sim-test"
key_mgmt=WPA-EAP
eap=SIM
pin="1234"
pcsc=""
}
EAP-PSK
network={
ssid="eap-psk-test"
key_mgmt=WPA-EAP
eap=PSK
anonymous_identity="eap_psk_user"
password=06b4be19da289f475aa46a33cb793029
identity="eap_psk_user@example.com"
}
IEEE 802.1x/eapol動態(tài)生成WEP密鑰(即沒有WPA)使用EAP-TLS認證和密鑰生成;需要單播和廣播WEP密鑰。
network={
ssid="1x-test"
key_mgmt=IEEE8021X
eap=TLS
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
eapol_flags=3
}
LEAP動態(tài)WEP密匙
network={
ssid="leap-example"
key_mgmt=IEEE8021X
eap=LEAP
identity="user"
password="foobar"
}
EAP-IKEv2 使用為服務(wù)器和對等認證共享密碼
network={
ssid="ikev2-example"
key_mgmt=WPA-EAP
eap=IKEV2
identity="user"
password="foobar"
}
EAP-FAST with WPA (WPA or WPA2)
network={
ssid="eap-fast-test"
key_mgmt=WPA-EAP
eap=FAST
anonymous_identity="FAST-000102030405"
identity="username"
password="password"
phase1="fast_provisioning=1"
pac_file="/etc/wpa_supplicant.eap-fast-pac"
}
network={
ssid="eap-fast-test"
key_mgmt=WPA-EAP
eap=FAST
anonymous_identity="FAST-000102030405"
identity="username"
password="password"
phase1="fast_provisioning=1"
pac_file="blob://eap-fast-pac"
}
純文本連接(no WPA, no IEEE 802.1X)
network={
ssid="plaintext-test"
key_mgmt=NONE
}
** Shared WEP key connection共享WEP密匙連接(no WPA, no IEEE 802.1X)**
network={
ssid="static-wep-test"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
Shared WEP key connection共享WEP密匙連接(no WPA, no IEEE 802.1X) 使用IEEE 802.11 認證共享密匙
network={
ssid="static-wep-test2"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
IBSS/ad-hoc network with RSN
network={
ssid="ibss-rsn"
key_mgmt=WPA-PSK
proto=RSN
psk="12345678"
mode=1
frequency=2412
pairwise=CCMP
group=CCMP
}
IBSS/ad-hoc network with WPA-None/TKIP (deprecated已經(jīng)過時了的)
network={
ssid="test adhoc"
mode=1
frequency=2412
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="secret passphrase"
}
開放匹配的網(wǎng)絡(luò)
network={
ssid="test mesh"
mode=5
frequency=2437
key_mgmt=NONE
}
secure (SAE + AMPE) network
network={
ssid="secure mesh"
mode=5
frequency=2437
key_mgmt=SAE
psk="very secret passphrase"
}
涵蓋所有允許更多或者更少的配置模式的案例
network={
ssid="example"
scan_ssid=1
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="very secret passphrase"
eap=TTLS PEAP TLS
identity="user@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
phase1="peaplabel=0"
}
EAP-TLS智能卡的案例(openssl的工具)
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TLS
proto=RSN
pairwise=CCMP TKIP
group=CCMP TKIP
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
engine=1
//這里配置的工具必須是可用的。在全局選項中查看openssl支持的工具。
//通過該引擎的密鑰必須和配置上述的客戶端證書的私鑰匹配
//使用opensc工具
//engine_id="opensc"
//key_id="45"
//使用pkcs11 工具
engine_id="pkcs11"
key_id="id_45"
//PIN可選的配置,這個選項可以被遺漏并且PIN將會被控制接口請求
pin="1234"
如何使用內(nèi)聯(lián)blob作為CA認證證書的數(shù)據(jù)取代使用外部文件來配置的案例
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="blob://exampleblob"
priority=20
}
blob-base64-exampleblob={
SGVsbG8gV29ybGQhCg==
}
對于SSID通配符的匹配(只支持純文本APs)在本例中無論SSID為和都選擇任何開放的AP
network={
key_mgmt=NONE
}
配置兩個在這個網(wǎng)絡(luò)中會被忽略的APs 黑名單
network={
ssid="example"
psk="very secret passphrase"
bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66
}
該案例配置了AP選擇時指定特定APs的限制;任何其他不匹配掩碼地址的AP將會被忽略
network={
ssid="example"
psk="very secret passphrase"
bssid_whitelist=02:55:ae:bc:00:00/ff:ff:ff:ff:00:00 00:00:77:66:55:44/00:00:ff:ff:ff:ff
}
只掃描通道36 的配置案例
freq_list=5180
network={
key_mgmt=NONE
}
MACsec配置案例
network={
key_mgmt=IEEE8021X
eap=TTLS
phase2="auth=PAP"
anonymous_identity="anonymous@example.com"
identity="user@example.com"
password="secretr"
ca_cert="/etc/cert/ca.pem"
eapol_flags=0
macsec_policy=1
}
原文:https://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf