wpa_supplicant 的配置說明文件 wpa_supplicant.conf 譯文

wpa_supplicant 配置文件的例子

  • 這個配置文件描述的格式和列表都是可用的選項
  • 請閱讀“examples”子目錄下簡單的配置例子
  • 空行和空字符以及以“#”開頭的字符都會被忽略

  • 注意:這個文件中可能包含密碼信息並且在多用戶系統中

  • 只有root用戶才生效

  • 注意:爲確保當wpa_supplicant運行在後臺時,允許修改工作目錄。

  • 在這個配置文件中的文件路徑應該爲絕對路徑

  • 是否允許wpa_supplicant更新(覆蓋)配置文件

  • 這個選項允許修改配置後wpa_supplicant可以覆蓋配置文件
  • (eg:通過wpa_cli加入新的網絡語句塊、wpa_gui寫入配置、密碼改變等情況)
  • 這對於wpa_cli和wpa_gui能夠永久地修改配置是必需的。
  • 請注意允許更新配置時應將該處的註釋“#”移除
#updata_config=1
  • 全局配置(在所有網絡語句塊中共享)
  • 控制接口的參數,如若參數是指定的,wpa_supplicant將會爲外部程序打開控制接口從而管理wpa_supplicant。字符串的含義取決於使用何種接口機制,對於所有案例,存在與配置中的參數決定了控制接口是否使能
  • 對於 UNIX的域名套接字(在linux和BSD默認使用):這個目錄是爲了監聽從外部程序(CLI/GUI,etc.)對於查看狀態信息和配置內容的請求。
  • 套接字文件的命令將會基於接口的名稱,因此如果有多個接口可用,多個wpa_supplicant程序可以運行在用一個時刻。
  • /var/run/wpa_supplicant是默認的也是推薦使用的存放套接字的目錄,wpa_cli將會在嘗試和wpa_supplicant連接時使用它。
  • 通過設置該目錄從而只允許一組成員使用套接字,控制接口的接入控制可以得到配置。這樣wpa_supplicant就有可能以root權限運行(當需要改變網絡配置時和打開原始套接字時),同時仍然允許GUI/CLI 部分運行在非root權限的用戶下。然而,因爲該控制接口可以改變網絡配置,在很多情況下這個接口需要被保護。默認情況下,wpa_supplicant配置爲使用gid 0(組ID爲0 即root用戶)。如果你想允許非root權限的用戶去使用該控制接口的話,加入新的組並且改變這個值匹配那個組。添加用戶到改組是需要擁有控制接口。如果該變量被註釋掉或則沒有包含在配置文件中。當創建目錄或套接字創建時,該組將不會更改默認值的值。
  • 在配置目錄和組時,使用如下格式:
  • #DIR=/var/run/wpa_supplicant GROUP=wheel
  • #DIR=/var/run/wpa_supplicant GROUP=0
  • (groud 可以是組的名稱或者gid)

  • 對於UDP的連接(windown下默認爲該協議連接)改值將會被忽略。

  • 該變量只是用於選擇控制接口被創建,該值可以設置爲udp(ctr_interface=udp).
  • 對於windows的命名管道,該值可以被用於設置控制接口的安全描述符。可以使用安全描述符字符串格式設置(可看http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/),該描述符需要加上 ”SDDL= “的前綴。例如,ctr_interface=SDDL=D 該語句將會設置一個空的DACL(拒絕所有連接)。可在文檔“README-Windows.txt”獲取更多關於SDDL字符格式的信息。
ctrl_interface=/var/run/wpa_spplicant
  • IEEE 802.1X/EAPOL 版本
  • wpa_supplicant 的執行是基於 IEEE 802.1X-2004定義的EAPOL 第二版本 的標準。然而很多接入沒有正確地遵循這一新版本號(他們似乎完全放棄了這一架構)。爲了能讓wpa_supplicant和和這些接入點進行交互操作,改版本號默認設置爲1,以下的配置數字可以用於設置爲新版本(2)。
  • 注意:當使用MACsec,eapol_version 應該設置爲3,定義在IEEE std802.1X-2010中
eapol_version=1
  • 接入點的掃描和選擇
  • 默認情況下,wpa_supplicant請求驅動程序執行接入點的掃描並使用掃描結果選擇合適的接入點。另外一種選擇是允許設備驅動兼顧接入點的掃描和選擇並且使用wpa_supplicant只是運行基於IEEE 802.11 的EAPOL(extensible Authentication protol over Lan 基於局域網的可擴展認證協議)聯繫設備驅動的信息。
  • 參數:0:wpa_supplicant啓動掃描和接入點選擇;如果和當前可找到可用的網絡不匹配,一個新的網絡(IBSS 或者AP 模式操作)可能會被啓動(如果配置)(默認)
  • 1:設備驅動兼顧掃描、接入點選擇和IEEE 802.11 連接參數(eg:WPA IE 一代);這個模式也可以被用於使用IEEE 802.1X 模式的 non-WPA 設備驅動;不要試圖和接入點取得聯繫(i.e.,外部程序需要控制連接)。這種模式同樣必須在使用有限以太網時使用。
  • 注意:macsec_qca 設備驅動是一個執行macsec 特徵的以太網設備類型
  • 2:和參數0類似,但是通過使用安全的規則和SSID(不能爲BSSID)和接入點取得聯繫;這個參數可以用於,例如,使用增強型和NDIS(network driver interface standard)的設備驅動來操作隱藏了的SSID和優化漫遊;在這種模式下,在配置文件中的網絡語句塊將會一個個嘗試連接直到設備驅動報告取得聯繫成功;每一個網絡語句塊應該有相對於密碼管理(key_mgmt)、配對法(pairwide)、用戶組(group)、協議變量(proto variables) 明確的安全規則(在列表中只能有一個安全規則選項)
  • 注意:當ap_scan=2 不應該被用於使用nl80211 設備驅動接口中(當前linux的接口)。ap_scan=1 是工作在nl80211的優化工作。爲了尋找隱藏了的網絡,scan_ssid=1可以用於nl80211 的網絡語句塊中。
  • 當使用IBSS 或者 AP 模式時,ap_scan=2模式可以在忽略掃描結果的情況下立刻建立一個新的網絡。ap_scan=1 模式第一步將會試圖掃描周圍存在的網絡。只有在無可匹配的網絡情況下才會創建一個新的IBSS或者AP模式的網絡。
