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
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
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 weitere Projekte erstellen.
Wir wünschen euch viel Spaß und lasst uns wissen, wofür ihr den "Raspberry-Router" einsetzt.
14 comments
Marco
Hallo zusammen.
Ich versuche gerade für einen Urlaub einen lokalen Medienserver aufzusetzen.
Ziel ist es einen RasPi zusammen mit einer Festplatte im Auto zu betreiben und in einem lokalen Netzwerk Medien auszutauschen.
Sollte mit einem RasPi 3b+ und minidlna eigentlich funktionieren.
Ich bin allerdings was den RasPi angeht absoluter Anfänger.
Habt ihr vielleicht Erfahrung mit so etwas machen können?
Gruss Marco
Marcel
Hallo,
habe das Problem, dass sich mein RaspPi nach dem ersten reboot nicht mehr mit dem WLan Netzwerk verbindet. Das brauche ich ja aber um mich mit dem RaspPi zu verbinden.
DS61
Es scheint als müsste man bei Verwendung von dnsmasq zusätzlich auch die Datei /etc/resolv.conf anpassen. Hier muss ein DNS Server eingetragen werden, um Anfragen außerhalb des lokalen Netzes beantworten zu können. Also am besten die Adresse des eigentlichen Routers eintragen:
nameserver 127.0.0.1
nameserver 192.168.178.1
Beste Grüße
pit02
Hat alles geklappt, doch wenn ich den Raspi z.b mit meinem Handy verbinde bekomme ich kein Internet und neben der WLAN Anzeige ein Ausrufezeichen.
Finde den Fehler nicht.
Kann jemand helfen?
Danke im voraus
Rago
Hallo,
vielen Dank für die Anleitung, es hat geklappt.
An einem verzweifele ich aber…. wenn ich dem wlan einen eigenen namen und ein anderes PW geben will startet der hostapd nicht.
was mache ich falsch ?
Gruss
Rago
sc4ry
Hi,
danke für die Anleitung. Wie bei meinem Vorredner komme ich leider auch nicht ins Internet, woran kann das liegen?
Anschließend würde ich gerne noch Tor nutzen, falls jemand eine funktionierende Anleitung kennt ;-)
Marc
Vielen Dank für die super Anleitung! Leider haben bei mir die Geräte, welche sich mit dem Wifi verbinden keinen Internet Zugriff? Ist das Absicht?
Nick
@Ingolf
schreibe nacheinander die Anweisungen
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
systemctl status hostapd
Ingolf
Genau was ich gesucht habe.
Leider kann ich die letzten Schritte nicht abschließen.
Folgende Fehlermeldung wird ausgegeben:
pi@raspberrypi:~ $ sudo systemctl start hostapd
Failed to start hostapd.service: Unit hostapd.service is masked.
bzw.:
pi@raspberrypi:~ $ sudo systemctl enable hostapd
Synchronizing state of hostapd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable hostapd
Failed to enable unit: Unit file /etc/systemd/system/hostapd.service is masked.
Ich hoffe ihr könnt mir da weiterhelfen.
Stephan Strittmatter
Hier findet sich eine Anleitung, wo auch eine Netzwerkbrücke konfiguriert wird:
https://www.elektronik-kompendium.de/sites/raspberry-pi/2002161.htm
Fritz
Hallo,
super, sowas habe ich gesucht.
Eine Frage, kann man auch bestimmten MAC-Adressen die IP vorgeben? Viele Router können das nicht, oder nur sehr begrenzt.
Wenn nun noch Pi-Hole gleichzeitig mit darauf laufen würde, wäre es der absolute Renner.
https://pi-hole.net/
Dankeschön an alle Entwickler.
Martin
Hi Leute, erst mal danke für die schöne genaue Erklärung und die einzelnen steps.
Ich hatte auch letztens mit diesem Gedanken gespielt, bin aber an ein paar Grenzen gestoßen und zwar: die Reichweite: die Raspis sind nicht für Ihre Sendeleistung bekannt, gibt es da eine Option eventuell ein Meshwlan aufzubauen, wie es Zigbee macht (also auch die Aktoren und Sensoren mit einzubinden ?
2: Könnt ihr das mit der Portweiterleitung noch mal erklären ? Also ich würde gerne schon weiterhin mit dem Handy die Geräte steuern ohne jedes Mal das WLAN zu wechseln. Kann ich einfach eine Portweiterleitung konfigurieren, die meine „Befehle“ ins iot Netz schiebt ? Ich hoffe ich habe mich verständlich ausgedrückt :D manchmal ist es echt blöd zu beschreiben 🙈
Danke schon mal für eure Antwort.
Knuzen
Klasse, auf genau solch einen Vorschlag hab ich wirklich gewartet. Sehr sinnvoll für eine mögliche Überwachungsmöglichleit außerhalb von Netzen, denke ich mir.
Stephan Strittmatter
Cool! Genau das wollte ich mal recherchieren und realisieren!
Vielen Dank.