]> git.ipfire.org Git - thirdparty/hostap.git/blame - hostapd/hostapd.conf
Fixed opportunistic key caching (OKC)
[thirdparty/hostap.git] / hostapd / hostapd.conf
CommitLineData
6fc6879b
JM
1##### hostapd configuration file ##############################################
2# Empty lines and lines starting with # are ignored
3
4# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
5# management frames); ath0 for madwifi
6interface=wlan0
7
dcf9c2bd
JM
8# In case of madwifi and nl80211 driver interfaces, an additional configuration
9# parameter, bridge, must be used to notify hostapd if the interface is
10# included in a bridge. This parameter is not used with Host AP driver.
6fc6879b
JM
11#bridge=br0
12
13# Driver interface type (hostap/wired/madwifi/prism54/test/nl80211/bsd);
14# default: hostap)
15# Use driver=test if building hostapd as a standalone RADIUS server that does
16# not control any wireless/wired driver.
17# driver=hostap
18
19# hostapd event logger configuration
20#
21# Two output method: syslog and stdout (only usable if not forking to
22# background).
23#
24# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
25# modules):
26# bit 0 (1) = IEEE 802.11
27# bit 1 (2) = IEEE 802.1X
28# bit 2 (4) = RADIUS
29# bit 3 (8) = WPA
30# bit 4 (16) = driver interface
31# bit 5 (32) = IAPP
32# bit 6 (64) = MLME
33#
34# Levels (minimum value for logged events):
35# 0 = verbose debugging
36# 1 = debugging
37# 2 = informational messages
38# 3 = notification
39# 4 = warning
40#
41logger_syslog=-1
42logger_syslog_level=2
43logger_stdout=-1
44logger_stdout_level=2
45
46# Dump file for state information (on SIGUSR1)
47dump_file=/tmp/hostapd.dump
48
49# Interface for separate control program. If this is specified, hostapd
50# will create this directory and a UNIX domain socket for listening to requests
51# from external programs (CLI/GUI, etc.) for status information and
52# configuration. The socket file will be named based on the interface name, so
53# multiple hostapd processes/interfaces can be run at the same time if more
54# than one interface is used.
55# /var/run/hostapd is the recommended directory for sockets and by default,
56# hostapd_cli will use it when trying to connect with hostapd.
57ctrl_interface=/var/run/hostapd
58
59# Access control for the control interface can be configured by setting the
60# directory to allow only members of a group to use sockets. This way, it is
61# possible to run hostapd as root (since it needs to change network
62# configuration and open raw sockets) and still allow GUI/CLI components to be
63# run as non-root users. However, since the control interface can be used to
64# change the network configuration, this access needs to be protected in many
65# cases. By default, hostapd is configured to use gid 0 (root). If you
66# want to allow non-root users to use the contron interface, add a new group
67# and change this value to match with that group. Add users that should have
68# control interface access to this group.
69#
70# This variable can be a group name or gid.
71#ctrl_interface_group=wheel
72ctrl_interface_group=0
73
74
75##### IEEE 802.11 related configuration #######################################
76
77# SSID to be used in IEEE 802.11 management frames
78ssid=test
79
80# Country code (ISO/IEC 3166-1). Used to set regulatory domain.
81# Modify as needed to indicate country in which device is operating.
82# This can limit available channels and transmit power.
83# (default: US)
84#country_code=US
85
86# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
87# channels and transmit power levels based on the regulatory limits. The
88# country_code setting must be configured with the correct country for
89# IEEE 802.11d functions.
90# (default: 0 = disabled)
91#ieee80211d=1
92
93# Enable IEEE 802.11h. This enables the TPC and DFS services when operating
94# in a regulatory domain which requires them. Once enabled it will be
95# operational only when working in hw_mode a and in countries where it is
96# required. The end user should not be allowed to disable this.
97# The country_code setting must be configured with the correct country for
98# IEEE 802.11h to function.
27e120c4
JM
99# When IEEE 802.11h is operational, the configured channel settings will be
100# ignored and automatic channel selection is used. When IEEE 802.11h is enabled
101# but not operational (for example, if the radio mode is changed from "a" to
102# "b") the channel setting take effect again.
103# (default: 0 = disabled)
6fc6879b
JM
104#ieee80211h=1
105
106# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
107# Default: IEEE 802.11b
108hw_mode=a
109
110# Channel number (IEEE 802.11)
27e120c4
JM
111# (default: 0, i.e., not set)
112# Please note that some drivers (e.g., madwifi) do not use this value from
113# hostapd and the channel will need to be configuration separately with
114# iwconfig.
6fc6879b
JM
115channel=60
116
117# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
118beacon_int=100
119
120# DTIM (delivery trafic information message) period (range 1..255):
121# number of beacons between DTIMs (1 = every beacon includes DTIM element)
122# (default: 2)
123dtim_period=2
124
125# Maximum number of stations allowed in station table. New stations will be
126# rejected after the station table is full. IEEE 802.11 has a limit of 2007
127# different association IDs, so this number should not be larger than that.
128# (default: 2007)
129max_num_sta=255
130
131# RTS/CTS threshold; 2347 = disabled (default); range 0..2347
132# If this field is not included in hostapd.conf, hostapd will not control
133# RTS threshold and 'iwconfig wlan# rts <val>' can be used to set it.
134rts_threshold=2347
135
136# Fragmentation threshold; 2346 = disabled (default); range 256..2346
137# If this field is not included in hostapd.conf, hostapd will not control
138# fragmentation threshold and 'iwconfig wlan# frag <val>' can be used to set
139# it.
140fragm_threshold=2346
141
142# Rate configuration
143# Default is to enable all rates supported by the hardware. This configuration
144# item allows this list be filtered so that only the listed rates will be left
145# in the list. If the list is empty, all rates are used. This list can have
146# entries that are not in the list of rates the hardware supports (such entries
147# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110.
148# If this item is present, at least one rate have to be matching with the rates
149# hardware supports.
150# default: use the most common supported rate setting for the selected
151# hw_mode (i.e., this line can be removed from configuration file in most
152# cases)
153#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
154
155# Basic rate set configuration
156# List of rates (in 100 kbps) that are included in the basic rate set.
157# If this item is not included, usually reasonable default set is used.
158#basic_rates=10 20
159#basic_rates=10 20 55 110
160#basic_rates=60 120 240
161
162# Station MAC address -based authentication
163# Please note that this kind of access control requires a driver that uses
164# hostapd to take care of management frame processing and as such, this can be
165# used with driver=hostap or driver=nl80211, but not with driver=madwifi.
166# 0 = accept unless in deny list
167# 1 = deny unless in accept list
168# 2 = use external RADIUS server (accept/deny lists are searched first)
169macaddr_acl=0
170
171# Accept/deny lists are read from separate files (containing list of
172# MAC addresses, one per line). Use absolute path name to make sure that the
173# files can be read on SIGHUP configuration reloads.
174#accept_mac_file=/etc/hostapd.accept
175#deny_mac_file=/etc/hostapd.deny
176
177# IEEE 802.11 specifies two authentication algorithms. hostapd can be
178# configured to allow both of these or only one. Open system authentication
179# should be used with IEEE 802.1X.
180# Bit fields of allowed authentication algorithms:
181# bit 0 = Open System Authentication
182# bit 1 = Shared Key Authentication (requires WEP)
183auth_algs=3
184
185# Send empty SSID in beacons and ignore probe request frames that do not
186# specify full SSID, i.e., require stations to know SSID.
187# default: disabled (0)
188# 1 = send empty (length=0) SSID in beacon and ignore probe request for
189# broadcast SSID
190# 2 = clear SSID (ASCII 0), but keep the original length (this may be required
191# with some clients that do not support empty SSID) and ignore probe
192# requests for broadcast SSID
193ignore_broadcast_ssid=0
194
195# TX queue parameters (EDCF / bursting)
196# default for all these fields: not set, use hardware defaults
197# tx_queue_<queue name>_<param>
198# queues: data0, data1, data2, data3, after_beacon, beacon
199# (data0 is the highest priority queue)
200# parameters:
201# aifs: AIFS (default 2)
202# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023)
203# cwmax: cwMax (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023); cwMax >= cwMin
204# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for
205# bursting
206#
207# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
208# These parameters are used by the access point when transmitting frames
209# to the clients.
210#
211# Low priority / AC_BK = background
212#tx_queue_data3_aifs=7
213#tx_queue_data3_cwmin=15
214#tx_queue_data3_cwmax=1023
215#tx_queue_data3_burst=0
216# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0
217#
218# Normal priority / AC_BE = best effort
219#tx_queue_data2_aifs=3
220#tx_queue_data2_cwmin=15
221#tx_queue_data2_cwmax=63
222#tx_queue_data2_burst=0
223# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0
224#
225# High priority / AC_VI = video
226#tx_queue_data1_aifs=1
227#tx_queue_data1_cwmin=7
228#tx_queue_data1_cwmax=15
229#tx_queue_data1_burst=3.0
230# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0
231#
232# Highest priority / AC_VO = voice
233#tx_queue_data0_aifs=1
234#tx_queue_data0_cwmin=3
235#tx_queue_data0_cwmax=7
236#tx_queue_data0_burst=1.5
237# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
238#
239# Special queues; normally not user configurable
240#
241#tx_queue_after_beacon_aifs=2
242#tx_queue_after_beacon_cwmin=15
243#tx_queue_after_beacon_cwmax=1023
244#tx_queue_after_beacon_burst=0
245#
246#tx_queue_beacon_aifs=2
247#tx_queue_beacon_cwmin=3
248#tx_queue_beacon_cwmax=7
249#tx_queue_beacon_burst=1.5
250
251# 802.1D Tag to AC mappings
252# WMM specifies following mapping of data frames to different ACs. This mapping
253# can be configured using Linux QoS/tc and sch_pktpri.o module.
254# 802.1D Tag 802.1D Designation Access Category WMM Designation
255# 1 BK AC_BK Background
256# 2 - AC_BK Background
257# 0 BE AC_BE Best Effort
258# 3 EE AC_VI Video
259# 4 CL AC_VI Video
260# 5 VI AC_VI Video
261# 6 VO AC_VO Voice
262# 7 NC AC_VO Voice
263# Data frames with no priority information: AC_BE
264# Management frames: AC_VO
265# PS-Poll frames: AC_BE
266
267# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
268# for 802.11a or 802.11g networks
269# These parameters are sent to WMM clients when they associate.
270# The parameters will be used by WMM clients for frames transmitted to the
271# access point.
272#
273# note - txop_limit is in units of 32microseconds
274# note - acm is admission control mandatory flag. 0 = admission control not
275# required, 1 = mandatory
276# note - here cwMin and cmMax are in exponent form. the actual cw value used
277# will be (2^n)-1 where n is the value given here
278#
279wme_enabled=1
280#
281# Low priority / AC_BK = background
282wme_ac_bk_cwmin=4
283wme_ac_bk_cwmax=10
284wme_ac_bk_aifs=7
285wme_ac_bk_txop_limit=0
286wme_ac_bk_acm=0
287# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10
288#
289# Normal priority / AC_BE = best effort
290wme_ac_be_aifs=3
291wme_ac_be_cwmin=4
292wme_ac_be_cwmax=10
293wme_ac_be_txop_limit=0
294wme_ac_be_acm=0
295# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7
296#
297# High priority / AC_VI = video
298wme_ac_vi_aifs=2
299wme_ac_vi_cwmin=3
300wme_ac_vi_cwmax=4
301wme_ac_vi_txop_limit=94
302wme_ac_vi_acm=0
303# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188
304#
305# Highest priority / AC_VO = voice
306wme_ac_vo_aifs=2
307wme_ac_vo_cwmin=2
308wme_ac_vo_cwmax=3
309wme_ac_vo_txop_limit=47
310wme_ac_vo_acm=0
311# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102
312
313# Associate as a station to another AP while still acting as an AP on the same
314# channel.
315#assoc_ap_addr=00:12:34:56:78:9a
316
317# Static WEP key configuration
318#
319# The key number to use when transmitting.
320# It must be between 0 and 3, and the corresponding key must be set.
321# default: not set
322#wep_default_key=0
323# The WEP keys to use.
324# A key may be a quoted string or unquoted hexadecimal digits.
325# The key length should be 5, 13, or 16 characters, or 10, 26, or 32
326# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or
327# 128-bit (152-bit) WEP is used.
328# Only the default key must be supplied; the others are optional.
329# default: not set
330#wep_key0=123456789a
331#wep_key1="vwxyz"
332#wep_key2=0102030405060708090a0b0c0d
333#wep_key3=".2.4.6.8.0.23"
334
335# Station inactivity limit
336#
337# If a station does not send anything in ap_max_inactivity seconds, an
338# empty data frame is sent to it in order to verify whether it is
339# still in range. If this frame is not ACKed, the station will be
340# disassociated and then deauthenticated. This feature is used to
341# clear station table of old entries when the STAs move out of the
342# range.
343#
344# The station can associate again with the AP if it is still in range;
345# this inactivity poll is just used as a nicer way of verifying
346# inactivity; i.e., client will not report broken connection because
347# disassociation frame is not sent immediately without first polling
348# the STA with a data frame.
349# default: 300 (i.e., 5 minutes)
350#ap_max_inactivity=300
351
352# Enable/disable internal bridge for packets between associated stations.
353#
354# When IEEE 802.11 is used in managed mode, packets are usually send through
355# the AP even if they are from a wireless station to another wireless station.
356# This functionality requires that the AP has a bridge functionality that sends
357# frames back to the same interface if their destination is another associated
358# station. In addition, broadcast/multicast frames from wireless stations will
359# be sent both to the host system net stack (e.g., to eventually wired network)
360# and back to the wireless interface.
361#
362# The internal bridge is implemented within the wireless kernel module and it
363# bypasses kernel filtering (netfilter/iptables/ebtables). If direct
364# communication between the stations needs to be prevented, the internal
365# bridge can be disabled by setting bridge_packets=0.
366#
367# Note: If this variable is not included in hostapd.conf, hostapd does not
368# change the configuration and iwpriv can be used to set the value with
369# 'iwpriv wlan# param 10 0' command. If the variable is in hostapd.conf,
370# hostapd will override possible iwpriv configuration whenever configuration
371# file is reloaded.
372#
373# default: do not control from hostapd (80211.o defaults to 1=enabled)
374#bridge_packets=1
375
b0194fe0
JM
376# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to
377# remain asleep). Default: 65535 (no limit apart from field size)
378#max_listen_interval=100
6fc6879b
JM
379
380##### IEEE 802.1X-2004 related configuration ##################################
381
382# Require IEEE 802.1X authorization
383#ieee8021x=1
384
385# IEEE 802.1X/EAPOL version
386# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
387# version 2. However, there are many client implementations that do not handle
388# the new version number correctly (they seem to drop the frames completely).
389# In order to make hostapd interoperate with these clients, the version number
390# can be set to the older version (1) with this configuration value.
391#eapol_version=2
392
393# Optional displayable message sent with EAP Request-Identity. The first \0
394# in this string will be converted to ASCII-0 (nul). This can be used to
395# separate network info (comma separated list of attribute=value pairs); see,
396# e.g., RFC 4284.
397#eap_message=hello
398#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com
399
400# WEP rekeying (disabled if key lengths are not set or are set to 0)
401# Key lengths for default/broadcast and individual/unicast keys:
402# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
403# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)
404#wep_key_len_broadcast=5
405#wep_key_len_unicast=5
406# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once)
407#wep_rekey_period=300
408
409# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if
410# only broadcast keys are used)
411eapol_key_index_workaround=0
412
413# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable
414# reauthentication).
415#eap_reauth_period=3600
416
417# Use PAE group address (01:80:c2:00:00:03) instead of individual target
418# address when sending EAPOL frames with driver=wired. This is the most common
419# mechanism used in wired authentication, but it also requires that the port
420# is only used by one station.
421#use_pae_group_addr=1
422
423##### Integrated EAP server ###################################################
424
425# Optionally, hostapd can be configured to use an integrated EAP server
426# to process EAP authentication locally without need for an external RADIUS
427# server. This functionality can be used both as a local authentication server
428# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices.
429
430# Use integrated EAP server instead of external RADIUS authentication
431# server. This is also needed if hostapd is configured to act as a RADIUS
432# authentication server.
433eap_server=0
434
435# Path for EAP server user database
436#eap_user_file=/etc/hostapd.eap_user
437
438# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
439#ca_cert=/etc/hostapd.ca.pem
440
441# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
442#server_cert=/etc/hostapd.server.pem
443
444# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
445# This may point to the same file as server_cert if both certificate and key
446# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be
447# used by commenting out server_cert and specifying the PFX file as the
448# private_key.
449#private_key=/etc/hostapd.server.prv
450
451# Passphrase for private key
452#private_key_passwd=secret passphrase
453
454# Enable CRL verification.
455# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
456# valid CRL signed by the CA is required to be included in the ca_cert file.
457# This can be done by using PEM format for CA certificate and CRL and
458# concatenating these into one file. Whenever CRL changes, hostapd needs to be
459# restarted to take the new CRL into use.
460# 0 = do not verify CRLs (default)
461# 1 = check the CRL of the user certificate
462# 2 = check all CRLs in the certificate path
463#check_crl=1
464
465# dh_file: File path to DH/DSA parameters file (in PEM format)
466# This is an optional configuration file for setting parameters for an
467# ephemeral DH key exchange. In most cases, the default RSA authentication does
468# not use this configuration. However, it is possible setup RSA to use
469# ephemeral DH key exchange. In addition, ciphers with DSA keys always use
470# ephemeral DH keys. This can be used to achieve forward secrecy. If the file
471# is in DSA parameters format, it will be automatically converted into DH
472# params. This parameter is required if anonymous EAP-FAST is used.
29222cd3
JM
473# You can generate DH parameters file with OpenSSL, e.g.,
474# "openssl dhparam -out /etc/hostapd.dh.pem 1024"
6fc6879b
JM
475#dh_file=/etc/hostapd.dh.pem
476
477# Configuration data for EAP-SIM database/authentication gateway interface.
478# This is a text string in implementation specific format. The example
479# implementation in eap_sim_db.c uses this as the UNIX domain socket name for
480# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:"
481# prefix.
482#eap_sim_db=unix:/tmp/hlr_auc_gw.sock
483
484# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret,
485# random value. It is configured as a 16-octet value in hex format. It can be
486# generated, e.g., with the following command:
487# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' '
488#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f
489
490# EAP-FAST authority identity (A-ID)
491#eap_fast_a_id=test server
492
493# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND
494# (default: 0 = disabled).
495#eap_sim_aka_result_ind=1
496
502a293e
JM
497# Trusted Network Connect (TNC)
498# If enabled, TNC validation will be required before the peer is allowed to
499# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other
500# EAP method is enabled, the peer will be allowed to connect without TNC.
501#tnc=1
502
6fc6879b
JM
503
504##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
505
506# Interface to be used for IAPP broadcast packets
507#iapp_interface=eth0
508
509
510##### RADIUS client configuration #############################################
511# for IEEE 802.1X with external Authentication Server, IEEE 802.11
512# authentication with external ACL for MAC addresses, and accounting
513
514# The own IP address of the access point (used as NAS-IP-Address)
515own_ip_addr=127.0.0.1
516
517# Optional NAS-Identifier string for RADIUS messages. When used, this should be
518# a unique to the NAS within the scope of the RADIUS server. For example, a
519# fully qualified domain name can be used here.
520# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and
521# 48 octets long.
522#nas_identifier=ap.example.com
523
524# RADIUS authentication server
525#auth_server_addr=127.0.0.1
526#auth_server_port=1812
527#auth_server_shared_secret=secret
528
529# RADIUS accounting server
530#acct_server_addr=127.0.0.1
531#acct_server_port=1813
532#acct_server_shared_secret=secret
533
534# Secondary RADIUS servers; to be used if primary one does not reply to
535# RADIUS packets. These are optional and there can be more than one secondary
536# server listed.
537#auth_server_addr=127.0.0.2
538#auth_server_port=1812
539#auth_server_shared_secret=secret2
540#
541#acct_server_addr=127.0.0.2
542#acct_server_port=1813
543#acct_server_shared_secret=secret2
544
545# Retry interval for trying to return to the primary RADIUS server (in
546# seconds). RADIUS client code will automatically try to use the next server
547# when the current server is not replying to requests. If this interval is set,
548# primary server will be retried after configured amount of time even if the
549# currently used secondary server is still working.
550#radius_retry_primary_interval=600
551
552
553# Interim accounting update interval
554# If this is set (larger than 0) and acct_server is configured, hostapd will
555# send interim accounting updates every N seconds. Note: if set, this overrides
556# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this
557# value should not be configured in hostapd.conf, if RADIUS server is used to
558# control the interim interval.
559# This value should not be less 600 (10 minutes) and must not be less than
560# 60 (1 minute).
561#radius_acct_interim_interval=600
562
563# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN
564# is used for the stations. This information is parsed from following RADIUS
565# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN),
566# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value
567# VLANID as a string). vlan_file option below must be configured if dynamic
568# VLANs are used.
569# 0 = disabled (default)
570# 1 = option; use default interface if RADIUS server does not include VLAN ID
571# 2 = required; reject authentication if RADIUS server does not include VLAN ID
572#dynamic_vlan=0
573
574# VLAN interface list for dynamic VLAN mode is read from a separate text file.
575# This list is used to map VLAN ID from the RADIUS server to a network
576# interface. Each station is bound to one interface in the same way as with
577# multiple BSSIDs or SSIDs. Each line in this text file is defining a new
578# interface and the line must include VLAN ID and interface name separated by
579# white space (space or tab).
580#vlan_file=/etc/hostapd.vlan
581
582# Interface where 802.1q tagged packets should appear when a RADIUS server is
583# used to determine which VLAN a station is on. hostapd creates a bridge for
584# each VLAN. Then hostapd adds a VLAN interface (associated with the interface
585# indicated by 'vlan_tagged_interface') and the appropriate wireless interface
586# to the bridge.
587#vlan_tagged_interface=eth0
588
589
590##### RADIUS authentication server configuration ##############################
591
592# hostapd can be used as a RADIUS authentication server for other hosts. This
593# requires that the integrated EAP server is also enabled and both
594# authentication services are sharing the same configuration.
595
596# File name of the RADIUS clients configuration for the RADIUS server. If this
597# commented out, RADIUS server is disabled.
598#radius_server_clients=/etc/hostapd.radius_clients
599
600# The UDP port number for the RADIUS authentication server
601#radius_server_auth_port=1812
602
603# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API)
604#radius_server_ipv6=1
605
606
607##### WPA/IEEE 802.11i configuration ##########################################
608
609# Enable WPA. Setting this variable configures the AP to require WPA (either
610# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
611# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
612# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
613# RADIUS authentication server must be configured, and WPA-EAP must be included
614# in wpa_key_mgmt.
615# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
616# and/or WPA2 (full IEEE 802.11i/RSN):
617# bit0 = WPA
618# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
619#wpa=1
620
621# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
622# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
623# (8..63 characters) that will be converted to PSK. This conversion uses SSID
624# so the PSK changes when ASCII passphrase is used and the SSID is changed.
625# wpa_psk (dot11RSNAConfigPSKValue)
626# wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
627#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
628#wpa_passphrase=secret passphrase
629
630# Optionally, WPA PSKs can be read from a separate text file (containing list
631# of (PSK,MAC address) pairs. This allows more than one PSK to be configured.
632# Use absolute path name to make sure that the files can be read on SIGHUP
633# configuration reloads.
634#wpa_psk_file=/etc/hostapd.wpa_psk
635
636# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
637# entries are separated with a space.
638# (dot11RSNAConfigAuthenticationSuitesTable)
639#wpa_key_mgmt=WPA-PSK WPA-EAP
640
641# Set of accepted cipher suites (encryption algorithms) for pairwise keys
642# (unicast packets). This is a space separated list of algorithms:
643# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
644# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
645# Group cipher suite (encryption algorithm for broadcast and multicast frames)
646# is automatically selected based on this configuration. If only CCMP is
647# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
648# TKIP will be used as the group cipher.
649# (dot11RSNAConfigPairwiseCiphersTable)
650# Pairwise cipher for WPA (v1) (default: TKIP)
651#wpa_pairwise=TKIP CCMP
652# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
653#rsn_pairwise=CCMP
654
655# Time interval for rekeying GTK (broadcast/multicast encryption keys) in
656# seconds. (dot11RSNAConfigGroupRekeyTime)
657#wpa_group_rekey=600
658
659# Rekey GTK when any STA that possesses the current GTK is leaving the BSS.
660# (dot11RSNAConfigGroupRekeyStrict)
661#wpa_strict_rekey=1
662
663# Time interval for rekeying GMK (master key used internally to generate GTKs
664# (in seconds).
665#wpa_gmk_rekey=86400
666
667# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
668# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
669# authentication and key handshake before actually associating with a new AP.
670# (dot11RSNAPreauthenticationEnabled)
671#rsn_preauth=1
672#
673# Space separated list of interfaces from which pre-authentication frames are
674# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
675# interface that are used for connections to other APs. This could include
676# wired interfaces and WDS links. The normal wireless data interface towards
677# associated stations (e.g., wlan0) should not be added, since
678# pre-authentication is only used with APs other than the currently associated
679# one.
680#rsn_preauth_interfaces=eth0
681
682# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is
683# allowed. This is only used with RSN/WPA2.
684# 0 = disabled (default)
685# 1 = enabled
686#peerkey=1
687
688# ieee80211w: Whether management frame protection is enabled
689# 0 = disabled (default)
690# 1 = optional
691# 2 = required
692#ieee80211w=0
693
694
695##### IEEE 802.11r configuration ##############################################
696
697# Mobility Domain identifier (dot11FTMobilityDomainID, MDID)
698# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the
699# same SSID) between which a STA can use Fast BSS Transition.
700# 2-octet identifier as a hex string.
701#mobility_domain=a1b2
702
703# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID)
704# 1 to 48 octet identifier.
705# This is configured with nas_identifier (see RADIUS client section above).
706
707# Default lifetime of the PMK-RO in minutes; range 1..65535
708# (dot11FTR0KeyLifetime)
709#r0_key_lifetime=10000
710
711# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
712# 6-octet identifier as a hex string.
713#r1_key_holder=000102030405
714
715# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
716# (dot11FTReassociationDeadline)
717#reassociation_deadline=1000
718
719# List of R0KHs in the same Mobility Domain
720# format: <MAC address> <NAS Identifier> <128-bit key as hex string>
721# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC
722# address when requesting PMK-R1 key from the R0KH that the STA used during the
723# Initial Mobility Domain Association.
724#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f
725#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff
726# And so on.. One line per R0KH.
727
728# List of R1KHs in the same Mobility Domain
729# format: <MAC address> <R0KH-ID> <128-bit key as hex string>
730# This list is used to map R1KH-ID to a destination MAC address when sending
731# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD
732# that can request PMK-R1 keys.
733#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f
734#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff
735# And so on.. One line per R1KH.
736
737# Whether PMK-R1 push is enabled at R0KH
738# 0 = do not push PMK-R1 to all configured R1KHs (default)
739# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived
740#pmk_r1_push=1
741
742##### Passive scanning ########################################################
743# Scan different channels every N seconds. 0 = disable passive scanning.
744#passive_scan_interval=60
745
746# Listen N usecs on each channel when doing passive scanning.
747# This value plus the time needed for changing channels should be less than
748# 32 milliseconds (i.e. 32000 usec) to avoid interruptions to normal
749# operations. Time needed for channel changing varies based on the used wlan
750# hardware.
751# default: disabled (0)
752#passive_scan_listen=10000
753
754# Passive scanning mode:
755# 0 = scan all supported modes (802.11a/b/g/Turbo) (default)
756# 1 = scan only the mode that is currently used for normal operations
757#passive_scan_mode=1
758
759# Maximum number of entries kept in AP table (either for passive scanning or
760# for detecting Overlapping Legacy BSS Condition). The oldest entry will be
761# removed when adding a new entry that would make the list grow over this
762# limit. Note! Wi-Fi certification for IEEE 802.11g requires that OLBC is
763# enabled, so this field should not be set to 0 when using IEEE 802.11g.
764# default: 255
765#ap_table_max_size=255
766
767# Number of seconds of no frames received after which entries may be deleted
768# from the AP table. Since passive scanning is not usually performed frequently
769# this should not be set to very small value. In addition, there is no
770# guarantee that every scan cycle will receive beacon frames from the
771# neighboring APs.
772# default: 60
773#ap_table_expiration_time=3600
774
775
776##### Multiple BSSID support ##################################################
777#
778# Above configuration is using the default interface (wlan#, or multi-SSID VLAN
779# interfaces). Other BSSIDs can be added by using separator 'bss' with
780# default interface name to be allocated for the data packets of the new BSS.
781#
782# hostapd will generate BSSID mask based on the BSSIDs that are
783# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
784# not the case, the MAC address of the radio must be changed before starting
785# hostapd (ifconfig wlan0 hw ether <MAC addr>).
786#
787# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
788# specified using the 'bssid' parameter.
789# If an explicit BSSID is specified, it must be chosen such that it:
790# - results in a valid MASK that covers it and the dev_addr
791# - is not the same as the MAC address of the radio
792# - is not the same as any other explicitly specified BSSID
793#
794# Please note that hostapd uses some of the values configured for the first BSS
795# as the defaults for the following BSSes. However, it is recommended that all
796# BSSes include explicit configuration of all relevant configuration items.
797#
798#bss=wlan0_0
799#ssid=test2
800# most of the above items can be used here (apart from radio interface specific
801# items, like channel)
802
803#bss=wlan0_1
804#bssid=00:13:10:95:fe:0b
805# ...