ap_scan=1
  • 對等網絡管理器的位置
  • 默認情況下,wpa_supplicant爲開放式的網絡運行對等網絡管理器(MPM)。然而,如此設備驅動可以執行MPM,爲了使用設備驅動版本號,你可能需要將它設置爲0。當AMPE( automated message processing exchange 自動信息交換程序)使能時,wpa_supplicant的MPM將會總是有用的。
  • 0:MPM在設備驅動中被執行
  • 1:wpa_supplicant 提供一個處理對等(默認)的MPM
user_mpm=1
  • 最大的匹配鏈路數量(0-255;默認爲99)
  • 當前網絡維持的最大網絡匹配數量
max_peer_link=99
  • 檢測STA靜止的超時時間(秒)(默認爲300秒)
  • 這個超時時間是用於STA網絡清理不活動的站點。
mesh_max_inactivity=300
  • cert_in_cb –時候在事件跳轉過程中包含匹配證書。
  • 這個選項控制是否在EAP匹配認證事件中包含服務器認證和認證鏈節的匹配認證。在默認情況下該選項是激活的。
cert_in_cb=1
  • EAP(extensible Authentication protocol)快速重認證
  • 默認情況下,快速重認證對於支持所有EAP模式的情況下是激活的。這個參數可以被用於取消快速重認證。一般情況下,沒有必要取消它。
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默認密碼的特定配置選項。如果沒有設置,將會使用默認的“DEFAULT:!EXP:!LOW”。查看https://www.openssl.org/docs/apps/ciphers.html OPenSSL關於密碼配置套件的文檔。只有在wpa_supplicant在建立是使用OpenSSL時纔有效。
openssl_chipers=DEFAULT:!EXP:!LOW
  • 動態EAP方式
  • 如果EAP建立動態共享對象文件,它們需要在使用網絡語句塊之前 在這裏被加載。默認情況下,EAP方式在建立時是靜態包含的,所以,這些選項是不必要的。
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
  • 設備驅動程序的接口參數
  • 這個區域可以被用於配置隨意的設備驅動接口參數。選擇設備驅動接口的格式是指定的。在很多案例中這個區域是不起作用的。
driver_param="field=value"
  • 國家語言代碼
  • 當前設備驅動操作的國家語言代碼
country=US
//PMKSA最大的存活時間(秒);默認爲43200
dot11RSNAConfigPMKLifetime=43200
//重認證的閾值(PMK存活時間的百分比);默認爲70
dot11RSNAConfigPMKReauthThreshold=70
//安全關聯協議的超時時間(秒);默認爲60
dot11RSNAConfigSATimeout=60
  • 建立Wi-Fi保護參數
  • 設備通用唯一的標識符(UUID;參照RFC 4122)
  • 如果沒有配置,UUID將會被設置爲本地MAC地址
uuid=12345678-91bc-def0-1234-56789abcdef0
//設備名稱
//對設備使用友好的描述;UTF-8編碼的32個字節
device_name=Wireless Client
//製造商
//設備的製造商(64個ASCII特徵碼)
manufacturer=Company
//型號
//設備型號(32個ASCII特徵碼)
model_name=cmodel
//型號編號
//額外的設備描述(32個ASCII特徵碼)
model_number=123
//序列號
//設備的序列號(32個ASCII特徵碼)
serial_number=12345
  • 設備的主要類型
  • 使用:--的格式
  • categ:整型類型的數值
  • OUI =組織唯一標識符;四個八位字節的16進制編碼數值;WPS OUT默認爲0050F204
  • subcateg =OUI-特定的整型類型數值子類
  • 例如:
  • # 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
  • 操作系統版本
  • 操作系統版本數字的四個八位字節(16進制字符串)
os_version=01020300
  • 配置方法
  • 列表爲所支持的配置方法
  • 可行的方法:usba 以太網顯示 ext_nfc_token int_nfc_token nfc_interface push_button keypad virtual_display physical_display virtual_push_button physical_push_button 標籤
//對於 WSC 1.0
//配置方法=標籤、顯示、按鈕、鍵盤
config_methods=label display push_button keypad
//對於 WSC 2.0
//配置方法=標籤、虛擬顯示、虛擬按鈕、鍵盤
config_methods=label virtual_display virtual_push_button keypad
  • 認證進程
  • 0=進程內部接受憑證(默認)
  • 1=進程不接受憑證;只是通過在ctrl_iface上到外部程序
  • 2=進程在內部接受憑證;只是通過在ctrl_iface上到外部程序
wps_cred_processing=0
  • WPS M1 的屬性,比如window7垂直兼容
  • 屬性內容被添加到M1中(16位進制字符串)
wps_vendor_ext_m1=000137100100020001
  • WPS的令牌-NFC密碼
  • 這些參數可以被用於配置一個固定的站點NFC密碼。這個可以通過某種方式產生,例如使用nfc_pw_token 。當這些參數被使用時,該站點假設已經包含匹配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優先使用網絡
  • 這個優先值將會將會被設置到每個網絡配置文件(執行WPS 協議時添加的)
wps_priority=0
  • 保存在記憶體中最大的BSS 實體數量
  • 默認值爲:200
  • 這個選項可以被設置限制BSS 實體(掃描結果緩存)的內存使用。在使用ap_scan=1模式時在環境中可能需要一個比較大的值存儲大量的接入點
bss_max_count=200
  • 自動掃描
  • 這是一個設置自動掃描以下格式的接口的配置參數
  • autoscan=<自動掃描模塊名稱>:<模塊參數>
  • 自動掃描就像沒有連接或者不活動的bgscan
  • 例如指數模型上的參數將會爲:
  • autoscan=exponential:3:300
  • 以上選項表示每次掃描的延時是基於3的指數的延時時間
  • 最大爲300s(3,9,27,…..300).
  • 對於週期性的模型,參數將會是<固定的整數>
  • #autoscan=periodic:30
  • 以上參數表示30S一個週期自動掃描一次

  • SSID過濾-基於SSID掃描結果過濾

  • 0 表示對掃描結果不過濾(默認)
  • 1 表示從掃描結果中或者掃描結果緩存表中過濾出配置文件中的SSID
