How to setup a wireless access point: Difference between revisions

From Alpine Linux
m (Added See also: Wireless AP with udhcpd and NAT)
(Cleaned up some redundant bits, cleared up some formatting and brought this to a production ready state.)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Draft}}
== Install needed packages ==
 
* hostapd
* bridge (optional)
 
== Check that the card is detected ==


== Install needed packages ==
Run cat /proc/net/dev to see which cards are detected.
{{Cmd|apk add bridge hostapd wireless-tools wpa_supplicant}}


== Check that card is detected ==
Cat /proc/net/dev and 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 ==
Setup the bridge by editing <samp>/etc/network/interfaces</samp>. Assuming that you wish to bridge the access point to the ethernet device <samp>eth0</samp>, you can add something like this:
 
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:
 
<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
[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.


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


Edit /etc/hostapd/hostapd.conf and replace entries that need to be such as interface, bridge, driver, ssid, etc.
For example:
Example file below:
  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 600 permissions) 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.


{{Cmd|/etc/init.d/hostapd start}}
{{Cmd|rc-service hostapd start}}


== Associate clients ==
== Associate clients ==
Associate a few different clients to test.
Associate a few clients to test.
 
== See also ==
* [[Wireless AP with udhcpd and NAT]]


[[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.