想必大家平台在调试Hostapd时,针对某些特殊的参数,很难一下子理清楚其用法,以下是 hostapd.conf 配置文件中各参数的详细解释表格,方便大家快速理解每个参数的作用和配置逻辑:
(同时,我也上传了PDF文档供大家下载:https://download.csdn.net/download/weixin_47877869/90395501?spm=1001.2014.3001.5503)
参数名称 |
可选值/示例 |
默认值 |
详细说明 |
注意事项 |
基础配置 |
||||
interface |
wlan0 |
无 |
指定无线网络接口名称,用于绑定AP的物理或虚拟网卡(如wlan0)。 |
需确保系统中存在该接口,可通过ifconfig查看。 |
bridge=br0 |
网桥接口名称(如 br0) |
无 |
指定AP所在的网桥接口名称。将无线接口添加到该网桥后,AP与有线网络共享同一子网,实现无线设备与有线设备的互通。 |
确保指定的网桥接口已存在,并且无线接口已成功添加到该网桥,同时,在hostapd开启之前,需要更改接口模式为AP,否则brctl会拒绝执行此操作。 |
driver |
nl80211 |
nl80211 |
指定无线驱动类型,nl80211是Linux标准无线驱动,支持大多数现代无线网卡。 |
老旧网卡可能需要使用hostap或madwifi驱动,但较罕见。 |
ctrl_interface |
/var/run/hostapd |
无 |
控制接口的存储路径,用于与其他进程(如hostapd_cli)通信。 |
需确保路径存在且权限正确。 |
ctrl_interface_group |
0(root组) |
0 |
此值表示能够使用hostpad_cli命令的用户组,默认是0(root),如果希望非root用户可以使用该接口,可以添加新组并将此值更改为该组,此变量可以是组名或着gid。例如:# ctrl_interface_group=wheel。 |
可设置为其他组以限制访问权限。 |
ssid |
任意字符串 |
无 |
无线网络名称(SSID),客户端搜索到的Wi-Fi名称,可选择长度为8~32个任意字符串。 |
还可以使用“双引号字符串、十六进制转储、printf转义字符串”的格式,如下所示: # ssid="test" # ssid=74657374 # ssid=P"hello\nthere" |
ignore_broadcast_ssid |
0(不隐)、1(隐藏) |
0 |
控制是否隐藏SSID。0表示广播SSID,1表示隐藏。 |
隐藏SSID不会显著提升安全性,仅防“小白”用户。 |
country_code |
国家码(ISO/IEC 3166-1) |
无 |
设置设备所在的国家/地区,影响频道选择和发射功率的法规限制。常用的ISO国家代码如“US”、“CN”、“DE”等。 |
当前很多Wi-Fi驱动禁止在应用层配置国家码。如果设置错误的国家代码可能会导致无法选择某些频道,或者超出法律限制的发射功率。 |
hw_mode |
a(5GHz / 6GHz)、 g(2.4GHz) |
无 |
指定AP的工作频段,a是5 GHz / 6 GHz,g是2.4 GHz。 |
a模式下需配合channel选择5GHz/6GHz信道(如36、149等)。 |
channel |
1-13(2.4 GHz),36-165(5 GHz) |
无 |
设置无线信道。2.4GHz频段可选信道为1-13,5GHz频段可选信道为36-165。0表示自动选择信道。 |
不同国家支持的2GHz/5GHz/6GHz信道可能不同,需遵守当地法规。 |
beacon_int |
15-65535 |
100 |
设置信标间隔(以1.024毫秒为单位)。 |
不同硬件可能有不同的最佳值。 |
op_class |
整数值,如 128、131等 |
无 |
指定操作类的编号。不同的操作类定义了不同的信道集合和带宽配置。 |
确保所选的操作类符合所在国家或地区的无线电频率管理规定,参考:IEEE 802.11, Annex E, Table E-4。 |
dtim_period |
1-255 |
2 |
用于设置DTIM周期,决定了DTIM间隔。 |
值太小可能导致性能问题。 |
max_num_sta |
0-2007 |
32 |
设置允许的最大客户端连接数。 |
根据需要调整,过高可能会影响性能。 |
ht_capab |
[HT40-][SHORT-GI-20]等 |
无 |
设置支持的HT(高吞吐量)功能。 |
必须启用IEEE 802.11n以使用此功能。 |
vht_capab |
[SHORT-GI-80][SU-BEAMFORMEE]等 |
无 |
定义VHT(802.11ac)的能力参数,如80/160MHz频宽、短保护间隔。 |
SHORT-GI-80需与vht_oper_chwidth配合使用。 |
vht_oper_chwidth |
0(20/40MHz)、1(80MHz)、 2(160MHz) |
0 |
设置VHT(802.11ac)的频宽模式。 |
1表示80MHz,需信道支持且无干扰。 |
he_oper_chwidth |
0、1、2 |
0 |
设置HE(802.11ax)的频宽模式,1表示80MHz,2表示160MHz。 |
需ieee80211ax=1且硬件支持。 |
eht_oper_chwidth |
0、1、2 |
0 |
设置EHT(802.11be)的频宽模式,1表示80MHz,2表示160MHz。 |
需ieee80211be=1且硬件支持Wi-Fi 7。 |
安全与加密 |
||||
wpa |
0, 1, 2, 3 |
无 |
启用WPA(Wi-Fi Protected Access)加密。0表示禁用WPA,1表示启用WPA,2表示启用WPA2或者WPA3,3表示同时启用WPA1+WPA2。 |
WPA2+WPA3提供更强的安全性,推荐启用WPA2+WPA3。禁用WPA可能导致兼容性问题。 |
wpa_passphrase |
ASCII密码(8-63字符) |
无 |
设置WPA预共享密钥(PSK)。可以使用8到63个字符的ASCII密码或64位的十六进制密钥。 |
密码应避免使用简单密码,建议使用随机生成的复杂密码。 |
wpa_key_mgmt |
WPA-PSK、SAE |
无 |
密钥管理协议,WPA-PSK为WPA或者WPA2,SAE为WPA3。 |
若需兼容旧设备,可保留WPA-PSK;若仅用WPA3,需删除WPA-PSK。 |
rsn_pairwise |
CCMP、TKIP |
CCMP |
加密算法,CCMP(AES)安全性高,TKIP已过时。 |
强烈建议仅保留CCMP,TKIP会降低安全性。 |
ieee80211w |
0(禁用)、2(强制启用) |
0 |
管理帧保护(PMF),提升安全性。 |
建议启用(设置为2),尤其是使用WPA3时。 |
auth_algs=3 |
0、1、2、3 |
无 |
用于指定无线网络的认证算法。具体示例如下所示: auth_algs=0:用开放系统认证(OSA)。 auth_algs=1:用共享密钥认证(SKA)。 auth_algs=2:用快速BSS过渡认证。 auth_algs=3:用同时认证平等主体(SAE)认证。 |
|
高级功能 |
||||
ieee80211d |
0(禁用)、 1(启用) |
0 |
启用或禁用IEEE 802.11d(国家/地区法规)。启用后,AP将根据 country_code配置广播合法的频道和发射功率。 |
必须确保AP的country_code已正确配置,否则可能导致无法选择合法的频道或功率。 |
ieee80211h |
0(禁用)、 1(启用) |
0 |
启用或禁用IEEE 802.11h(雷达检测和动态频谱选择)。在支持雷达检测的国家/地区中,必须启用此选项以遵守规定。 |
必须启用ieee80211d=1才能使用ieee80211h,且只有在5GHz频段的频道上有效。 |
ieee80211n |
0(禁用)、 1(启用) |
0 |
启用802.11n(Wi-Fi 4),支持HT(高吞吐量)。 |
需硬件支持,启用后提升速率和覆盖范围。 |
ieee80211ac |
0(禁用)、 1(启用) |
0 |
启用802.11ac(Wi-Fi 5),支持VHT(极高吞吐量)。 |
仅适用于5GHz频段(hw_mode=a)。 |
ieee80211ax |
0(禁用)、 1(启用) |
0 |
启用802.11ax(Wi-Fi 6),支持HE(高效特性)。 |
需硬件和客户端支持,常用于高密度环境。 |
ieee80211be |
0(禁用)、 1(启用) |
0 |
启用802.11be(Wi-Fi 7),支持EHT(极高吞吐量)。 |
目前处于草案阶段,需最新硬件支持。 |
wmm_enabled |
0(禁用)、 1(启用) |
0 |
启用WMM(Wi-Fi多媒体)服务质量功能,优化视频/语音传输。 |
必须开启以支持802.11n/ac/ax的高速传输。 |
dynamic_vlan |
0(禁用)、1(可选)、2(强制) |
0 |
动态VLAN,根据RADIUS服务器分配VLAN。 |
需RADIUS服务器支持,并配置vlan_file。 |
wps_state |
0(禁用)、1(启用未配置)、2(启用已配置) |
0 |
Wi-Fi Protected Setup(WPS)状态,简化设备连接。 |
存在安全风险,建议仅在临时场景启用。 |
macaddr_acl |
0(允许)、1(拒绝) |
0 |
MAC地址过滤规则,0表示允许所有设备,除非在拒绝列表。 |
需配合accept_mac_file和deny_mac_file使用。 |
accept_mac_file |
/etc/hostapd.accept |
用于控制接入点(AP)的MAC地址访问控制列表(ACL)。这些参数指定文件路径,这些文件包含允许或拒绝访问无线网络的MAC地址列表。 |
||
deny_mac_file |
/etc/hostapd.deny |
|||
ieee80211r |
0(禁用)、 1(启用) |
0 |
启用快速漫游(802.11r),允许STA在不同AP间快速切换。 |
需配置mobility_domain和RADIUS服务器支持。 |
ieee80211v |
0(禁用)、 1(启用) |
0 |
支持802.11v网络管理功能(如时间同步、节能模式)。 |
需客户端支持。 |
ieee80211u |
0(禁用)、 1(启用) |
0 |
启用Interworking服务(如Hotspot 2.0),支持运营商网络互通。 |
需配合interworking=1和其他Hotspot 2.0参数。 |
hs20 |
0(禁用)、 1(启用) |
0 |
启用Hotspot 2.0功能,支持自动连接公共Wi-Fi。 |
需配置nai_realm、roaming_consortium等参数。 |
vendor_elements |
十六进制字符串,如dd0411223301 |
无 |
指定要添加的供应商特定信息元素的十六进制表示。格式为: <元素ID><长度><数据>。例如,dd0411223301,表示: - dd:信息元素ID,表示供应商特定信息元素。 - 04:信息元素长度。 - 11223301:具体的数据。 |
确保添加的信息元素符合供应商的规范,并且不会与其他信息元素冲突。 |
wmm_enabled |
0、1 |
0 |
启用WMM(Wi-Fi多媒体)服务质量功能,优化视频/语音传输,WMM是一种通过优先级队列管理无线网络中不同类型流量的机制,旨在改善无线多媒体应用(如视频、语音和音频流)的性能和用户体验。 |
必须开启以支持802.11n/ac/ax的高速传输。 |
rts_threshold |
0-2347 |
2347 |
设置请求发送(RTS)阈值。数据帧长度超过此阈值时,发送方会先发送RTS帧,等待接收方的清除发送(CTS)帧,以减少由于隐藏节点问题导致的碰撞。 |
设置为-1表示禁用RTS/CTS机制,无论数据帧的长度如何,都不会使用RTS/CTS握手。 |
fragm_threshold |
256-2346 |
2346 |
设置分片阈值。数据帧长度超过此阈值时,发送方会将数据帧分片,以减少碰撞的影响。 |
设置为-1表示禁用分片机制,无论数据帧长度多大,都不会进行分片。 |
wmm_ac_bk_cwmin |
整数值 |
无 |
最小竞争窗口(Contention Window Minimum),决定了无线设备在传输前等待的随机时间的下限。较小的值意味着设备可能更快地尝试传输数据。 |
设置为过小可能导致碰撞率增加,影响网络性能。 |
wmm_ac_bk_cwmax |
整数值 |
无 |
最大竞争窗口(Contention Window Maximum),决定了无线设备在传输前等待的随机时间的上限。较大的值意味着设备可能需要更长时间尝试传输数据。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_bk_aifs |
整数值 |
无 |
仲裁帧间间隔(Arbitration Inter-Frame Space),表示在尝试访问无线媒介之前设备必须等待的帧间间隔时间。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_bk_txop_limit |
整数值 |
无 |
传输机会限制(Transmission Opportunity Limit),表示设备一次传输的最大时间,单位为32微秒。 |
设置为0表示没有特定的时间限制,即设备一次只能传输一个数据包。 |
wmm_ac_bk_acm |
0或1 |
无 |
接纳控制强制(Admission Control Mandatory),表示是否需要接纳控制。 |
设置为0表示不需要接纳控制,设备可以随时尝试传输数据。 |
wmm_ac_be_aifs |
整数值 |
无 |
仲裁帧间间隔(Arbitration Inter-Frame Space),表示在尝试访问无线媒介之前设备必须等待的帧间间隔时间。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_be_cwmin |
整数值 |
无 |
最小竞争窗口(Contention Window Minimum),决定了无线设备在传输前等待的随机时间的下限。较小的值意味着设备可能更快地尝试传输数据。 |
设置为过小可能导致碰撞率增加,影响网络性能。 |
wmm_ac_be_cwmax |
整数值 |
无 |
最大竞争窗口(Contention Window Maximum),决定了无线设备在传输前等待的随机时间的上限。较大的值意味着设备可能需要更长时间尝试传输数据。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_be_txop_limit |
整数值 |
无 |
传输机会限制(Transmission Opportunity Limit),表示设备一次传输的最大时间,单位为32微秒。设置为0表示没有特定的时间限制,即设备一次只能传输一个数据包。 |
设置为0表示没有特定的时间限制,即设备一次只能传输一个数据包。 |
wmm_ac_be_acm |
0或1 |
无 |
接纳控制强制(Admission Control Mandatory),表示是否需要接纳控制。设置为0表示不需要接纳控制,设备可以随时尝试传输数据。 |
设置为0表示不需要接纳控制,设备可以随时尝试传输数据。 |
wmm_ac_vo_aifs |
整数值 |
无 |
仲裁帧间间隔(Arbitration Inter-Frame Space),表示在尝试访问无线媒介之前设备必须等待的帧间间隔时间。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_vo_cwmin |
整数值 |
无 |
最小竞争窗口(Contention Window Minimum),决定了无线设备在传输前等待的随机时间的下限。较小的值意味着设备可能更快地尝试传输数据。 |
设置为过小可能导致碰撞率增加,影响网络性能。 |
wmm_ac_vo_cwmax |
整数值 |
无 |
最大竞争窗口(Contention Window Maximum),决定了无线设备在传输前等待的随机时间的上限。较大的值意味着设备可能需要更长时间尝试传输数据。 |
设置为过大可能导致延迟增加,影响实时性要求高的应用。 |
wmm_ac_vo_txop_limit |
整数值 |
无 |
传输机会限制(Transmission Opportunity Limit),表示设备一次传输的最大时间,单位为32微秒。设置为0表示没有特定的时间限制,即设备一次只能传输一个数据包。 |
设置为0表示没有特定的时间限制,即设备一次只能传输一个数据包。 |
wmm_ac_vo_acm |
0或1 |
无 |
接纳控制强制(Admission Control Mandatory),表示是否需要接纳控制。设置为0表示不需要接纳控制,设备可以随时尝试传输数据。 |
设置为0表示不需要接纳控制,设备可以随时尝试传输数据。 |