filter_ssids=0
  • 外部存儲後端的密碼(密碼口令,等等)
  • 格式:<後端名稱>[:<後端參數選項>]
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)
  • 這個參數控制在GO 生成的隨機密碼的長度。(默認爲8)
p2p_passphrase_len=8
  • 並行進行P2P迭代搜索的額外延時時間
  • 這個值增加額外的延時(ms)讓p2p_find友好地並行操作,從而避免無線點佔用100%的資源。該值默認爲500ms
p2p_search_delay=500
  • 機會性密匙緩存(已稱爲主動型密匙緩存)(默認設置)
  • 這個參數可以用於設置默認的proactive_key_caching參數行爲。默認情況下,OKC是無效的除非使能全局變量okc=1 或者每個網絡中proactive_key_cachng=1。如若okc=1,OKC默認是有效的,不允許每個網絡中的proactive_key_caching=0
okc=0
  • 默認的保護管理架構
  • 這個參數可以用於設置ieee80211w 參數的默認行爲。默認情況下,PMF無效除非全局變量pmf=1/2,或者每個網絡中都配置ieee80211w=1/2 這個參數。當pmf=1/2 時PMF 默認是有效的和可被請求的。在每個網絡中也可以使用ieee80211w 參數設置爲失效。
pmf=0
  • 啓用SAE有限循環羣優先順序
  • 默認情況下(該參數沒有設置)組19(組 ECC定義在超過256位的基本指令領域)是首選的選項,其他組也是激活的。如果該參數被設置,改組將會嘗試控制命令。改組的值在IANA註冊表中列出
sae_groups=21 20 19 26 25
//DTIM週期的默認值(如果沒有在網絡語句塊中被重寫)
dtim_period=2
//信標間隔的默認值(如果沒有在網絡語句塊中被重寫)
beacon_int=100
  • 信標和探測響應幀的基本屬性
  • 該參數可以被用於增加另外的基本屬性到信標和探測響應幀的末尾。這些屬性的格式是一個十六位進制轉儲的原始信息元素(一個或多個元素的 id+len+payload),這用於AP 和 P2P GO 模式下。
ap_vendor_elements=dd0411223301
  • 忽略請求掃描結果命令
  • 當我們觸發掃描命令時,設備驅動可能有掃描結果的返回信息,這個參數可以用於配置類似於被忽略舊的信息而不是更新內部BSS 表格。
ignore_old_scan_res=0
  • scan_cur_freq :是否只在當前頻率下掃描
  • 0:在所有可用的頻率下掃描(默認)
  • 1:如果另一個同一個無線 VIF已經取得關聯下,在當前操作頻率下掃描

  • 默認的MAC 地址規則

  • 0:使用永久的MAC地址
  • 1:給每個連接的ESS使用隨機的MAC地址
  • 2:類似於1,但是保持 OUI(本地管理位集)
  • 默認情況下,使用永久的MAC地址除非通過每一個網絡mac_addr參數改變規則。全局設置mac_addr=1 可以用於改變這個默認的配置行爲。
mac_addr=0
  • 隨機MAC地址的存活時間(秒)(默認爲60s)
rand_addr_lifetime=60
  • 每個關聯操作的MAC地址規則(scanning(掃描)、ANQP(接入網絡查詢協議))
  • 0=使用永久MAC地址
  • 1=使用隨機的MAC地址
  • 2=類似於1,但是使用保持的MAC 地址(當地管理位集)
preassoc_mac_addr=0
  • Interworking (IEEE 802.11u)
  • 激活Interworking
interworking=1
  • 純質的ESS標誌符
  • 如果這個被設置,掃描將會用於迴應只屬於特定的Homogeneous ESS的請求,這個只用於interworking激活的情形。
hessid=00:11:22:33:44:55
  • 自動選擇網絡的行爲
  • 0=不自動通過互聯網選擇
  • 1=執行互聯網網絡選擇當一個或者多個認證已經配置和沒有掃描到匹配的網絡語句塊
auto_interworking=0
  • 認證塊
  • 用於自動網絡選擇的每個認證將會構造爲一組參數,當使用interworking_select and interworking_connect命令時,將會和APs發佈的信息比較
  • 憑證字段:
  • 暫時的(temporary):認證是否是暫時的並且不被保存
  • 優先級(priority):優先級組
  • 默認情況下,所有的網絡和認證都將獲取同等的優先級組(0)這個字段可以被用於認證的更高優先級(和網絡語句塊中的結構體wpa_ssid很類似),這樣可以改變自動選擇網絡的行爲。擁有更高優先級的匹配的網絡(要麼基於激活的網絡語句塊要麼是認證憑證)將會被選擇。
  • pcsc:使用PC / SC和SIM/ USIM卡
  • realm(領域):家庭領域的互聯網
  • username(用戶名):互聯網網絡選擇的用戶名
  • password(密碼):互聯網網絡選擇的密碼
  • ca_cert:互聯網選擇的CA認證
  • client_cert:客戶端認證文件的路徑(PEM/DER)
  • 以上字段適用於在客戶端用認證/密匙來認證(EAP-TLS)的網絡自動選擇。文件的路徑應該爲絕對路徑(wpa_supplicant運行於後臺時可能會改變工作路徑)。另外一個blob的配置可以將此設置爲blob://blob_name
  • 私人密匙:私人密匙(PEM/DER/PFX)的文件路徑
    當使用PKCS#12/PFX文件時(.p12/.pfx),client_cert 應該被註釋掉。這種情況下私人密匙和認證憑證將會從PKCS#12文件中讀出。完整的路徑需要爲絕對工作路徑(wpa_supplicant運行於後臺時可能會改變工作路徑)

通過從客戶端認證中退出,windows下的認證儲存可以被使用,並且私人密匙可以通過以下格式配置:
cert://substring_to_match
hash://certificate_thumbprint_in_hex

