How to setup a wireless access point: Difference between revisions

From Alpine Linux
(replace /etc/init.d with rc-service)
(Cleaned up some redundant bits, cleared up some formatting and brought this to a production ready state.)
 
Line 1: Line 1:
{{Draft}}
== Install needed packages ==


== Install needed packages ==
* hostapd
{{Cmd|apk add bridge hostapd wireless-tools wpa_supplicant}}
* bridge (optional)


== Check that the card is detected ==
== Check that the card is detected ==
Run cat /proc/net/dev to see which cards are detected.
Run cat /proc/net/dev to see which cards are detected.
If no cards are available, check what driver the card uses and modprobe it.
If no cards are available, check what driver the card uses and modprobe it.
Check that the card is in master mode.
Check that the card is in master mode.


== Setup Bridge ==
== Setup Bridge ==
If your wireless access point is NOT also intended to be a router, you may wish to bridge an ethernet interface to the wireless interface.
This can be particularly advantageous where you are setting up multiple access points with a shared SSID, as this allows the APs to share an address space, and avoids wireless clients having to change DHCP lease when they move from access point to access point.
Setup the bridge by editing <samp>/etc/network/interfaces</samp>. Assuming you wish to bridge the access point to the ethernet device <samp>eth0</samp>, you can add something like this:
Setup the bridge by editing <samp>/etc/network/interfaces</samp>. Assuming you wish to bridge the access point to the ethernet device <samp>eth0</samp>, you can add something like this:
<pre>
<pre>
auto br0
auto br0
Line 17: Line 26:
   bridge-ports eth0
   bridge-ports eth0
</pre>
</pre>
Comment out any existing lines configuring <samp>eth0</samp> as this should now be handled via the bridge configuration. It is not necessary to mention <samp>wlan0</samp> here, as <samp>hostapd</samp> will take care of adding the device to the bridge later.
Comment out any existing lines configuring <samp>eth0</samp> as this should now be handled via the bridge configuration. It is not necessary to mention <samp>wlan0</samp> here, as <samp>hostapd</samp> will take care of adding the device to the bridge later.


Please see [[Bridge]] for more information on network bridges.
Please see [[Bridge]] for more information on network bridges.


== Setup Encryption ==
== Setup hostapd ==
Edit /etc/hostapd/hostapd.wpa_psk and insert the following, replacing PASSPHRASE with the WPA_PSK key you would like to use (remove keys that you don't want to use):
00:00:00:00:00:00 PASSPHRASE


== Setup hostapd ==
[http://w1.fi/hostapd/ hostapd] is the daemon that hosts the access point. What follows are example configurations, but further configuration options are available, and you should read the documentation for details.


Edit /etc/hostapd/hostapd.conf and make the necessary changes such as interface, bridge, driver, ssid, etc.
Edit /etc/hostapd/hostapd.conf and make the necessary changes such as interface, bridge, driver, ssid, etc.
Example file below:
 
For example:
  interface=wlan0
  interface=wlan0
  bridge=br0
  bridge=br0
Line 50: Line 59:
  wpa_key_mgmt=WPA-PSK
  wpa_key_mgmt=WPA-PSK
  wpa_pairwise=CCMP
  wpa_pairwise=CCMP
If you wish to use MAC address filtering, uncomment the lines starting with macaddr_acl and accept_mac_file, create /etc/hostapd/accept (with permissions set to 600) and add the allowed clients' MAC address to the file.<br />
If you wish to use MAC address filtering, uncomment the lines starting with macaddr_acl and accept_mac_file, create /etc/hostapd/accept (with permissions set to 600) and add the allowed clients' MAC address to the file.<br />


=== Authentication ===
Edit /etc/hostapd/hostapd.wpa_psk and insert the following, replacing PASSPHRASE with the WPA_PSK key you would like to use (remove keys that you don't want to use):
00:00:00:00:00:00 PASSPHRASE
== Start the Service ==
Start hostapd.
Start hostapd.


Line 58: Line 74:
== Associate clients ==
== Associate clients ==
Associate a few clients to test.
Associate a few clients to test.
== See also ==
* [[Wireless AP with udhcpd and NAT]]
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]


[[Category:Networking]]
[[Category:Networking]]

Latest revision as of 18:24, 24 September 2025

Install needed packages

  • hostapd
  • bridge (optional)

Check that the card is detected

Run cat /proc/net/dev to see which cards are detected.

If no cards are available, check what driver the card uses and modprobe it.

Check that the card is in master mode.

Setup Bridge

If your wireless access point is NOT also intended to be a router, you may wish to bridge an ethernet interface to the wireless interface.

This can be particularly advantageous where you are setting up multiple access points with a shared SSID, as this allows the APs to share an address space, and avoids wireless clients having to change DHCP lease when they move from access point to access point.

Setup the bridge by editing /etc/network/interfaces. Assuming you wish to bridge the access point to the ethernet device eth0, you can add something like this:

auto br0
iface br0 inet dhcp
  hostname alpine
  bridge-ports eth0

Comment out any existing lines configuring eth0 as this should now be handled via the bridge configuration. It is not necessary to mention wlan0 here, as hostapd will take care of adding the device to the bridge later.

Please see Bridge for more information on network bridges.

Setup hostapd

hostapd is the daemon that hosts the access point. What follows are example configurations, but further configuration options are available, and you should read the documentation for details.

Edit /etc/hostapd/hostapd.conf and make the necessary changes such as interface, bridge, driver, ssid, etc.

For example:

interface=wlan0
bridge=br0
driver=hostap
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=SecureSSID
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/hostapd.wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP

If you wish to use MAC address filtering, uncomment the lines starting with macaddr_acl and accept_mac_file, create /etc/hostapd/accept (with permissions set to 600) and add the allowed clients' MAC address to the file.

Authentication

Edit /etc/hostapd/hostapd.wpa_psk and insert the following, replacing PASSPHRASE with the WPA_PSK key you would like to use (remove keys that you don't want to use):

00:00:00:00:00:00 PASSPHRASE

Start the Service

Start hostapd.

rc-service hostapd start

Associate clients

Associate a few clients to test.