]>
Commit | Line | Data |
---|---|---|
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 | |
6 | interface=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 | # | |
41 | logger_syslog=-1 | |
42 | logger_syslog_level=2 | |
43 | logger_stdout=-1 | |
44 | logger_stdout_level=2 | |
45 | ||
46 | # Dump file for state information (on SIGUSR1) | |
47 | dump_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. | |
57 | ctrl_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 | |
72 | ctrl_interface_group=0 | |
73 | ||
74 | ||
75 | ##### IEEE 802.11 related configuration ####################################### | |
76 | ||
77 | # SSID to be used in IEEE 802.11 management frames | |
78 | ssid=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 | |
108 | hw_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 |
115 | channel=60 |
116 | ||
117 | # Beacon interval in kus (1.024 ms) (default: 100; range 15..65535) | |
118 | beacon_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) | |
123 | dtim_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) | |
129 | max_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. | |
134 | rts_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. | |
140 | fragm_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) | |
169 | macaddr_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) | |
183 | auth_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 | |
193 | ignore_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 | # | |
279 | wme_enabled=1 | |
280 | # | |
281 | # Low priority / AC_BK = background | |
282 | wme_ac_bk_cwmin=4 | |
283 | wme_ac_bk_cwmax=10 | |
284 | wme_ac_bk_aifs=7 | |
285 | wme_ac_bk_txop_limit=0 | |
286 | wme_ac_bk_acm=0 | |
287 | # Note: for IEEE 802.11b mode: cWmin=5 cWmax=10 | |
288 | # | |
289 | # Normal priority / AC_BE = best effort | |
290 | wme_ac_be_aifs=3 | |
291 | wme_ac_be_cwmin=4 | |
292 | wme_ac_be_cwmax=10 | |
293 | wme_ac_be_txop_limit=0 | |
294 | wme_ac_be_acm=0 | |
295 | # Note: for IEEE 802.11b mode: cWmin=5 cWmax=7 | |
296 | # | |
297 | # High priority / AC_VI = video | |
298 | wme_ac_vi_aifs=2 | |
299 | wme_ac_vi_cwmin=3 | |
300 | wme_ac_vi_cwmax=4 | |
301 | wme_ac_vi_txop_limit=94 | |
302 | wme_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 | |
306 | wme_ac_vo_aifs=2 | |
307 | wme_ac_vo_cwmin=2 | |
308 | wme_ac_vo_cwmax=3 | |
309 | wme_ac_vo_txop_limit=47 | |
310 | wme_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) | |
411 | eapol_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. | |
433 | eap_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) | |
515 | own_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 | # ... |