Blog

Raspberry Pi als AccessPoint

Raspberry Pi als AccessPoint

Artikel von Albert Vu 18.02.2019

Als ich mal wieder mit dem Raspberry Pi etwas gemacht hatte und ich einen Sensor über WLAN anbinden wollte, bin ich auf ein Problem gestoßen. Möchte ich an den Raspberry Pi einen Sensor mit WLAN verbinden, benötige ich einen WLAN zusätzlich als Hardware. Der Raspberry Pi besitzt ein WLAN-Modul, warum nicht dies als AccessPoint verwenden und den Router einsparen?

Wie dies eingerichtet wird, zeigen wir euch heute hier:

In diesem Blog verwenden wir einen Raspberry Pi 3 B+ und eine  SD-Karte mit aktuellem Image (Raspbian Stretch Lite – Release date: 2018-10-09)

Um direkt ohne Bildschirm den Raspberry Pi über SSH konfigurieren können eine Datei mit dem Namen “ssh” auf der Boot Partition ablegen. Dies wird im Raspberry Pi eBook ausführlich erklärt, hier nur als kurzer Hinweis.

Als nächstes loggen wir uns auf den Raspberry Pi ein und machen ein vollständies Update:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade && sudo apt-get autoremove && sudo apt-get autoclean

Nachdem unser Raspberry Pi nun aktuell ist, konfigurieren wir die WLAN-Netzwerkschnittstelle mit einer festen IP.
sudo nano /etc/network/interfaces

In die Datei schreiben wir nun folgendes:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# localhost
auto lo
iface lo inet loopback
# ethernet
auto eth0
iface eth0 inet dhcp
# WLAN-interface
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.222.1
netmask 255.255.255.0

Diese Konfiguration bewirkt, dass der Raspberry Pi nun die IP-Adresse 192.168.222.1 auf der WLAN-Schnittstelle fest bekommt und bei der LAN-Schnittstelle nach wie vor eine IP-Adresse dynamisch zugewiesen bekommt.

Da wir den Raspberry Pi nun als “Server” verwenden möchten, müssen wir den DHCP-Client auf der WLAN-Schnittstelle deaktivieren.
sudo nano /etc/dhcpcd.conf

Ganz am Ende der Datei ergänzen wir folgende Zeile:
denyinterfaces wlan0

Anschließend rebooten wir den Raspberry Pi mit:
sudo reboot

Nach dem Neustart installieren wir einen DHCP- und DNS-Server und konfigurieren diesen:
sudo apt-get install dnsmasq

Wenn man möchte kann man die alte Konfiguration sichern:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf_alt

Als nächstes rufen wir die Konfiguration zum Editieren auf:
sudo nano /etc/dnsmasq.conf

Folgende Konfiguration kommt nun in die Datei:
interface=wlan0
no-dhcp-interface=eth0
dhcp-range=192.168.222.10,192.168.222.200,12h
dhcp-option=option:dns-server,192.168.222.1

Mit dieser Konfiguration stellt der Raspberry nun einen DNS-Server auf der 192.168.222.1 zur Verfügung und der DHCP-Server vergibt die IP-Adressen von 192.168.222.10 – 200. Auf der LAN-Netzwerkschnittstelle ist der DHCP-Server nicht aktiv.

Wenn Ihr die Werte verändert habt und/oder testen wollt, ob die Konfiguration richtig übernommen wurde, könnt Ihr dies mit diesem Befehl testen:
dnsmasq --test -C /etc/dnsmasq.conf

als Antwort sollte “dnsmasq: syntax check OK.” erscheinen.

Nun legen wir noch einen Autostart an, damit in Zukunft alles automatisch bei einem Neustart anläuft:
sudo systemctl enable dnsmasq

Anschließend rebooten wir den Raspberry Pi wieder mit:
sudo reboot

Als letzten Schritt aktivieren und installieren wir einen AccessPoint:
sudo apt-get install hostapd

Nun die Konfigurationsdatei öffnen:
sudo nano /etc/hostapd/hostapd.conf

Der Konfiguratonsinhalt:
interface=wlan0 ssid=raspberry-wlan channel=1 hw_mode=g ieee80211n=1 ieee80211d=1 country_code=DE wmm_enabled=1 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=az-delivery
Mit dieser Konfiguraton erzeugen wir nun ein WLAN Signal auf Kanal 1, mit dem Namen “raspberry-wlan” und dem Passwort “az-delivery”.

Wenn das WLAN nun automatisch nach einem Reboot erstellt werden soll, müssen wir das auch wieder in den Autostart aktivieren:
sudo nano /etc/default/hostapd

Wir ergänzen folgendem Dateiinhalt am ende der Datei:
RUN_DAEMON=yes DAEMON_CONF="/etc/hostapd/hostapd.conf"

Und anschließend im System aktivieren:
sudo systemctl start hostapd
sudo systemctl enable hostapd

Nun können wir den Raspberry neustarten und jederzeit mit diesem Befehl den Status abrufen:
sudo systemctl status hostapd

Nun sehen wir in unserer WLAN-Übersicht ein neues WLAN-Netz und können uns mit diesem Netzwerk verbinden:

Nach der Eingabe des Passwortes:
az-delivery
Sind wir auch schon verbunden

Der DHCP-Server auf dem Raspberry läuft auch, denn er vergibt eine korrekte IP-Adresse aus dem angegebenen Bereich:

Nun können wir den Raspberry als Router verwenden und weitere Projekte erstellen.

Wir wünschen euch viel Spaß und lasst uns wissen, wofür ihr den “Raspberry-Router” einsetzt.

AZ-Delivery.de

Beitragsbild: von Harrison Broadbent on Unsplash

Inhalt abgerufen von: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/raspberry-pi-als-accesspoint.

Menü