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