xref: /openbsd/usr.sbin/hostapd/hostapd.conf.5 (revision 91f110e0)
1.\" $OpenBSD: hostapd.conf.5,v 1.42 2013/09/03 20:44:01 jmc Exp $
2.\"
3.\" Copyright (c) 2004, 2005, 2006 Reyk Floeter <reyk@openbsd.org>
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd $Mdocdate: September 3 2013 $
18.Dt HOSTAPD.CONF 5
19.Os
20.Sh NAME
21.Nm hostapd.conf
22.Nd configuration file for the Host Access Point daemon
23.Sh DESCRIPTION
24.Nm
25is the configuration file for the
26.Xr hostapd 8
27daemon.
28.Sh SECTIONS
29The
30.Nm
31file is divided into four main sections.
32.Bl -tag -width xxxx
33.It Sy Macros
34User-defined variables may be defined and used later, simplifying the
35configuration file.
36.It Sy Tables
37Tables provide a mechanism to handle a large number of link layer
38addresses easily, with increased performance and flexibility.
39.It Sy Global Configuration
40Global runtime settings for
41.Xr hostapd 8 .
42.It Sy Event Rules
43Event rules provide a powerful mechanism to trigger certain actions
44when receiving specified IEEE 802.11 frames.
45.It Sy IP Roaming
46The concepts and details about the optional IP based roaming in
47.Xr hostapd 8 .
48.El
49.Pp
50The current line can be extended over multiple lines using a backslash
51.Pq Sq \e .
52Comments can be put anywhere in the file using a hash mark
53.Pq Sq # ,
54and extend to the end of the current line.
55Care should be taken when commenting out multi-line text:
56the comment is effective until the end of the entire block.
57.Pp
58Argument names not beginning with a letter, digit, or underscore
59must be quoted.
60.Pp
61Additional configuration files can be included with the
62.Ic include
63keyword, for example:
64.Bd -literal -offset indent
65include "/etc/hostapd.conf.local"
66.Ed
67.Sh MACROS
68Macros can be defined that will later be expanded in context.
69Macro names must start with a letter, digit, or underscore,
70and may contain any of those characters.
71Macro names may not be reserved words (for example,
72.Ic set ,
73.Ic interface ,
74or
75.Ic hostap ) .
76Macros are not expanded inside quotes.
77.Pp
78For example:
79.Bd -literal -offset indent
80wlan="ath0"
81set iapp handle subtype { ! add notify, radiotap }
82set iapp interface $wlan
83.Ed
84.Sh TABLES
85Tables are named structures which can hold a collection of link layer
86addresses, masked address ranges, and link layer to IP address
87assignments.
88Lookups against tables in
89.Xr hostapd 8
90are relatively fast, making a single rule with tables much more
91efficient, in terms of processor usage and memory consumption, than a
92large number of rules which differ only in link layer addresses.
93.Pp
94Tables are used for
95.Xr hostapd 8
96.Em event rules
97to match specified IEEE 802.11 link layer addresses and address ranges,
98and the capability to assign link layer to IP addresses and an option netmask
99is a requirement for advanced IAPP functionality.
100.Pp
101Table options may be presented after the table name declaration.
102The following options are supported:
103.Bl -tag -width const
104.It Ic const
105The table is constant and cannot be later changed from its original
106definition.
107.El
108.Pp
109For example:
110.Bd -literal -offset indent
111cisco="00:40:06:ff:ff:ff & ff:ff:ff:00:00:00"
112
113table <black> { $cisco, 00:0d:60:ff:f1:2a }
114table <myess> const {
115	00:00:24:c3:40:18 -> 10.195.64.24,
116	00:00:24:c3:40:19 -> 10.195.64.25,
117	00:00:24:c3:40:1a -> 10.195.64.26
118}
119table <myclient> const {
120	00:05:4e:45:d4:b9 -> 172.23.5.1/30
121}
122.Ed
123.Sh GLOBAL CONFIGURATION
124The following configuration settings are understood:
125.Bl -tag -width Ds
126.It Xo
127.Ic set hostap interface
128.Ar interface \*(Ba\ \&
129.Pf { Ar interface0 , interface1 , ... No }
130.Xc
131Specify the wireless interface running in Host AP mode.
132This option could be omitted to use
133.Xr hostapd 8
134to log received IAPP messages.
135Multiple hostap interfaces may be specified
136as a comma-separated list,
137surrounded by curly braces.
138.It Ic set hostap mode Ar mode
139Specify the Host AP capture mode.
140The supported modes are:
141.Pp
142.Bl -tag -width radiotap -offset indent -compact
143.It Ic radiotap
144Capture IEEE 802.11 frames with additional radiotap headers.
145They will provide optional but useful information like received frame
146signal levels.
147.It Ic pcap
148Capture plain IEEE 802.11 frames.
149.El
150.It Xo
151.Ic set hostap hopper interface
152.Ar interface \*(Ba\ \&
153.Pf { Ar interface0 , interface1 , ... No }
154.Xc
155Enable a channel hopper on the selected wireless interface.
156Multiple hostap interfaces may be specified as a comma-separated list,
157surrounded by curly braces.
158.It Ic set hostap hopper delay Ar number
159Set the delay in milliseconds for the channel hopper before hopping to
160the next available channel.
161The default value is 800 milliseconds.
162.It Ic set iapp interface Ar interface
163Specify the mandatory Inter-Access-Point (IAPP) interface.
164It is important that the IAPP interface is on a trusted
165network because there is no authentication and an attacker could force
166disassociation of selected stations on all listening access points.
167.It Xo
168.Ic set iapp
169.Op Ic address \*(Ba\ route
170.Ic roaming table
171.Aq Ar table
172.Xc
173Specify a table used for
174.Em IP Roaming
175lookups of link layer address to IP address or subnet assignments.
176.It Xo
177.Ic set iapp handle subtype
178.Ar subtype \*(Ba\ \&
179.Pf { Ar subtype0 , subtype1 , ... No }
180.Xc
181Specify the IAPP subtypes to use:
182.Pp
183.Bl -tag -width broadcast -offset indent -compact
184.It Xo
185.Op Ic not
186.Ic add notify
187.Xc
188Send and receive
189.Em ADD.notify
190messages.
191This option is enabled by default.
192.It Xo
193.Op Ic not
194.Ic radiotap
195.Xc
196Receive
197.Em radiotap
198messages.
199This option is enabled by default.
200.It Xo
201.Op Ic not
202.Op Ic address \*(Ba\ route
203.Ic roaming
204.Xc
205Enable dynamic roaming of IP addresses or routes.
206These options are disabled by default.
207.El
208.It Ic set iapp mode Ar mode
209Specify the IAPP mode.
210The supported modes are:
211.Pp
212.Bl -tag -width broadcast -offset indent -compact
213.It Xo
214.Ic multicast
215.Op Ic address Ar ipv4addr
216.Op Ic port Ar number
217.Op Ic ttl Ar number
218.Xc
219Use
220.Xr multicast 4
221frames.
222A multicast time-to-live (TTL) of 2 or higher is required to allow
223multicast forwarding, for example for use with
224.Xr mrouted 8 .
225.It Xo
226.Ic broadcast
227.Op Ic port Ar number
228.Xc
229Use broadcast frames.
230.El
231.Pp
232The default is multicast using the multicast address 224.0.1.178 and
233port 3517 with a TTL limited to 1 hop.
234Some access point vendors still use broadcast with the pre-standard
235IAPP port 2313.
236.El
237.Sh EVENT RULES
238Event rules provide a powerful way to trigger a certain action when
239receiving specified IEEE 802.11 frames on the
240.Em hostap interface .
241The rules are handled in sequential order, from first to last.
242Rules are handled without a state:
243each rule is processed independently from the others and from
244any previous actions.
245This behaviour is somewhat different to that of packet filter rules
246specified in
247.Xr pf.conf 5 .
248.Pp
249All
250.Xr hostapd 8
251event rules are single line statements beginning with
252the mandatory
253.Ic hostap handle
254keywords and optional rule options, interface, frame matching,
255a specified action, a limit, and a minimal rate:
256.Bd -filled -offset indent
257.Ic hostap handle
258.Op Ar option
259.Op Ar interface
260.Op Ar frame
261.Op Ar action
262.Op Ar limit
263.Op Ar rate
264.Ed
265.Pp
266Some rule statements support the optional keyword
267.Ic not ,
268also represented by the
269.Ic !\&
270operator,
271for inverse matching.
272.Pp
273The optional parts are defined below.
274.Ss Rule Option
275The rule
276.Ar option
277will modify the behaviour of handling the statement.
278There are two possible options,
279.Ic quick
280and
281.Ic skip .
282If either the keyword
283.Ic quick
284or the keyword
285.Ic skip
286is specified, no further event rules will be handled for this frame
287after processing this rule successfully.
288The keyword
289.Ic skip
290additionally skips any further IAPP processing of the frame,
291which is normally done after handling the event rules.
292.Ss Rule Interface
293The rule
294.Ar interface
295specifies the hostap interface the rule is matched on.
296The available interface list is specified by the global
297.Ic set hostap interface
298configuration setting.
299.Bd -filled -offset indent
300.Ic on
301.Op Ic not
302.Ar interface
303.Ed
304.Pp
305If not given,
306the event rule is matched on all available hostap interfaces.
307.Ss Rule Frame
308The
309.Ar frame
310description specifies a mechanism to match IEEE 802.11 frames.
311.Bl -tag -width Ds
312.It Ic any
313Match all frames.
314.It Xo
315.Ic frame
316.Op Ar type
317.Op Ar dir
318.Op Ar from
319.Op Ar to
320.Op Ar bssid
321.Op Ar radiotap
322.Xc
323Apply rules to frames matching the given parameters.
324The parameters are explained below.
325.Pp
326The
327.Ar type
328parameter specifies the frame type to match on.
329The frame type may be specified in the following ways:
330.Bl -tag -width Ds
331.It Ic type any
332Match all frame types.
333.It Xo
334.Ic type
335.Op Ic not
336.Ic data
337.Xc
338Match data frames.
339Presence of the
340.Ic not
341keyword negates the match and will match all non-data frames.
342.It Xo
343.Ic type
344.Op Ic not
345.Ic management
346.Oo Op Ic not
347.Ar subtype Oc
348.Xc
349Match management frames.
350The
351.Ar subtype
352argument may be specified to optionally match management frames of the
353given subtype.
354The subtype match may be negated by specifying the
355.Ic not
356keyword.
357See the
358.Sx Management Frame Subtypes
359section below for available subtypes specifications.
360.El
361.Pp
362The
363.Ar dir
364parameter specifies the direction the frame is being sent.
365The direction may be specified in the following ways:
366.Bl -tag -width Ds
367.It Ic dir any
368Match all directions.
369.It Ic dir Ar framedir
370Match frames with the given direction
371.Ar framedir .
372See the
373.Sx Frame Directions
374section below for available direction specifications.
375.El
376.Pp
377The
378.Ar radiotap
379rules allow parsing and matching of the extra information reported by
380the radiotap header.
381Support for the specified radiotap headers is optional and the
382specific parameters depend on the radiotap elements reported
383by the wireless interface.
384Support for the radiotap data link type can be verified with the
385.Xr tcpdump 8
386command.
387These rules require
388.Ic hostap mode radiotap
389in the global configuration.
390.Bl -tag -width Ds
391.It Xo
392.Ic signal
393.Op Ic operator
394.Ar percentage Ic %
395.Xc
396Match the signal quality of the received frame.
397.It Xo
398.Ic freq
399.Op Ic operator
400.Ar value Ic ( GHz \*(Ba MHz )
401.Xc
402Match the transmit rate of the received frame.
403.It Xo
404.Ic txrate
405.Op Ic operator
406.Ar rate Ic Mb
407.Xc
408Match the frequency of the received frame,
409in Mbps.
410.El
411.Pp
412The radiotap rules support the following operators.
413If omitted, the specified value will be checked if it is equal or not.
414.Bd -literal -offset indent
415=	(equal)
416!=	(not equal)
417\*(Lt	(less than)
418\*(Le	(less than or equal)
419\*(Gt	(greater than)
420\*(Ge	(greater than or equal)
421.Ed
422.Pp
423The
424.Ar from , to ,
425and
426.Ar bssid
427parameters specify the IEEE 802.11 address fields to match on.
428They can be specified in the following ways:
429.Bl -tag -width Ds
430.It Xo
431.Ic ( from \*(Ba to \*(Ba bssid ) Ic any
432.Xc
433Allow all addresses for the specified address field.
434.It Xo
435.Ic ( from \*(Ba to \*(Ba bssid )
436.Op Ic not
437.Aq Ar table
438.Xc
439Allow allow addresses from the given
440.Aq Ar table
441(see
442.Sx Tables
443above)
444for the specified address field.
445.It Xo
446.Ic ( from \*(Ba to \*(Ba bssid )
447.Op Ic not
448.Ar lladdr
449.Xc
450Allow the given address
451.Ar lladdr
452for the specified address field.
453.El
454.El
455.Ss Rule Action
456An optional
457.Ar action
458is triggered if a received IEEE 802.11 frame matches the frame
459description.
460The following actions are supported:
461.Bl -tag -width Ds
462.It Xo
463.Ic with frame Ar type
464.Op Ar dir
465.Ar from to bssid
466.Xc
467Send an arbitrary constructed frame to the wireless network.
468The arguments are as follows.
469.Pp
470The
471.Ar type
472describes the IEEE 802.11 frame type to send, specified in the
473frame control header.
474The following frames types are supported at present:
475.Bl -tag -width Ds
476.It Ic type data
477Send a data frame.
478This is normally used to encapsulate ordinary IEEE 802.3
479frames into IEEE 802.11 wireless frames.
480.It Ic type Ic management Ar subtype
481Send a management frame with the specified subtype.
482Management frames are used to control states and to find access points
483and IBSS nodes in IEEE 802.11 networks.
484See the
485.Sx Management Frame Subtypes
486section below for available subtypes specifications.
487.El
488.Pp
489The
490.Ar dir
491describes the direction the IEEE 802.11 frame will be sent.
492It has the following syntax:
493.Bd -filled -offset indent
494.Ic dir Ar framedir
495.Ed
496.Pp
497See the
498.Sx Frame Directions
499section below for available direction specifications.
500.Pp
501The
502.Ar from , to ,
503and
504.Ar bssid
505arguments specify the link layer address fields used in IEEE 802.11
506frames.
507All address fields are mandatory in the frame action.
508The optional fourth address field used by wireless distribution
509systems (WDS) is currently not supported.
510Each argument is specified by a keyword of the same name
511.Po
512.Ic from , to ,
513or
514.Ic bssid
515.Pc
516followed by one of the following address specifications:
517.Bl -tag -width "&refaddr"
518.It Ar lladdr
519Specify the link layer addresses used in the IEEE 802.11 frame address
520field.
521The link layer address
522.Ql ff:ff:ff:ff:ff:ff
523is the IEEE 802.11 broadcast address.
524.It Li & Ns Ar refaddr
525Fill in a link layer address from the previously matched IEEE 802.11
526frame.
527.Ic &from
528will use the source link layer address;
529.Ic &to
530the destination link layer address; and
531.Ic &bssid
532the BSSID link layer address of the previously matched frame.
533.It Ic random
534Use a random link layer address in the specified IEEE 802.11 frame
535address field.
536Multicast and broadcast link layer addresses will be skipped.
537.El
538.It Ic with iapp type Ar iapp-type
539Send a
540.Xr hostapd 8
541specific IAPP frame with a raw IEEE 802.11 packet dump of the received
542frame to the wired network.
543The only supported
544.Ar iapp-type
545is
546.Ic radiotap .
547.It Ic with log Op Ic verbose
548Write informational messages to the local system log (see
549.Xr syslogd 8 )
550or standard error.
551If the
552.Sx Rule Rate
553has been specified,
554log will print the actual rate.
555.It Ic node add | delete Ar lladdr
556Add or remove the specified node from the internal kernel
557node table.
558.It Ic resend
559Resend the received IEEE 802.11 frame.
560.El
561.Ss Rule Limit
562It is possible to limit handling of specific rules with the
563.Ic limit
564keyword:
565.Bd -filled -offset indent
566.Ic limit
567.Ar number
568.Ic sec \*(Ba usec
569.Ed
570.Pp
571In some cases it is absolutely necessary to use limited matching
572to protect
573.Xr hostapd 8
574against excessive flooding with IEEE 802.11 frames.
575For example, beacon frames will be normally received every 100 ms.
576.Ss Rule Rate
577It is possible to tell
578.Xr hostapd 8
579to trigger the action only after a specific
580.Ic rate
581of matched frames.
582.Bd -filled -offset indent
583.Ic rate
584.Ar number
585.Ar /
586.Ar number
587.Ic sec
588.Ed
589.Pp
590This will help to detect excessive flooding of IEEE 802.11 frames.
591For example, de-auth flooding is a DoS (Denial of Service) attack
592against IEEE 802.11 wireless networks.
593.Ss Management Frame Subtypes
594The
595.Ar subtype
596describes the IEEE 802.11 frame subtype, specified in
597the frame control header.
598The choice of subtypes depends on the used frame type.
599.Xr hostapd 8
600currently only supports management frame subtypes.
601Most frame subtypes require an additional subtype-specific header
602in the frame body, but currently only the
603.Ic deauth
604and
605.Ic disassoc
606reason codes are supported:
607.Bl -ohang -offset 3n
608.It Ic subtype beacon
609A beacon frame.
610Wireless access points and devices running in
611.Em ibss
612master or
613.Em hostap
614mode continuously send beacon frames to indicate their presence,
615traffic load, and capabilities.
616.It Ic subtype deauth Op Ar reason
617A deauthentication frame with an optional reason code.
618Deauthenticated stations will lose any IEEE 802.11 operational state.
619.It Ic subtype disassoc Op Ar reason
620A disassociation frame with an optional reason code.
621.It Ic subtype assoc request
622An association request frame.
623.It Ic subtype assoc response
624An association response frame.
625.It Ic subtype atim
626An announcement traffic indication message (ATIM frame).
627.It Xo
628.Ic subtype auth Op Ic open request \*(Ba response
629.Xc
630An authentication frame.
631.It Ic subtype probe request
632A probe request frame.
633Probe requests are used to probe for access points and IBSS nodes.
634.It Ic subtype probe response
635A probe response frame.
636.It Ic subtype reassoc request
637A re-association request frame.
638.It Ic subtype reassoc response
639A re-association response frame.
640.El
641.Pp
642The
643.Ar reason
644defines a descriptive reason for the actual
645.Em deauthentication
646or
647.Em disassociation
648of a station:
649.Bl -ohang -offset 3n
650.It Ic reason assoc expire
651Disassociated due to inactivity.
652.It Ic reason assoc leave
653Disassociated because the sending station is leaving or has left the
654wireless network.
655.It Ic reason assoc toomany
656Disassociated because the access point has reached its limit of
657associated stations.
658.It Ic reason auth expire
659Previous authentication no longer valid.
660.It Ic reason auth leave
661Deauthenticated because the sending station is leaving or has left the
662wireless network.
663.It Ic reason ie invalid
664IEEE 802.11i extension.
665.It Ic reason mic failure
666IEEE 802.11i extension.
667.It Ic reason not authed
668Frame received from unauthenticated station.
669.It Ic reason assoc not authed
670Frame received from an associated but unauthenticated station.
671.It Ic reason not assoced
672Frame received from unassociated station.
673.It Ic reason rsn required
674IEEE 802.11i extension.
675.It Ic reason rsn inconsistent
676IEEE 802.11i extension.
677.It Ic reason unspecified
678Unspecified reason.
679.El
680.Ss Frame Directions
681The direction a frame is being transmitted
682.Pq Ar framedir
683can be specified in the following ways:
684.Bl -ohang -offset 3n
685.It Ic dir no ds
686No distribution system direction is used for management frames.
687.It Ic dir to ds
688A frame sent from a station to the distribution system, the access point.
689.It Ic dir from ds
690A frame from the distribution system, the access point, to a station.
691.It Ic dir ds to ds
692A frame direction used by wireless distribution systems (WDS) for
693wireless access point to access point communication.
694.El
695.Sh EVENT RULE EXAMPLES
696.Bd -literal
697# Log probe requests locally
698hostap handle type management subtype probe request \e
699    with log
700
701# Detect flooding of management frames except beacons.
702# This will detect some possible Denial of Service attacks
703# against the IEEE 802.11 protocol.
704hostap handle skip type management subtype ! beacon \e
705    with log \e
706    rate 100 / 10 sec
707
708# Log rogue access points via IAPP, limited to every second,
709# and skip further IAPP processing.
710hostap handle skip type management subtype beacon bssid !<myess> \e
711    with iapp type radiotap limit 1 sec
712
713# Send deauthentication frames to stations associated to rogue APs
714hostap handle type data bssid !<myess> with frame type management \e
715    subtype deauth reason auth expire \e
716    from &bssid to &from bssid &bssid
717
718# Send authentication requests from random station addresses to
719# rogue access points. This is a common way to test the quality of
720# various hostap implementations.
721hostap handle skip type management subtype beacon bssid <pentest> \e
722    with frame type management subtype auth \e
723    from random to &bssid bssid &bssid
724
725# Re-inject a received IEEE 802.11 frame on the interface ath0
726hostap handle on ath0 type management subtype auth with resend
727
728# Remove a blacklisted node from the kernel node tree
729hostap handle type management subtype auth from <blacklist> \e
730    with node delete &from
731
732# Log rogue access points with a strong signal quality on
733# channel 3 (2.422GHz) transmitting frames with 1Mbps.
734hostap handle type management subtype beacon bssid !<myess> \e
735    signal >= 50% txrate 1Mb freq 2.422GHz \e
736    with log
737.Ed
738.Sh IP ROAMING
739In a traditional wireless network, multiple access points are
740members of a single layer 3 broadcast domain.
741The traffic is bridged between physical collision domains,
742as with the
743.Xr bridge 4
744interface in
745.Ox .
746This may cause problems in large wireless networks with a heavy load
747of broadcast traffic, like broadcasted ARP, DHCP or ICMP requests.
748.Pp
749.Xr hostapd 8
750implements IP based roaming to build wireless networks
751without the requirement of a single broadcast domain.
752This works as follows:
753.Pp
754.Bl -enum -compact
755.It
756Every access point running
757.Xr hostapd 8
758is a router to an individual internal broadcast domain,
759.Em without
760using the
761.Xr bridge 4
762interface.
763.It
764An increased multicast TTL is used for IAPP communication
765between access points in multiple network segments.
766Multicast routing is required in the network infrastructure,
767like an
768.Ox
769router running
770.Xr mrouted 8 .
771.It
772The configuration file
773.Nm
774is used to assign IP subnets to link layer addresses.
775If a station with the specified link layer address successfully
776associates to the access point,
777.Xr hostapd 8
778will configure the specified IP address and subnet on
779the wireless interface.
780.It
781The
782IAPP
783.Em ADD.notify
784message is used to notify other access points running
785.Xr hostapd 8
786to remove the station and any assigned IP addresses or subnets from
787the wireless interface.
788.It
789A dynamic routing daemon like
790.Xr ospfd 8
791or
792.Xr bgpd 8
793running on the access point will be used to announce the
794new IP route to the internal network and routers.
795.El
796.Pp
797For example:
798.Bd -literal -offset indent
799# Assign IP addresses to layer 2 addresses
800table <clients> {
801	00:02:6f:42:d0:01 -> 172.23.5.1/30
802	00:05:4e:45:d3:b8 -> 172.23.5.4/30
803	00:04:2e:12:03:e0 -> 172.23.5.8/30
804}
805
806# Global options
807set hostap interface ath0
808set hostap mode radiotap
809set iapp interface sis0
810set iapp address roaming table <clients>
811set iapp handle subtype address roaming
812set iapp mode multicast ttl 2
813.Ed
814.Sh FILES
815.Bl -tag -width "/etc/hostapd.conf" -compact
816.It Pa /etc/hostapd.conf
817Default location of the configuration file.
818.El
819.Sh SEE ALSO
820.Xr hostapd 8
821.Sh AUTHORS
822The
823.Xr hostapd 8
824program was written by
825.An Reyk Floeter Aq Mt reyk@openbsd.org .
826.Sh CAVEATS
827.Em IP Roaming
828requires statically assigned IP addresses of stations and does
829not support DHCP at present.
830