一文让你轻松理解WLAN Hostapd的配置参数

想必大家平台在调试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表示不需要接纳控制,设备可以随时尝试传输数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值