Eigenes WLAN-Netzwerk mit dem Raspberry Pi realisieren

9
12538
Wlan Web Access Internet
annca / Pixabay

Die Idee ist eine lokale Cloud, die über WLAN ohne Internetanbindung erreichbar ist, für einen geschlossenen Kreis z.B. Stammtisch oder LUG. Ich möchte hier jedoch nur zeigen, wie man den Raspberry Pi überredet ein eigenes WLAN-Netzwerk aufzubauen.

Hierbei diente der Artikel “Setting up a Raspberry Pi as a Wireless Access Point” als Vorlage.

Installation

Zuerst werden die Pakete dnsmasq und hostapd auf dem RasPi installiert.

sudo apt install dnsmasq hostapd

Beide Dienste sind nach der Installation aktiv und müssen vorerst gestoppt werden.

sudo systemctl stop dnsmasq
sudo systemctl stop hostapd

Im Anschluss wird die feste IP, über die der Raspberry Pi erreichbar sein soll, konfiguriert. Dazu wird über

sudo nano /etc/dhcpcd.conf

folgender Eintrag an das Ende der /etc/dhcpcd.conf gesetzt. Der RasPi bekommt die lokale IP 192.168.4.1 zugewiesen, über die der Pi dann später erreichbar sein wird.

interface wlan0 
    static ip_address=192.168.4.1/24 
    nohook wpa_supplicant

Nun wird der dhcpcd-Daemon neu gestartet.

sudo service dhcpcd restart

Der DHCP-Server wird konfiguriert, indem die DHCP-Range festgelegt wird. Dazu wird via

sudo nano /etc/dnsmasq.conf

der entsprechende Eintrag an das Ende der Datei gesetzt. Alle sich einwählenden Geräte bekommen IP-Adressen von 192.168.4.2 – 192.168.4.20 vergeben. D.h. hier wird eine Beschränkung auf max. 19 Geräte festgelegt.

interface=wlan0      # Use the require wireless interface - usually wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

Nun muss der zuvor gestoppte Deamon wieder gestartet werden.

sudo systemctl start dnsmasq

Nun legt man in der mit 

sudo nano /etc/hostapd/hostapd.conf

neu erstellten Konfigurationsdatei /etc/hostapd/hostapd.conf die Zugangsdaten für das WLAN-Netz fest. Im Beispiel wurde der Frequenzbereich auf g = IEEE 802.11g (2.4 GHz) festgelegt. Die SSID und das Passwort wären in dem Fall dann raspberrypi.

interface=wlan0
driver=nl80211
ssid=raspberrypi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberrypi
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Dem Dienst hosapd muss dies nun noch mitgeteilt werden.  Dies erfolgt über

sudo nano /etc/default/hostapd

Hier wird die Zeile #DAEMON_CONF gesucht und mit

DAEMON_CONF="/etc/hostapd/hostapd.conf"

überschrieben. Nun wird hostapd aktiviert und gestartet.

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd

Danach wird die Routing-Regel für IPv4 in der /etc/sysctl.conf gesetzt. Dazu wird die Datei mit

sudo nano /etc/sysctl.conf

geöffnet und

net.ipv4.ip_forward=1

entkommentiert. Im Anschluss wird die Firewall entsprechend konfiguriert

sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE

und dauerhaft in die /etc/iptables.ipv4.nat eingetragen.

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Abschließend trägt man via

sudo nano /etc/rc.local

folgende Zeile

iptables-restore < /etc/iptables.ipv4.nat

in die /etc/rc.local vor “exit 0” ein und startet den RasPi via

sudo reboot

neu. Dieser ist dann über die eingerichtete WLAN-Verbindung via SSH mit

ssh pi@192.168.4.1

oder

ssh pi@raspberry

erreichbar. Damit sind die Voraussetzungen geschaffen, eine lokale Cloud auf dem Raspberry Pi zu installieren und diese in einem separaten WLAN-Netzwerk verfügbar zu machen.

9 Kommentare

  1. Hey sehr gut beschrieben und gut erklärt. Ich habe da nur leider das Problem das ich den hostapd nicht starten kann.

    Sudo systemctl Start hostapd

    Job for hostapd.service failed because the Control process exited with error Code.

    Nach „systemctl Status hostapd.service“

    So weit ich meine alles gut bis Process:
    1749 execstart=/usr/sbin/hostapd -B -P /run/hostapd.pip -B $DAEMON_CONF} (code=exited, Status=1/FAILURE)

  2. Hallo Frank,

    ich weiß nicht, ob das nur ein temporäres Anzeigeproblem via CMS ist, aber ich sehe

    “iptables-save > /etc/iptables.ipv4.nat” anstelle von “iptables-save > /etc/iptables.ipv4.nat”

    Danke für den effektiven Beitrag!
    Matthias

Kommentieren Sie den Artikel

Bitte bestätige diesen Kommentar!
Bitte den Namen hier eingeben

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.