Revert "Borrow hostapd.conf.5 man page from OpenBSD"
OpenBSD's hostapd is completely different codebase...
https://en.wikipedia.org/wiki/Hostapd
This reverts commit 5630ca5ea8
.
This commit is contained in:
parent
5630ca5ea8
commit
6da5b3f4d5
831
hostapd.conf.5
831
hostapd.conf.5
@ -1,831 +0,0 @@
|
||||
.\" $OpenBSD: hostapd.conf.5,v 1.48 2020/04/23 21:10:53 jmc Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2004, 2005, 2006 Reyk Floeter <reyk@openbsd.org>
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: April 23 2020 $
|
||||
.Dt HOSTAPD.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm hostapd.conf
|
||||
.Nd configuration file for the Host Access Point daemon
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is the configuration file for the
|
||||
.Xr hostapd 8
|
||||
daemon.
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
file is divided into the following main sections:
|
||||
.Bl -tag -width xxxx
|
||||
.It Sy Macros
|
||||
User-defined variables may be defined and used later, simplifying the
|
||||
configuration file.
|
||||
.It Sy Tables
|
||||
Tables provide a mechanism to handle a large number of link layer
|
||||
addresses easily, with increased performance and flexibility.
|
||||
.It Sy Global Configuration
|
||||
Global runtime settings for
|
||||
.Xr hostapd 8 .
|
||||
.It Sy Event Rules
|
||||
Event rules provide a powerful mechanism to trigger certain actions
|
||||
when receiving specified IEEE 802.11 frames.
|
||||
.It Sy IP Roaming
|
||||
The concepts and details about the optional IP based roaming in
|
||||
.Xr hostapd 8 .
|
||||
.El
|
||||
.Pp
|
||||
The current line can be extended over multiple lines using a backslash
|
||||
.Pq Sq \e .
|
||||
Comments can be put anywhere in the file using a hash mark
|
||||
.Pq Sq # ,
|
||||
and extend to the end of the current line.
|
||||
Care should be taken when commenting out multi-line text:
|
||||
the comment is effective until the end of the entire block.
|
||||
.Pp
|
||||
Argument names not beginning with a letter, digit, or underscore
|
||||
must be quoted.
|
||||
.Pp
|
||||
Additional configuration files can be included with the
|
||||
.Ic include
|
||||
keyword, for example:
|
||||
.Bd -literal -offset indent
|
||||
include "/etc/hostapd.conf.local"
|
||||
.Ed
|
||||
.Sh MACROS
|
||||
Macros can be defined that will later be expanded in context.
|
||||
Macro names must start with a letter, digit, or underscore,
|
||||
and may contain any of those characters.
|
||||
Macro names may not be reserved words (for example,
|
||||
.Ic set ,
|
||||
.Ic interface ,
|
||||
or
|
||||
.Ic hostap ) .
|
||||
Macros are not expanded inside quotes.
|
||||
.Pp
|
||||
For example:
|
||||
.Bd -literal -offset indent
|
||||
wlan="ath0"
|
||||
set iapp handle subtype { ! add notify, radiotap }
|
||||
set iapp interface $wlan
|
||||
.Ed
|
||||
.Sh TABLES
|
||||
Tables are named structures which can hold a collection of link layer
|
||||
addresses, masked address ranges, and link layer to IP address
|
||||
assignments.
|
||||
Lookups against tables in
|
||||
.Xr hostapd 8
|
||||
are relatively fast, making a single rule with tables much more
|
||||
efficient, in terms of processor usage and memory consumption, than a
|
||||
large number of rules which differ only in link layer addresses.
|
||||
.Pp
|
||||
Tables are used for
|
||||
.Xr hostapd 8
|
||||
.Em event rules
|
||||
to match specified IEEE 802.11 link layer addresses and address ranges,
|
||||
and the capability to assign link layer to IP addresses and an option netmask
|
||||
is a requirement for advanced IAPP functionality.
|
||||
.Pp
|
||||
Table options may be presented after the table name declaration.
|
||||
The following options are supported:
|
||||
.Bl -tag -width const
|
||||
.It Ic const
|
||||
The table is constant and cannot be later changed from its original
|
||||
definition.
|
||||
.El
|
||||
.Pp
|
||||
For example:
|
||||
.Bd -literal -offset indent
|
||||
cisco="00:40:06:ff:ff:ff & ff:ff:ff:00:00:00"
|
||||
|
||||
table <black> { $cisco, 00:0d:60:ff:f1:2a }
|
||||
table <myess> const {
|
||||
00:00:24:c3:40:18 -> 10.195.64.24,
|
||||
00:00:24:c3:40:19 -> 10.195.64.25,
|
||||
00:00:24:c3:40:1a -> 10.195.64.26
|
||||
}
|
||||
table <myclient> const {
|
||||
00:05:4e:45:d4:b9 -> 172.23.5.1/30
|
||||
}
|
||||
.Ed
|
||||
.Sh GLOBAL CONFIGURATION
|
||||
The following configuration settings are understood:
|
||||
.Bl -tag -width Ds
|
||||
.It Xo
|
||||
.Ic set hostap interface
|
||||
.Ar interface |
|
||||
.Brq Ar interface0 , interface1 , ...
|
||||
.Xc
|
||||
Specify the wireless interface running in Host AP mode.
|
||||
This option could be omitted to use
|
||||
.Xr hostapd 8
|
||||
to log received IAPP messages.
|
||||
Multiple hostap interfaces may be specified
|
||||
as a comma-separated list,
|
||||
surrounded by curly braces.
|
||||
.It Ic set hostap mode Ar mode
|
||||
Specify the Host AP capture mode.
|
||||
The supported modes are:
|
||||
.Pp
|
||||
.Bl -tag -width radiotap -offset indent -compact
|
||||
.It Ic radiotap
|
||||
Capture IEEE 802.11 frames with additional radiotap headers.
|
||||
They will provide optional but useful information like received frame
|
||||
signal levels.
|
||||
.It Ic pcap
|
||||
Capture plain IEEE 802.11 frames.
|
||||
.El
|
||||
.It Xo
|
||||
.Ic set hostap hopper interface
|
||||
.Ar interface |
|
||||
.Brq Ar interface0 , interface1 , ...
|
||||
.Xc
|
||||
Enable a channel hopper on the selected wireless interface.
|
||||
Multiple hostap interfaces may be specified as a comma-separated list,
|
||||
surrounded by curly braces.
|
||||
.It Ic set hostap hopper delay Ar number
|
||||
Set the delay in milliseconds for the channel hopper before hopping to
|
||||
the next available channel.
|
||||
The default value is 800 milliseconds.
|
||||
.It Ic set iapp interface Ar interface
|
||||
Specify the mandatory Inter-Access-Point (IAPP) interface.
|
||||
It is important that the IAPP interface is on a trusted
|
||||
network because there is no authentication and an attacker could force
|
||||
disassociation of selected stations on all listening access points.
|
||||
.It Xo
|
||||
.Ic set iapp
|
||||
.Op Ic address | route
|
||||
.Ic roaming table
|
||||
.Pf < Ar table Ns >
|
||||
.Xc
|
||||
Specify a table used for
|
||||
.Em IP Roaming
|
||||
lookups of link layer address to IP address or subnet assignments.
|
||||
.It Xo
|
||||
.Ic set iapp handle subtype
|
||||
.Ar subtype |
|
||||
.Brq Ar subtype0 , subtype1 , ...
|
||||
.Xc
|
||||
Specify the IAPP subtypes to use:
|
||||
.Pp
|
||||
.Bl -tag -width broadcast -offset indent -compact
|
||||
.It Xo
|
||||
.Op Ic not
|
||||
.Ic add notify
|
||||
.Xc
|
||||
Send and receive
|
||||
.Em ADD.notify
|
||||
messages.
|
||||
This option is enabled by default.
|
||||
.It Xo
|
||||
.Op Ic not
|
||||
.Ic radiotap
|
||||
.Xc
|
||||
Receive
|
||||
.Em radiotap
|
||||
messages.
|
||||
This option is enabled by default.
|
||||
.It Xo
|
||||
.Op Ic not
|
||||
.Op Ic address |\ route
|
||||
.Ic roaming
|
||||
.Xc
|
||||
Enable dynamic roaming of IP addresses or routes.
|
||||
These options are disabled by default.
|
||||
.El
|
||||
.It Ic set iapp mode Ar mode
|
||||
Specify the IAPP mode.
|
||||
The supported modes are:
|
||||
.Pp
|
||||
.Bl -tag -width broadcast -offset indent -compact
|
||||
.It Xo
|
||||
.Ic multicast
|
||||
.Op Ic address Ar ipv4addr
|
||||
.Op Ic port Ar number
|
||||
.Op Ic ttl Ar number
|
||||
.Xc
|
||||
Use
|
||||
.Xr multicast 4
|
||||
frames.
|
||||
A multicast time-to-live (TTL) of 2 or higher is required to allow
|
||||
multicast forwarding, for example for use with
|
||||
.Xr mrouted 8 .
|
||||
.It Xo
|
||||
.Ic broadcast
|
||||
.Op Ic port Ar number
|
||||
.Xc
|
||||
Use broadcast frames.
|
||||
.El
|
||||
.Pp
|
||||
The default is multicast using the multicast address 224.0.1.178 and
|
||||
port 3517 with a TTL limited to 1 hop.
|
||||
Some access point vendors still use broadcast with the pre-standard
|
||||
IAPP port 2313.
|
||||
.El
|
||||
.Sh EVENT RULES
|
||||
Event rules provide a powerful way to trigger a certain action when
|
||||
receiving specified IEEE 802.11 frames on the
|
||||
.Em hostap interface .
|
||||
The rules are handled in sequential order, from first to last.
|
||||
Rules are handled without a state:
|
||||
each rule is processed independently from the others and from
|
||||
any previous actions.
|
||||
This behaviour is somewhat different to that of packet filter rules
|
||||
specified in
|
||||
.Xr pf.conf 5 .
|
||||
.Pp
|
||||
All
|
||||
.Xr hostapd 8
|
||||
event rules are single line statements beginning with
|
||||
the mandatory
|
||||
.Ic hostap handle
|
||||
keywords and optional rule options, interface, frame matching,
|
||||
a specified action, a limit, and a minimal rate:
|
||||
.Bd -filled -offset indent
|
||||
.Ic hostap handle
|
||||
.Op Ar option
|
||||
.Op Ar interface
|
||||
.Op Ar frame
|
||||
.Op Ar action
|
||||
.Op Ar limit
|
||||
.Op Ar rate
|
||||
.Ed
|
||||
.Pp
|
||||
Some rule statements support the optional keyword
|
||||
.Ic not ,
|
||||
also represented by the
|
||||
.Ic !\&
|
||||
operator,
|
||||
for inverse matching.
|
||||
.Pp
|
||||
The optional parts are defined below.
|
||||
.Ss Rule Option
|
||||
The rule
|
||||
.Ar option
|
||||
will modify the behaviour of handling the statement.
|
||||
There are two possible options,
|
||||
.Ic quick
|
||||
and
|
||||
.Ic skip .
|
||||
If either the keyword
|
||||
.Ic quick
|
||||
or the keyword
|
||||
.Ic skip
|
||||
is specified, no further event rules will be handled for this frame
|
||||
after processing this rule successfully.
|
||||
The keyword
|
||||
.Ic skip
|
||||
additionally skips any further IAPP processing of the frame,
|
||||
which is normally done after handling the event rules.
|
||||
.Ss Rule Interface
|
||||
The rule
|
||||
.Ar interface
|
||||
specifies the hostap interface the rule is matched on.
|
||||
The available interface list is specified by the global
|
||||
.Ic set hostap interface
|
||||
configuration setting.
|
||||
.Bd -filled -offset indent
|
||||
.Ic on
|
||||
.Op Ic not
|
||||
.Ar interface
|
||||
.Ed
|
||||
.Pp
|
||||
If not given,
|
||||
the event rule is matched on all available hostap interfaces.
|
||||
.Ss Rule Frame
|
||||
The
|
||||
.Ar frame
|
||||
description specifies a mechanism to match IEEE 802.11 frames.
|
||||
.Bl -tag -width Ds
|
||||
.It Ic any
|
||||
Match all frames.
|
||||
.It Xo
|
||||
.Ic frame
|
||||
.Op Ar type
|
||||
.Op Ar dir
|
||||
.Op Ar from
|
||||
.Op Ar to
|
||||
.Op Ar bssid
|
||||
.Op Ar radiotap
|
||||
.Xc
|
||||
Apply rules to frames matching the given parameters.
|
||||
The parameters are explained below.
|
||||
.Pp
|
||||
The
|
||||
.Ar type
|
||||
parameter specifies the frame type to match on.
|
||||
The frame type may be specified in the following ways:
|
||||
.Bl -tag -width Ds
|
||||
.It Ic type any
|
||||
Match all frame types.
|
||||
.It Xo
|
||||
.Ic type
|
||||
.Op Ic not
|
||||
.Ic data
|
||||
.Xc
|
||||
Match data frames.
|
||||
Presence of the
|
||||
.Ic not
|
||||
keyword negates the match and will match all non-data frames.
|
||||
.It Xo
|
||||
.Ic type
|
||||
.Op Ic not
|
||||
.Ic management
|
||||
.Oo Op Ic not
|
||||
.Ar subtype Oc
|
||||
.Xc
|
||||
Match management frames.
|
||||
The
|
||||
.Ar subtype
|
||||
argument may be specified to optionally match management frames of the
|
||||
given subtype.
|
||||
The subtype match may be negated by specifying the
|
||||
.Ic not
|
||||
keyword.
|
||||
See the
|
||||
.Sx Management Frame Subtypes
|
||||
section below for available subtypes specifications.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Ar dir
|
||||
parameter specifies the direction the frame is being sent.
|
||||
The direction may be specified in the following ways:
|
||||
.Bl -tag -width Ds
|
||||
.It Ic dir any
|
||||
Match all directions.
|
||||
.It Ic dir Ar framedir
|
||||
Match frames with the given direction
|
||||
.Ar framedir .
|
||||
See the
|
||||
.Sx Frame Directions
|
||||
section below for available direction specifications.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Ar radiotap
|
||||
rules allow parsing and matching of the extra information reported by
|
||||
the radiotap header.
|
||||
Support for the specified radiotap headers is optional and the
|
||||
specific parameters depend on the radiotap elements reported
|
||||
by the wireless interface.
|
||||
Support for the radiotap data link type can be verified with the
|
||||
.Xr tcpdump 8
|
||||
command.
|
||||
These rules require
|
||||
.Ic hostap mode radiotap
|
||||
in the global configuration.
|
||||
.Bl -tag -width Ds
|
||||
.It Xo
|
||||
.Ic signal
|
||||
.Op Ic operator
|
||||
.Ar percentage Ic %
|
||||
.Xc
|
||||
Match the signal quality of the received frame.
|
||||
.It Xo
|
||||
.Ic freq
|
||||
.Op Ic operator
|
||||
.Ar value Ic ( GHz | MHz )
|
||||
.Xc
|
||||
Match the transmit rate of the received frame.
|
||||
.It Xo
|
||||
.Ic txrate
|
||||
.Op Ic operator
|
||||
.Ar rate Ic Mb
|
||||
.Xc
|
||||
Match the frequency of the received frame,
|
||||
in Mbps.
|
||||
.El
|
||||
.Pp
|
||||
The radiotap rules support the following operators.
|
||||
If omitted, the specified value will be checked if it is equal or not.
|
||||
.Bd -literal -offset indent
|
||||
= (equal)
|
||||
!= (not equal)
|
||||
< (less than)
|
||||
<= (less than or equal)
|
||||
> (greater than)
|
||||
>= (greater than or equal)
|
||||
.Ed
|
||||
.Pp
|
||||
The
|
||||
.Ar from , to ,
|
||||
and
|
||||
.Ar bssid
|
||||
parameters specify the IEEE 802.11 address fields to match on.
|
||||
They can be specified in the following ways:
|
||||
.Bl -tag -width Ds
|
||||
.It Xo
|
||||
.Ic ( from | to | bssid ) Ic any
|
||||
.Xc
|
||||
Allow all addresses for the specified address field.
|
||||
.It Xo
|
||||
.Ic ( from | to | bssid )
|
||||
.Op Ic not
|
||||
.Pf < Ar table Ns >
|
||||
.Xc
|
||||
Allow allow addresses from the given
|
||||
.Ar table
|
||||
(see
|
||||
.Sx Tables
|
||||
above)
|
||||
for the specified address field.
|
||||
.It Xo
|
||||
.Ic ( from | to | bssid )
|
||||
.Op Ic not
|
||||
.Ar lladdr
|
||||
.Xc
|
||||
Allow the given address
|
||||
.Ar lladdr
|
||||
for the specified address field.
|
||||
.El
|
||||
.El
|
||||
.Ss Rule Action
|
||||
An optional
|
||||
.Ar action
|
||||
is triggered if a received IEEE 802.11 frame matches the frame
|
||||
description.
|
||||
The following actions are supported:
|
||||
.Bl -tag -width Ds
|
||||
.It Xo
|
||||
.Ic with frame Ar type
|
||||
.Op Ar dir
|
||||
.Ar from to bssid
|
||||
.Xc
|
||||
Send an arbitrary constructed frame to the wireless network.
|
||||
The arguments are as follows.
|
||||
.Pp
|
||||
The
|
||||
.Ar type
|
||||
describes the IEEE 802.11 frame type to send, specified in the
|
||||
frame control header.
|
||||
The following frames types are supported at present:
|
||||
.Bl -tag -width Ds
|
||||
.It Ic type data
|
||||
Send a data frame.
|
||||
This is normally used to encapsulate ordinary IEEE 802.3
|
||||
frames into IEEE 802.11 wireless frames.
|
||||
.It Ic type management Ar subtype
|
||||
Send a management frame with the specified subtype.
|
||||
Management frames are used to control states and to find access points
|
||||
and IBSS nodes in IEEE 802.11 networks.
|
||||
See the
|
||||
.Sx Management Frame Subtypes
|
||||
section below for available subtypes specifications.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Ar dir
|
||||
describes the direction the IEEE 802.11 frame will be sent.
|
||||
It has the following syntax:
|
||||
.Bd -filled -offset indent
|
||||
.Ic dir Ar framedir
|
||||
.Ed
|
||||
.Pp
|
||||
See the
|
||||
.Sx Frame Directions
|
||||
section below for available direction specifications.
|
||||
.Pp
|
||||
The
|
||||
.Ar from , to ,
|
||||
and
|
||||
.Ar bssid
|
||||
arguments specify the link layer address fields used in IEEE 802.11
|
||||
frames.
|
||||
All address fields are mandatory in the frame action.
|
||||
The optional fourth address field used by wireless distribution
|
||||
systems (WDS) is currently not supported.
|
||||
Each argument is specified by a keyword of the same name
|
||||
.Po
|
||||
.Ic from , to ,
|
||||
or
|
||||
.Ic bssid
|
||||
.Pc
|
||||
followed by one of the following address specifications:
|
||||
.Bl -tag -width "&refaddr"
|
||||
.It Ar lladdr
|
||||
Specify the link layer addresses used in the IEEE 802.11 frame address
|
||||
field.
|
||||
The link layer address
|
||||
.Ql ff:ff:ff:ff:ff:ff
|
||||
is the IEEE 802.11 broadcast address.
|
||||
.It Li & Ns Ar refaddr
|
||||
Fill in a link layer address from the previously matched IEEE 802.11
|
||||
frame.
|
||||
.Ic &from
|
||||
will use the source link layer address;
|
||||
.Ic &to
|
||||
the destination link layer address; and
|
||||
.Ic &bssid
|
||||
the BSSID link layer address of the previously matched frame.
|
||||
.It Ic random
|
||||
Use a random link layer address in the specified IEEE 802.11 frame
|
||||
address field.
|
||||
Multicast and broadcast link layer addresses will be skipped.
|
||||
.El
|
||||
.It Ic with iapp type Ar iapp-type
|
||||
Send a
|
||||
.Xr hostapd 8
|
||||
specific IAPP frame with a raw IEEE 802.11 packet dump of the received
|
||||
frame to the wired network.
|
||||
The only supported
|
||||
.Ar iapp-type
|
||||
is
|
||||
.Ic radiotap .
|
||||
.It Ic with log Op Ic verbose
|
||||
Write informational messages to the local system log (see
|
||||
.Xr syslogd 8 )
|
||||
or standard error.
|
||||
If the
|
||||
.Sx Rule Rate
|
||||
has been specified,
|
||||
log will print the actual rate.
|
||||
.It Ic node add | delete Ar lladdr
|
||||
Add or remove the specified node from the internal kernel
|
||||
node table.
|
||||
.It Ic resend
|
||||
Resend the received IEEE 802.11 frame.
|
||||
.El
|
||||
.Ss Rule Limit
|
||||
It is possible to limit handling of specific rules with the
|
||||
.Ic limit
|
||||
keyword:
|
||||
.Bd -filled -offset indent
|
||||
.Ic limit
|
||||
.Ar number
|
||||
.Ic sec | usec
|
||||
.Ed
|
||||
.Pp
|
||||
In some cases it is absolutely necessary to use limited matching
|
||||
to protect
|
||||
.Xr hostapd 8
|
||||
against excessive flooding with IEEE 802.11 frames.
|
||||
For example, beacon frames will be normally received every 100 ms.
|
||||
.Ss Rule Rate
|
||||
It is possible to tell
|
||||
.Xr hostapd 8
|
||||
to trigger the action only after a specific
|
||||
.Ic rate
|
||||
of matched frames.
|
||||
.Bd -filled -offset indent
|
||||
.Ic rate
|
||||
.Ar number
|
||||
.Ar /
|
||||
.Ar number
|
||||
.Ic sec
|
||||
.Ed
|
||||
.Pp
|
||||
This will help to detect excessive flooding of IEEE 802.11 frames.
|
||||
For example, de-auth flooding is a denial of service (DoS) attack
|
||||
against IEEE 802.11 wireless networks.
|
||||
.Ss Management Frame Subtypes
|
||||
The
|
||||
.Ar subtype
|
||||
describes the IEEE 802.11 frame subtype, specified in
|
||||
the frame control header.
|
||||
The choice of subtypes depends on the used frame type.
|
||||
.Xr hostapd 8
|
||||
currently only supports management frame subtypes.
|
||||
Most frame subtypes require an additional subtype-specific header
|
||||
in the frame body, but currently only the
|
||||
.Ic deauth
|
||||
and
|
||||
.Ic disassoc
|
||||
reason codes are supported:
|
||||
.Bl -ohang -offset 3n
|
||||
.It Ic subtype beacon
|
||||
A beacon frame.
|
||||
Wireless access points and devices running in
|
||||
.Em ibss
|
||||
master or
|
||||
.Em hostap
|
||||
mode continuously send beacon frames to indicate their presence,
|
||||
traffic load, and capabilities.
|
||||
.It Ic subtype deauth Op Ar reason
|
||||
A deauthentication frame with an optional reason code.
|
||||
Deauthenticated stations will lose any IEEE 802.11 operational state.
|
||||
.It Ic subtype disassoc Op Ar reason
|
||||
A disassociation frame with an optional reason code.
|
||||
.It Ic subtype assoc request
|
||||
An association request frame.
|
||||
.It Ic subtype assoc response
|
||||
An association response frame.
|
||||
.It Ic subtype atim
|
||||
An announcement traffic indication message (ATIM frame).
|
||||
.It Xo
|
||||
.Ic subtype auth Op Ic open request | response
|
||||
.Xc
|
||||
An authentication frame.
|
||||
.It Ic subtype probe request
|
||||
A probe request frame.
|
||||
Probe requests are used to probe for access points and IBSS nodes.
|
||||
.It Ic subtype probe response
|
||||
A probe response frame.
|
||||
.It Ic subtype reassoc request
|
||||
A re-association request frame.
|
||||
.It Ic subtype reassoc response
|
||||
A re-association response frame.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Ar reason
|
||||
defines a descriptive reason for the actual
|
||||
.Em deauthentication
|
||||
or
|
||||
.Em disassociation
|
||||
of a station:
|
||||
.Bl -ohang -offset 3n
|
||||
.It Ic reason assoc expire
|
||||
Disassociated due to inactivity.
|
||||
.It Ic reason assoc leave
|
||||
Disassociated because the sending station is leaving or has left the
|
||||
wireless network.
|
||||
.It Ic reason assoc toomany
|
||||
Disassociated because the access point has reached its limit of
|
||||
associated stations.
|
||||
.It Ic reason auth expire
|
||||
Previous authentication no longer valid.
|
||||
.It Ic reason auth leave
|
||||
Deauthenticated because the sending station is leaving or has left the
|
||||
wireless network.
|
||||
.It Ic reason ie invalid
|
||||
IEEE 802.11i extension.
|
||||
.It Ic reason mic failure
|
||||
IEEE 802.11i extension.
|
||||
.It Ic reason not authed
|
||||
Frame received from unauthenticated station.
|
||||
.It Ic reason assoc not authed
|
||||
Frame received from an associated but unauthenticated station.
|
||||
.It Ic reason not assoced
|
||||
Frame received from unassociated station.
|
||||
.It Ic reason rsn required
|
||||
IEEE 802.11i extension.
|
||||
.It Ic reason rsn inconsistent
|
||||
IEEE 802.11i extension.
|
||||
.It Ic reason unspecified
|
||||
Unspecified reason.
|
||||
.El
|
||||
.Ss Frame Directions
|
||||
The direction a frame is being transmitted
|
||||
.Pq Ar framedir
|
||||
can be specified in the following ways:
|
||||
.Bl -ohang -offset 3n
|
||||
.It Ic dir no ds
|
||||
No distribution system direction is used for management frames.
|
||||
.It Ic dir to ds
|
||||
A frame sent from a station to the distribution system, the access point.
|
||||
.It Ic dir from ds
|
||||
A frame from the distribution system, the access point, to a station.
|
||||
.It Ic dir ds to ds
|
||||
A frame direction used by wireless distribution systems (WDS) for
|
||||
wireless access point to access point communication.
|
||||
.El
|
||||
.Sh EVENT RULE EXAMPLES
|
||||
.Bd -literal
|
||||
# Log probe requests locally
|
||||
hostap handle type management subtype probe request \e
|
||||
with log
|
||||
|
||||
# Detect flooding of management frames except beacons.
|
||||
# This will detect some possible denial of service attacks
|
||||
# against the IEEE 802.11 protocol.
|
||||
hostap handle skip type management subtype ! beacon \e
|
||||
with log \e
|
||||
rate 100 / 10 sec
|
||||
|
||||
# Log rogue access points via IAPP, limited to every second,
|
||||
# and skip further IAPP processing.
|
||||
hostap handle skip type management subtype beacon bssid !<myess> \e
|
||||
with iapp type radiotap limit 1 sec
|
||||
|
||||
# Send deauthentication frames to stations associated to rogue APs
|
||||
hostap handle type data bssid !<myess> with frame type management \e
|
||||
subtype deauth reason auth expire \e
|
||||
from &bssid to &from bssid &bssid
|
||||
|
||||
# Send authentication requests from random station addresses to
|
||||
# rogue access points. This is a common way to test the quality of
|
||||
# various hostap implementations.
|
||||
hostap handle skip type management subtype beacon bssid <pentest> \e
|
||||
with frame type management subtype auth \e
|
||||
from random to &bssid bssid &bssid
|
||||
|
||||
# Re-inject a received IEEE 802.11 frame on the interface ath0
|
||||
hostap handle on ath0 type management subtype auth with resend
|
||||
|
||||
# Remove a blacklisted node from the kernel node tree
|
||||
hostap handle type management subtype auth from <blacklist> \e
|
||||
with node delete &from
|
||||
|
||||
# Log rogue access points with a strong signal quality on
|
||||
# channel 3 (2.422GHz) transmitting frames with 1Mbps.
|
||||
hostap handle type management subtype beacon bssid !<myess> \e
|
||||
signal >= 50% txrate 1Mb freq 2.422GHz \e
|
||||
with log
|
||||
.Ed
|
||||
.Sh IP ROAMING
|
||||
In a traditional wireless network, multiple access points are
|
||||
members of a single layer 3 broadcast domain.
|
||||
The traffic is bridged between physical collision domains,
|
||||
as with the
|
||||
.Xr bridge 4
|
||||
interface in
|
||||
.Ox .
|
||||
This may cause problems in large wireless networks with a heavy load
|
||||
of broadcast traffic, like broadcasted ARP, DHCP or ICMP requests.
|
||||
.Pp
|
||||
.Xr hostapd 8
|
||||
implements IP based roaming to build wireless networks
|
||||
without the requirement of a single broadcast domain.
|
||||
This works as follows:
|
||||
.Pp
|
||||
.Bl -enum -compact
|
||||
.It
|
||||
Every access point running
|
||||
.Xr hostapd 8
|
||||
is a router to an individual internal broadcast domain,
|
||||
.Em without
|
||||
using the
|
||||
.Xr bridge 4
|
||||
interface.
|
||||
.It
|
||||
An increased multicast TTL is used for IAPP communication
|
||||
between access points in multiple network segments.
|
||||
Multicast routing is required in the network infrastructure,
|
||||
like an
|
||||
.Ox
|
||||
router running
|
||||
.Xr mrouted 8 .
|
||||
.It
|
||||
The configuration file
|
||||
.Nm
|
||||
is used to assign IP subnets to link layer addresses.
|
||||
If a station with the specified link layer address successfully
|
||||
associates to the access point,
|
||||
.Xr hostapd 8
|
||||
will configure the specified IP address and subnet on
|
||||
the wireless interface.
|
||||
.It
|
||||
The
|
||||
IAPP
|
||||
.Em ADD.notify
|
||||
message is used to notify other access points running
|
||||
.Xr hostapd 8
|
||||
to remove the station and any assigned IP addresses or subnets from
|
||||
the wireless interface.
|
||||
.It
|
||||
A dynamic routing daemon like
|
||||
.Xr ospfd 8
|
||||
or
|
||||
.Xr bgpd 8
|
||||
running on the access point will be used to announce the
|
||||
new IP route to the internal network and routers.
|
||||
.El
|
||||
.Pp
|
||||
For example:
|
||||
.Bd -literal -offset indent
|
||||
# Assign IP addresses to layer 2 addresses
|
||||
table <clients> {
|
||||
00:02:6f:42:d0:01 -> 172.23.5.1/30,
|
||||
00:05:4e:45:d3:b8 -> 172.23.5.4/30,
|
||||
00:04:2e:12:03:e0 -> 172.23.5.8/30
|
||||
}
|
||||
|
||||
# Global options
|
||||
set hostap interface ath0
|
||||
set hostap mode radiotap
|
||||
set iapp interface sis0
|
||||
set iapp address roaming table <clients>
|
||||
set iapp handle subtype address roaming
|
||||
set iapp mode multicast ttl 2
|
||||
.Ed
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/examples/hostapd.conf -compact
|
||||
.It Pa /etc/hostapd.conf
|
||||
Default location of the configuration file.
|
||||
.It Pa /etc/examples/hostapd.conf
|
||||
Example configuration file.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr hostapd 8
|
||||
.Sh AUTHORS
|
||||
The
|
||||
.Xr hostapd 8
|
||||
program was written by
|
||||
.An Reyk Floeter Aq Mt reyk@openbsd.org .
|
||||
.Sh CAVEATS
|
||||
.Em IP Roaming
|
||||
requires statically assigned IP addresses of stations and does
|
||||
not support DHCP at present.
|
15
hostapd.spec
15
hostapd.spec
@ -2,7 +2,7 @@
|
||||
|
||||
Name: hostapd
|
||||
Version: 2.9
|
||||
Release: 7%{?dist}
|
||||
Release: 6%{?dist}
|
||||
Summary: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
|
||||
License: BSD
|
||||
URL: http://w1.fi/hostapd
|
||||
@ -12,8 +12,6 @@ Source1: %{name}.service
|
||||
Source2: %{name}.conf
|
||||
Source3: %{name}.sysconfig
|
||||
Source4: %{name}.init
|
||||
# https://github.com/openbsd/src/blob/master/usr.sbin/hostapd/hostapd.conf.5
|
||||
Source5: %{name}.conf.5
|
||||
|
||||
# https://w1.fi/security/2019-7/ap-mode-pmf-disconnection-protection-bypass.txt
|
||||
Patch1: https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch
|
||||
@ -127,9 +125,8 @@ install -pm 0755 %{name}/%{name} %{buildroot}%{_sbindir}/%{name}
|
||||
install -pm 0755 %{name}/%{name}_cli %{buildroot}%{_sbindir}/%{name}_cli
|
||||
|
||||
# man pages
|
||||
install -d %{buildroot}%{_mandir}/man{1,5,8}
|
||||
install -d %{buildroot}%{_mandir}/man{1,8}
|
||||
install -pm 0644 %{name}/%{name}_cli.1 %{buildroot}%{_mandir}/man1
|
||||
install -pm 0644 %{SOURCE5} %{buildroot}%{_mandir}/man5
|
||||
install -pm 0644 %{name}/%{name}.8 %{buildroot}%{_mandir}/man8
|
||||
|
||||
# prepare docs
|
||||
@ -181,7 +178,6 @@ fi
|
||||
%{_sbindir}/%{name}_cli
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man8/*
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
||||
%{_unitdir}/%{name}.service
|
||||
@ -195,16 +191,13 @@ fi
|
||||
%{_sysconfdir}/logwatch/scripts/services/%{name}
|
||||
|
||||
%changelog
|
||||
* Thu Dec 16 2020 John W. Linville <linville@redhat.com> - 2.9-7
|
||||
- Borrow hostapd.conf.5 man page from OpenBSD
|
||||
|
||||
* Thu Dec 10 2020 John W. Linville <linville@redhat.com> - 2.9-6
|
||||
* Thu Dec 10 2020 Johwn W. Linville <linville@redhat.com> - 2.9-6
|
||||
- Enable environment file in hostapd service definition
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jun 24 2020 John W. Linville <linville@redhat.com> - 2.9-4
|
||||
* Wed Jun 24 2020 Johwn W. Linville <linville@redhat.com> - 2.9-4
|
||||
- Fix CVE-2020-12695 (UPnP SUBSCRIBE misbehavior in hostapd WPS AP)
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-3
|
||||
|
Loading…
Reference in New Issue
Block a user