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 | Name:           hostapd | ||||||
| Version:        2.9 | Version:        2.9 | ||||||
| Release:        7%{?dist} | Release:        6%{?dist} | ||||||
| Summary:        IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator | Summary:        IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator | ||||||
| License:        BSD | License:        BSD | ||||||
| URL:            http://w1.fi/hostapd | URL:            http://w1.fi/hostapd | ||||||
| @ -12,8 +12,6 @@ Source1:        %{name}.service | |||||||
| Source2:        %{name}.conf | Source2:        %{name}.conf | ||||||
| Source3:        %{name}.sysconfig | Source3:        %{name}.sysconfig | ||||||
| Source4:        %{name}.init | 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 | # 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 | 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 | install -pm 0755 %{name}/%{name}_cli %{buildroot}%{_sbindir}/%{name}_cli | ||||||
| 
 | 
 | ||||||
| # man pages | # 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 %{name}/%{name}_cli.1 %{buildroot}%{_mandir}/man1 | ||||||
| install -pm 0644 %{SOURCE5} %{buildroot}%{_mandir}/man5 |  | ||||||
| install -pm 0644 %{name}/%{name}.8 %{buildroot}%{_mandir}/man8 | install -pm 0644 %{name}/%{name}.8 %{buildroot}%{_mandir}/man8 | ||||||
| 
 | 
 | ||||||
| # prepare docs | # prepare docs | ||||||
| @ -181,7 +178,6 @@ fi | |||||||
| %{_sbindir}/%{name}_cli | %{_sbindir}/%{name}_cli | ||||||
| %dir %{_sysconfdir}/%{name} | %dir %{_sysconfdir}/%{name} | ||||||
| %{_mandir}/man1/* | %{_mandir}/man1/* | ||||||
| %{_mandir}/man5/* |  | ||||||
| %{_mandir}/man8/* | %{_mandir}/man8/* | ||||||
| %if 0%{?fedora} || 0%{?rhel} >= 7 | %if 0%{?fedora} || 0%{?rhel} >= 7 | ||||||
| %{_unitdir}/%{name}.service | %{_unitdir}/%{name}.service | ||||||
| @ -195,16 +191,13 @@ fi | |||||||
| %{_sysconfdir}/logwatch/scripts/services/%{name} | %{_sysconfdir}/logwatch/scripts/services/%{name} | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
| * Thu Dec 16 2020 John W. Linville <linville@redhat.com> - 2.9-7 | * Thu Dec 10 2020 Johwn W. Linville <linville@redhat.com> - 2.9-6 | ||||||
| - Borrow hostapd.conf.5 man page from OpenBSD |  | ||||||
| 
 |  | ||||||
| * Thu Dec 10 2020 John W. Linville <linville@redhat.com> - 2.9-6 |  | ||||||
| - Enable environment file in hostapd service definition | - Enable environment file in hostapd service definition | ||||||
| 
 | 
 | ||||||
| * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-5 | * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-5 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild | - 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) | - Fix CVE-2020-12695 (UPnP SUBSCRIBE misbehavior in hostapd WPS AP) | ||||||
| 
 | 
 | ||||||
| * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-3 | * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-3 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user