舉個例子:private_key=”hash://63093aa9c47f56ae88334c7b65a4”
注意當將wpa_supplicant作爲應用運行時,用戶認證儲存區(自己的用戶賬戶)將被使用。而當運行wpasvc作爲服務端時計算機儲存區(計算機賬戶)將被使用。
另外,一個blob的配置可以將此設置爲blob://blob_name

  • private_key_passwd: 私人密匙的密碼文件
  • imsi: IMSI in | | ‘-’ | format
  • milenage: Milenage parameters for SIM/USIM simulator in :: format
  • domain: Home service provider國內服務提供商 FQDN(s)
    以上選項將被用於比較域服務商名稱列表從而計算出是否該AP是在家用SP下操作。多域接入點可以被用於配置被認爲家庭網絡的非傳統FQDNS

  • roaming_consortium:(漫遊聯合體)Roaming Consortium OI
    如果roaming_consortium_len非空,這個字段包含可以決定哪個接入點支持憑證認證的漫遊聯合體。這是非傳統的領域參數的用法。當使用漫遊聯合體匹配網絡時,因爲NAI域的信息可能不可用或者牽強,EAP參數需要使用憑證預配置。

  • eap:EAP預編譯的方法
    這個字段可以用來指定哪個EAP方法使用這個憑證。如若沒有設置,EAP方法設置爲自動基於ANQP信息(eg:NAI Realm).

  • phase1:預編譯階段1(外部認證)參數,這個字段設置和‘eap’參數類似

  • phase2:預編譯階段2(內部認證)參數,這個字段設置和‘eap’參數類似

  • excluded_ssid: 過濾SSID
    這個選線字段可以用於從配置網絡中過濾指定的SSID(S),多選項可以增加更多SSID

  • roaming_partner:漫遊合作伙伴的信息
    這個字段選項可以用於配置和漫遊夥伴的首選項。該配置字段使用以下格式:
    ,<0/1 exact match>,,<* or country code>
    non-exact 表示任何子域都可以匹配該接入口;priority是設置更高優先級,範圍在0-255

  • update_identifier:更新標識符(PPS MO ID)(Hotspot 2.0 PerProviderSubscription/UpdateIdentifier)

  • provisioning_sp:服務提供商FQDN提供的憑證
    這個字段選項可以用於跟蹤服務提供商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(掃描結果緩存表)的最大通道負荷(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檢查服務憑證
    0=沒有使用OCSP(擴展的認證狀態 TLS)
    1=試圖使用OCSP,但不請求應答
    2=請求接受有效的OCSP應答

  • sim_num:使用多SIM 卡設備時SIM卡的標識符

下面對語句塊舉例子:

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

網絡語句塊

  • 在配置文件中,每個網絡(通常是AP 的共享SSID)被視爲獨立的模塊來配置
  • 該網絡語句塊是有優先配置順序的(第一次匹配)。

-網絡語句塊字段:

  • disabled:
    0=該網絡可以被使用(默認)
    1=該網絡語句塊是失效的(可以通過ctrl_iface激活 eg:使用wpa_cli或者wpa_gui)
  • id_str:外部腳本的網絡標識字符。通過wpa_cli外部執行腳本將WPA_ID_STR作爲環境變量,使得配置特定網絡變得更加容易。
  • ssid:SSID(必須的);一種如下格式的網絡名稱:
    引用雙精度的ASCII字符
    一個十六進制的字符串(SSID每個字節的兩個字符)
    打印的字符:字符串
  • scan_ssid:
    0=不掃描這個通過特定的探測請求幀得到的SSID(默認)
    1=掃描通過特定探測請求幀得到的SSID(這個可以用於尋找不接受廣播的APs或者使用多SSIDs ;這個將會增加掃描延時時間,所以在有必要時才激活此選項)
  • bssid:BSSID(不必要的、可選擇的);如果設置了的話,這個網絡語句塊將被用於使用BSSID配置文件和APs取得關聯。
  • priority: 優先級組 (整數)
  • 默認情況下,所有網絡將會獲得相同的優先級組(0),如果有一些更加可取的網絡,這個字段可以被用於改變wpa_supplicant在BSS中選擇網絡時的順序。這個優先級組將會迭代減少優先級(i.e,優先級數值越大,就越早在掃描結果中得到匹配),對於相同的優先級組,將會根據安全規則、信號強度等來作爲選擇的依據。
  • 請注意在scan_ssid=1 和 ap_scan=2 模式下AP的掃描不能夠使用這個優先級組去選擇掃描順序。相反的他們嘗試使用配置文件中的網絡順序。
  • mode: IEEE 802.11操作模式
  • 0 = 基礎架構模式(管理模式),i.e,和AP取得關聯(默認)
  • 1 = IBSS(自組網、點對點)
  • 2 = AP (接入點)
  • 注意:IBSS只能在key_mgmt NONE(明碼文本和靜態WEP)和WPA-PSK(proto = RSN)下使用。另外,key_mgmt=WPA-NONE(固定的TKIP/CCMP密碼組)也是向後兼容的,但是這種用法是過時的。WPA-None 需要以下的網絡語句塊選項:
  • proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP(or CCMP,兩個不能同時存在),並且密碼必須也得到設置。
  • frequency:IBSS的通道頻率(MHZ),例如:2412=IEEE 802.11b/g 是通道一的頻率。這個值被用於配置IBSS(adhoc自組網)的初始化通道。在基礎架構模式下它將會被忽略。另外,這個值只用於創建IBSS站點。如果一個配置了SSID的IBSS網絡已經存在,其網絡的頻率值將會被用於替代這裏的配置數值。
  • scan_freq:掃描頻率的列表
  • 當掃描BSS時使用空間分離的頻率表(MHZ)掃描。如果該網絡的通道設置是已知的,該選項可以被用於優化掃描行爲,避免掃描網絡沒有用到的通道
  • Example: scan_freq=2412 2437 2462
  • freq_list:獲得許可頻率的數組
  • 允許選擇BBS的空間分離的頻率表。如果設置了的話,當選擇一個BSS時,掃描結果將考慮匹配任何特定的頻率的網絡。
  • 這個選項也可以被設置到網絡語句塊外面。在這種情形下,它將限制特定的頻率被掃描。
  • bgscan:後臺掃描
  • 通過設置爲bgscan模塊,wpa_supplicant可以被配置後臺掃描行爲。爲了漫遊在ESS下,這些模塊要求在後臺運行掃描(i.e,即在所有AP的單一個網絡語句塊中使用相同的SSID)。這個bgscan參數可以使用以下格式:”:”
  • 以下bgscan模塊是可用的:
  • 簡單型:根據信號強度週期性地進行後臺掃描
  • bgscan=”simple:::”
  • bgscan=”simple:30:-45:300”
  • 學習型:通過網絡學習使用的通道,避免bgscan掃描其他通道(實驗型)。
  • bgscan=”learn:::[:]”
  • bgscan=”learn:30:-45:300:/etc/wpa_supplicant/network1.bgscan”
  • 另外可通過以下命令取消bgscan:
  • bgscan=”“
  • 這個選項也可以全局設置,應用於沒有指定特定的bgscan參數。

    proto:公認的協議列表

  • WPA=WPA/IEEE 802.11i/D3.0
  • RSN = WPA2/IEEE 802.11i (可以使用WPA2作爲RSN的別名)
  • 如果沒有設置將會默認使用WPA RSN

    key_mgmt:公認的認證密鑰管理協議列表

  • WPA-PSK = WPA 預共享密匙 (這需要‘psk’字段)

  • WPA-EAP = WPA 使用 EAP 認證
  • EEE8021X =IEEE 802.1X 使用EAP 認證並動態生成密匙
  • NONE = 沒有使用 WPA ;可以使用明碼密匙或者靜態WEP
  • WPA-PSK-SHA256 = 類似 WPA-PSK 但是使用增強型的SHA256-based加密算法
  • WPA-EAP-SHA256 = 類似 WPA-EAP 但是使用增強型的SHA256-based加密算法
  • 如果沒有設置,將會模式設置爲 WPA-PSK WPA-EAP

ieee80211w:是否激活包含管理機制

  • 0 = 取消(默認設置,除非通過和全局pmf參數改變)
  • 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
  • (當使用WPA2-Personal時WPA-PSK and WPA-WPSK-SHA256也是類似配置)

auth_alg:允許的IEEE 802.11 認證算法列表

  • OPEN = 開放性系統認證(WPA/WPA2的必要選項)
  • SHARED = 共享密匙認證(靜態WEP密碼的必要選項)
  • LEAP = LEAP/Network EAP(只在LEAP中使用)
  • 如果沒有設置,將使用自動選擇(如果LEAP允許作爲一種EAP方法,LEAP開放系統將會被激活)

pairwise : WPA點對點(單播)支持的密碼錶格

  • CCMP = AES 的CBC-MAC計數模式 [RFC 3610, IEEE 802.11i/D7.0]
  • TKIP = 臨時密鑰完整性協議 [IEEE 802.11i/D7.0]
  • NONE = 只使用組密碼 (不贊成使用,當APs 支持成對密匙是將不被包含)
  • 如果沒有設置,將默認設置爲: CCMP TKIP

group:組(廣播/組播)支持的密碼列表

  • CCMP = AES 的CBC-MAC計數模式 [RFC 3610, IEEE 802.11i/D7.0]
  • TKIP = 臨時密鑰完整性協議 [IEEE 802.11i/D7.0]
  • WEP104 =104位 WEP(Wired Equivalent Privacy有效對等密匙)
  • WEP40 = 40位 WEP(Wired Equivalent Privacy有效對等密匙)[IEEE 802.11]
  • 如果沒有設置,將會默認設置爲: CCMP TKIP WEP104 WEP40

psk: WPA預共享密碼;256位預共享密碼

  • 在WPA-PSK模式下的密碼可以使用64進制數字輸入,即,32字節或者一個ASCII密碼(在這種情況下,真正的PSK將會使用密碼和SSID生成)。ASCII密碼必須在8到63個字節之間(包含8字節和63字節)。拓展:拓展字段格式可以被用於表示PSK/passphrase儲存在外部存儲器中。
  • 如果使用WPA-EAP這個字段不是必須的。
  • 注意:其他一些工具,wpa_supplicant可以被用於從ASCII 密碼中生成256位密匙。這些進程將會佔用很多CPU資源,並且在密碼和SSID確實被改變的情況下再生成密匙可以優化wpa_supplicant的啓動和重構時間。
    mem_only_psk:是否只在內存中保持PSK/passphrase

  • 0 = 允許psk/passphrase儲存在配置文件中

  • 1 = psk/passphrase不儲存到配置文件中
  • mem_only_psk=0

* eapol_flags: IEEE 802.1X/EAPOL 選項(bit field位字段)*

  • 在non-WPA模式下的動態WEP 密碼
  • bit0 (1):要求動態生成單播的WEP密鑰
  • bit1 (2):要求動態生成廣播WEP密鑰
  • (3=要求兩種類型的WEP密鑰;默認設置)
  • 注意:當使用無線認證時(包括macsec_qca設備驅動),爲了能夠完整地認證,需要將eapol_flags設置爲0

macsec_policy:EEE 802.1X/MACsec options選項

  • 這決定了MACsec使用何種回話擔保。這個目前只用於使用macsec_qca 設備驅動接口時。
  • 0 = 不使用MACsec(默認)
  • 1 = 激活MACsec-必須是安全的,接受密碼服務器的通知來決定是否使用一個安全會話與否

mixed_cell : 這個選項可以被用於配置是否爲所謂的混雜單元,即一個同樣的SSID 網絡使用明碼和加密密匙

  • 0 = 取消(默認)
  • 1 = 激活

proactive_key_caching:

  • 激活/取消WPA2的PMKSA隨機緩存
  • 0 = 取消(默認設置,除非使用全局參數okc來改變)
  • 1 = 激活

wep_key0..3:靜態WEP密碼(雙精度ASCII引用,比如“abcd”;或者沒有引用的十六進制數,比如“012345678”)

  • wep_tx_keyidx: Default WEP key index (TX) (0..3)

peerkey:是否允許直接連接的peerkey協議(IEEE 802.11e DLS),這個只用於 RSN/WPA2

  • 0 = 取消(默認)
  • 1 = 激活
  • peerkey=1

wpa_ptk_rekey:PTK最大的存活時間(秒),這個選項可以被用於配置執行PTK密匙更新來緩解因爲TKIP缺陷而受到的攻擊

以下字段值用於內部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(客戶端和服務端的認證)
- PEAP = EAP-PEAP(EAP認證隧道)
- TTLS = EAP-TTLS (EAP認證隧道或者PAP/CHAP/MSCHAP/MSCHAPV2認證)
- 如果沒有設置,所有編譯的方法都被允許

identity:EAP的字符標識符

  • 這個字段同樣被用於配置使用EAP-PSK/PAX/SAKE/GPSK的NAI

anonymous_identity : EAP的匿名標識符字符串(被用於支持不同的標識符隧道的非加密EAP類型的標識符,比如,EAP-TTLS)。這個字段也可以被用於EAP-SIM/AKA/AKA’保存匿名標識符
password: EAP的密碼字符串。這個字段既可以包含純文本密碼字符串(使用ASCII或者十六進制字符串)也可以一個使用hash:<32 hex digits>格式的NtPasswordHash(16字節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都沒有包含文件路徑,認證服務將不會驗證。這是不安全的,並且當使用EAP-TLS/TTLS/PEAP時一個受信任的CA認證總是被配置。完整的路徑應該爲絕對路徑(wpa_supplicant可能在後天運行時改變工作路徑)。

  • 另外,這個字段可以被用於只執行服務器認證的匹配任務(SHA-256 hash of the DER encoded X.509 certificate),在這種情況下,服務器認證中CA認證可能被忽略,並且只驗證服務器認證。這個可以通過以下格式來配置:hash:://server/sha256/cert_hash_in_hex
  • 例如:”hash://server/sha256/5a1bc1296205e6fdbe3979728efe3920798885c1c4590b5f90f43222d239ca6a”
  • 在window操作系統下,受信任的CA認證可以通過設置cert_store://從系統認證儲存器中加載,例如:ca_cert=”cert_store://CA” or ca_cert=”cert_store://ROOT”. 注意當將wpa_supplicant作爲應用程序運行時,用戶(當前賬戶)認證儲存器將是可用的,當運行wpasvc作爲服務器時,計算器(計算機賬戶)儲存器將是可用的。
    * ca_path : CA認證文件(PEM)的目錄路徑。*

  • 這個路徑可能包含OpenSSL格式的多CA認證。這種常見的使用方法是指系統那些安裝在/etc/ssl/certs路徑下的可信任的CA認證列表,如果配置了的話,這些認證將會被添加到可信任CAs列表中, ca_cert可能也包含在這種案例中,但它不是必須的。

client_cert : 客戶端認證文件的路徑(PEM/DER)

  • 完整的路徑應該爲文件的絕對路徑(因爲wpa_supplicant運行在後臺時可能會改變工作路徑)
  • 另外,名爲blob的配置也可以被用來設置blob://.
    private_key : 客戶端私人密匙文件路徑(PEM/DER/PFX)

  • 當使用 PKCS#12/PFX 文件 (.p12/.pfx), client_cert應該被註釋掉。這種情況下私人密匙和認證將會從PKCS#12文件中讀出。完整的路徑應該爲文件的絕對路徑(因爲wpa_supplicant運行在後臺時可能會改變工作路徑)

  • 當client_cert退出時並且配置私人密匙如以下格式時,windows 認證儲存器可以被使用
  • cert://substring_to_match
  • hash://certificate_thumbprint_in_hex
  • 例如 private_key=”hash://63093aa9c47f56ae88334c7b65a4”
  • 注意:當wpa_supplicant作爲應用程序運行時,用戶(當前賬戶)認證儲存器將是可用的,當運行wpasvc作爲服務器時,計算器(計算機賬戶)儲存器將是可用的。
  • 另外,名爲blob的配置也可以被用來設置blob://.
    * private_key_passwd : 私人密匙文件的密碼(如果遺漏,將會在控制界面中詢問)*
    * dh_file: DH/DSA參數文件的路徑(PEM 格式)*

  • 這個選項配置設置一個短暫的DH密碼交換參數的文件。在大多數情況下,默認的RSA認證將不會在這種情況下使用。然而,使用短暫的DH密碼交換可能會建立RSA認證。另外,DSA 密碼算法總是使用短暫性DH密匙,這個選線可以用於實現保密。如果這個文件使用了DAS參數格式,它將會自動轉化爲DH參數
    subject_match: 子類字符串是針對認證服務器證書來匹配

  • 如果這個字符串設置了的話,服務器證書只有在這個實體上包含了這個字符串才的情況下才能被接受。

  • 該實體字符串使用以下格式配置:
  • /C=US/ST=CA/L=San Francisco/CN=Test AS/[email protected]
  • 注意:因爲這是一個子類字符串匹配,對於可能的一種中文實體域名情況下將不能安全地進行後綴匹配。對於這種應用案例,應該使用domain_suffix_match 或者 domain_match來替代。
    altsubject_match : 分號分隔符將會和選擇服務器認證證書實體名稱相匹配

  • 如果該字符被設置了的話,如果服務器認證包含了一個擴展的選擇項目名稱實體,該認證才能被接受。

  • altSubjectName字符串的格式:TYPE:VALUE
  • Example: EMAIL:[email protected]
  • Example: DNS:server.example.com;DNS:server2.example.com
  • 支持的格式爲:EMAIL, DNS, URI

domain_suffix_match:域名服務器名稱的規則

  • 如果設置了的話,在SubjectAltName dNSName的AAAserver認證請求FQDN後綴匹配。如果匹配了一個找到DNS名稱,約束條件將會被滿足。如果沒有DNS名稱的值存在,這個約束條件是使用相同的後綴匹配比較來匹配中文實體名。
  • 這裏的後綴匹配表示逐一從頂級域名開始並且domain_suffix_match的所有標籤應該包含在認證證書中和一個標籤比較主機/域名。除了必要的標籤外,認證證書可能包含額外的字級標籤。
  • 例如,domain_suffix_match=example.com 將會匹配test.example.com,但它將不會匹配test-example.com。
    domain_match:域名服務器的約束條件
  • 如果設置了的話,FQDN將會被用做一個要求完全匹配服務器認證證書中SubjectAltName 域名元素。如果一個匹配的域名被找到,這個約束條件將被滿足。如果不存在域名名稱值,這個約束就是在SubjectName CN中文 同樣的完全匹配來比較 得匹配。這種行爲就和domain_suffix_match類似,但是有一個完全匹配是必須的,即不允許子域名和通配符匹配。使用不區分大小的比較,因此”Example.com” 可以匹配 “example.com”,但是將不會匹配 “test.Example.com”.

phase1 : 階段一(外部認證:即TLS隧道)參數(成對的字段字符,比如:”peapver=0” 或者”peapver=1 peaplabel=1”)

  • ‘peapver’可以被用於強制使用哪個版本的PEAP(0或者1)。
  • ‘peaplabel=1’可以被用於在使用PEAPv1或者更新版本時導出密碼的期間強制使用新的標籤 “client PEAP encryption”,一些擴展的PEAPv1的實施還使用舊的標籤”client EAP encryption”,現在wpa_supplicant已經使用”client EAP encryption”作爲默認的值。一些服務器,比如輻射器可能需要強制配置peaplabel=1 來和PEAPv1進行交互操作;查看文件eap_testing.txt 得到更多相關信息。
  • ‘peap_outer_success=0’ 可以被用於終止EAP-Success 隧道的PEAP認證。這在一些執行 draft-josefsson-pppext-eap-tls-eap-05.txt(比如Lucent NavisRadius v4.4.0 with PEAP in “IETF Draft 5” mode模式)RADIUS服務器上。
  • include_tls_length=1可以被用於強制使wpa_supplicant 在所有沒有碎片化的TLS管理事件中包含TLS 管理長度字段。
  • sim_min_num_chal=3 可以被用於配置EAP-SIM請求三個口令(默認情況下,它只接受到2個或者3個)
  • result_ind=1可以被用於使能EAP-SIM和EAP-AKA來指示保護結果。
  • ‘crypto_binding’ 該選項可以被用於控制PEAPv0加密綁定行爲:
    • 0 =不適用加密綁定(默認)
    • 1 =當服務器支持時使用加密綁定
    • 2 = 請求加密綁定
  • EAP-WSC (WPS)使用以下選項的格式:pin= or pbc=1.
  • 對於無線IEEE 802.1X加密認證,”allow_canned_success=1”可以被用於配置允許EAP-Success (and EAP-Failure)不經歷認證步驟的模式。一些交換機當強制端口被授權/不被授權或者認證服務器遙不可及是的一種備用選項才使用這種配置序列。
  • 默認情況下,wap_supplicant丟棄這種免收流氓設備的潛在攻擊的保護機制,但這個選項可以被用於取消在服務器/認證器不需要被認證的保護案例。

phase2 : 階段二(TLS隧道的內部認證)參數(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 方法可以用以下參數來控制TLS行爲(這個通常是下第一階段的參數,但是也可以當EAP-TLS在內部隧道使用時 被用在第二階段)

  • tls_allow_md5=1 允許MD5-based 證書籤名(取決於TLS庫,爲了足夠安全這個選項默認取消)
  • tls_disable_time_checks=1 忽略證書有效期(這個選項要求TLS庫接受認證,即使在當前它們是不能用的,即已過期或尚未生效;這個應該只作爲測試目的使用)
  • tls_disable_session_ticket=1 取消TLS外部探測會話
  • tls_disable_session_ticket=0 允許使用TLS外部探測會話(注意:如果沒有設置,對於EAP-TLS/PEAP/TTLS將會自動設置爲1,作爲一個來破壞服務器執行認證的工作區,除非EAP工作區使用參數eap_workaround=0來取消。)。對於EAP-FAST,這個參數必須設置爲0(或者不設置,使用自動配置默認值)
  • tls_disable_tlsv1_0=1 取消使用TLSv1.0
  • tls_disable_tlsv1_1=1 取消使用TLSv1.1(已經發布更新的TLS版本的AAA服務器的工作區)
  • tls_disable_tlsv1_2=1 取消使用TLSv1.2(已經發布更新的TLS版本的AAA服務器的工作區)

以下認證/私人密匙字段將在使用EAP-TTLS 或者 EAP-PEAP 時內部第二階段認證使用

  • ca_cert2:CA認證證書的文件路徑。這個文件可以有一個或者多個受信任的CA認證證書。如果不包含ca_cert2 和 ca_path2 服務器認證將不會生效。這是不安全的,受信任的CA認證證書必須總是被配置。
  • ca_path2:CA認證證書的目錄路徑(PEM)
  • client_cert2: 客戶端認證證書的文件路徑
  • private_key2:客戶端私人密匙文件路徑
  • private_key2_passwd : 私人密碼文件
  • dh_file2: DH/DSA參數文件路徑(PEM格式)
  • subject_match2 : 通過子類字符串匹配認證服務器的憑證證書。查看subject_match獲取相關細節信息。
  • altsubject_match2 : 以分號分隔字符匹配認證服務器的備用實體名。查看altsubject_match獲取相關細節。
  • domain_suffix_match2 : 域名服務器的約束,查看domain_suffix_match獲取更多細節。
  • fragment_size : EAP片段最大的字節長度(默認爲1398)。
    這個值限制使用支持片段的EAP方法的片段長度(例如:EAP-TLS and EAP-PEAP)。這個值應該被設置爲足夠小的值來使EAP消息能夠適用於使用EAPOL的MTU網絡接口。在大多數情況下默認是已經是合適的值了。

  • ocsp : 是否使用/請求OCSP來檢測服務器認證證書

  • 0 = 不使用OCSP(外部TLS 認證狀態)
  • 1 = 嘗試使用OCSP 但不是必要的請求
  • 2 = 請求可用的OCSP

  • openssl_ciphers:OpenSSL指定的密碼配置(這個選項可以被用於重寫全局參數openssl_ciphers 往回看)

EAP-FAST 變量

  • pac_file: PAC實體的文件路徑。wpa_supplicant將需要能夠在PAC被滿足或者拒絕時創建這個文件並且寫入更新到這個文件中。完整的文件路徑必須是絕對文件路徑(因爲wpa_supplicant作爲後臺運行程序時可能會改變工作路徑)。另外,blob名字配置可以被用於設置這個參數到blob:

  • phase1: fast_provisioning可以用來激活對EAP-FAST認證證書(PAC)的在線配置:

    • 0 = 取消
    • 1 = 允許未經身份認證的配置
    • 2 = 允許經身份認證的配置
    • 3 = 允許未經身份認證和身份認證的配置
      fast_max_pac_list_len=選項可以被用於設置PAC實體儲存到PAC列表的最大數量(默認爲10)
      fast_pac_format=binary 可以被用於選擇爲了保存一些空間(默認使用約爲2.5倍的最小的二進制長度的文本格式)而儲存PAC實體的二進制格式

wpa_supplicant允許的最大的一些圍繞解決認證服務器的錯誤交互操作的問題工作的“EAP workaround”數量,因爲目前認證服務器存在大量的某些問題,所以這些選項默認激活的。嚴格的一致性EAP模式可以通過使用選項eap_workaround=0 取消工作區來配置

活動站點的限制

  • 如果一個 在ap_max_inactivity 時間內(秒)沒有發送任何東西,一個空的數據幀將會發送給它來驗證它是夠還在搜索範圍內。如果該數據幀沒有收到應答ASK,這個站點將會被分離然後失去認證。這個特性當STAs移動出某個範圍後,用於清理舊的實體。
  • 在AP仍然還在範圍內的情況下可以與站點取得關聯;調查活性是一種驗證是否存活的不錯的方法;即客戶端將不會在連接失敗時報告,因爲失去連接的信息數據幀不會在STA發送第一次調查幀後馬上發送。
  • 默認數值爲:300s(即5分鐘)
  • ap_max_inactivity=300
    AP模式下信標間隔的DTIM週期
  • dtim_period=2
  • 信標間隔(默認爲100TU)
  • beacon_int=100
  • MAC地址規則
  • 0 = 使用永久MAC地址
  • 1 = 使用爲每個ESS連接分配隨機的MAC地址
  • 2 = 類似於參數1 但是使用唯一的標誌序列OUI(有當地管理員設置)
  • 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 : 是否取消LDPC

  • 0 = 激活LDPC(如果AP支持的話)

  • 1 = 取消LDPC
    ht40_intolerant : 是否取消容忍40MHZ

  • 0 = 容忍40MHZ

  • 1 = 不容忍40MHZ
    * ht_mcs : 配置爲允許MCS率*

  • 解析爲一個十六進制的字節數組

  • ht_mcs=”” // Use all available (default)默認使用所有可用的數值
  • 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長度

  • 數值範圍:0-3,see 7.3.2.56.3 in IEEE Std 802.11n-2009.
    * ampdu_density : 允許重寫AMPDU的密度配置*

  • 作爲提示被內核處理

  • -1 = 不做任何改變。
  • 0-3 = 設置AMPDU的密度(及稱爲因子)爲指定的值
    disable_vht : 是否取消VHT

  • 0 = 激活VHT(如果AP支持的話)

  • 1 = 取消VHT
    vht_capa : 設置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設置爲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設置爲TX MSS 1-8

  • 0 = MCS 0-7

  • 1 = MCS 0-8
  • 2 = MCS 0-9
  • 3 = 不支持

支持快速會話轉移

  • 本節的選項只在當編譯hostapd時設置建立配置選項CONFIG_FST。這些選項允許這個接口成爲FST步驟的一部分。
  • FST是從相同的或者不同的一個通道到另外一個通道的會話轉移。
  • 更多細節可以查看 IEEE Std 802.11ad-2012.

接口所屬的FST標誌組

  • fst_group_id=bond0

FST組的接口優先級

  • 定義一個接口的更高的優先級意味着FST轉換器擁有更高的優先級
  • fst_priority的取值範圍爲:1-255,當值爲一時擁有最低優先級
  • fst_priority=100
    這個接口的默認LLT值(ms)這個值被用於會話建立後沒有提供數值的情況,默認爲50ms
  • fst_llt 值的範圍是1- 4294967(以爲spec的限制,查看10.32.2.2 狀態之間的轉換)
  • fst_llt=100

以下爲網絡語句塊的例程:

簡單的案例: 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
}

當使用WPA-EAP時。允許CCMP和TKIP加密算法。使用WEP104或者WEP40作爲組密碼將不會被接受

network={
    ssid="example"
    proto=RSN
    key_mgmt=WPA-EAP
    pairwise=CCMP TKIP
    group=CCMP TKIP
    eap=TLS
    identity="[email protected]"
    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標籤來進行RADIUS 服務器的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
}

使用非加密的匿名標誌的EAP-TTLS/EAP-MD5-Challenge配置,真實的標識符只在加密的TLS隧道上發送

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
}

使用非加密的匿名標誌的EAP-TTLS/MSCHAPv2配置,真實的標識符只在加密的TLS隧道上發送

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 外部和內部認證

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動態生成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動態WEP密匙

network={
    ssid="leap-example"
    key_mgmt=IEEE8021X
    eap=LEAP
    identity="user"
    password="foobar"
}

EAP-IKEv2 使用爲服務器和對等認證共享密碼

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已經過時了的)

network={
    ssid="test adhoc"
    mode=1
    frequency=2412
    proto=WPA
    key_mgmt=WPA-NONE
    pairwise=NONE
    group=TKIP
    psk="secret passphrase"
}

開放匹配的網絡

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="[email protected]"
    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="[email protected]"
    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"

如何使用內聯blob作爲CA認證證書的數據取代使用外部文件來配置的案例

network={
    ssid="example"
    key_mgmt=WPA-EAP
    eap=TTLS
    identity="[email protected]"
    anonymous_identity="[email protected]"
    password="foobar"
    ca_cert="blob://exampleblob"
    priority=20
}
blob-base64-exampleblob={
SGVsbG8gV29ybGQhCg==
}

對於SSID通配符的匹配(只支持純文本APs)在本例中無論SSID爲和都選擇任何開放的AP

network={
    key_mgmt=NONE
}

配置兩個在這個網絡中會被忽略的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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章