Raspberry Pi as Standalone Access Point: Difference between revisions

From Wurst-Wasser.net
Jump to navigation Jump to search
Line 34: Line 34:
== Setup DNS ==
== Setup DNS ==
Later. Not mattering right now.
Later. Not mattering right now.
== Enable and Configure Access Point ==
vi /etc/default/hostapd
and set:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Explanation: The <tt>hostapd</tt> reads the configfile, to find this configfile. I don't get what this is good for. I think I'm just net getting the whole concept. If anyone cares to enlighten me, please do. :)
vi /etc/hostapd/hostapd.conf
and set something like this:
interface=wlan0
driver=nl80211
bridge=br0 ????????????
hw_mode=g
channel=7
ieee80211n=1
wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=HMS_Camden_Lock
wpa_passphrase=42_42_42_42
Explanation: <tt>hostapd</tt> creates the [[WiFi]]-Access Point and creates a bridge-device <tt>br0</tt>, which he ties (only) <tt>wlan0</tt> to<ref>Check with: <tt>brctl show</tt></ref>.
----
vi /etc/dhcpcd.conf
and set something like this:
nohook wpa_supplicant ????
denyinterfaces wlan0 ????
Explanation: I omit <tt>/etc/wpa_supplicant/wpa_supplicant.conf</tt> for <tt>wlan0</tt>. It is essential that there remains only one layer3-active (meaning using IP) interface, and that is <tt>br0</tt>. Otherwise you get a routing mess.
Since <tt>br0</tt> and <tt>eth0</tt> are not omitted (denied), they get [[IPA]]s from the [[DHCP]]-Server. That's necessary for <tt>br0</tt>, and not for <tt>eth0</tt> (but when I omitted <tt>eth0</tt>, the bridge didn't come up. So I removed the [[IPA]] later (see below).


== Network Interfaces ==
== Network Interfaces ==

Revision as of 18:53, 28 November 2020

WIP - WIP - WIP



I had a case (that has yet to be documented here), where I needed an Raspberry Pi Zero WH to act as access point, including DHCP-Server. Standalone, not connected to any network.

Installation

apt-get install hostapd dnsutils traceroute isc-dhcp-server

Configuration

Disable IPv6

vi /etc/sysctl.conf

and set

net.ipv6.conf.all.disable_ipv6=1

Explanation: Disable IPv6 (to KISS).

Enable and Configure DHCPd

vi /etc/dhcp/dhcpd.conf

…set…

default-lease-time 600;
max-lease-time 7200;

…un-comment this:

authoritative;

…set your ip range:

subnet 10.178.42.0 netmask 255.255.255.0 {
 range 10.178.42.100 10.178.42.240;
  1. option routers 10.178.somebyte.anotherbyte;
 option domain-name "pi00.wurst-wasser.net";
 option domain-name-servers 127.0.0.1;
}

Launch it:

systemctl start isc-dhcp-server.service

Setup DNS

Later. Not mattering right now.

Network Interfaces

vi /etc/network/interfaces

Don't touch this file. dhcpcd gets jealous...