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