accesspoint
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| accesspoint [2017/06/24 09:19] – noone | accesspoint [2022/03/11 23:45] (aktuell) – noone | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====Raspberry Pi als Access-Point einrichten==== | ||
| + | |||
| + | ===Software installieren=== | ||
| + | Es empfiehlt sich gleich am Anfang die notwendige Software zu installieren. Nicht nur die, die jetzt, sondern vielleicht auch später gebraucht wird. Während der Konfiguration kann es vorkommen, dass der Zugriff aus das Internet nicht mehr geht. Wenn dann die notwendige Software noch nicht installiert ist, dann kann man unter Umständen noch einmal von vorne anfangen. | ||
| + | sudo apt install dnsmasq hostapd iptables | ||
| + | |||
| + | * **dnsmasq** ist ein DNS-Server für die Namensauflösung und ein DHCP-Server, | ||
| + | * **hostapd** erzeugt das WLAN, an dem sich die WLAN-Clients anmelden können. | ||
| + | * **iptables** sorgt dafür, dass die WLAN-Clients per NAT eine IP-Verbindung ins nächste Netzwerk bekommen (Routing/ | ||
| + | |||
| + | ===WLAN-Interface konfigurieren=== | ||
| + | |||
| + | Seit Raspbian Jessie ist standardmäßig ein DHCP Client Daemon (DHCPCD) aktiviert. Die Netzwerk-Konfiguration wird in der Datei "/ | ||
| + | sudo nano / | ||
| + | |||
| + | Hier tragen wir folgende Zeilen ein: | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | In dieser IPv4-Konfiguration hat das WLAN-Interface eine statische IPv4-Adresse. Das ist für den Betrieb des DHCP- und DNS-Servers wichtig. | ||
| + | |||
| + | Es wäre auch denkbar, auch der Ethernet-Schnittstelle " | ||
| + | |||
| + | Wir speichern und schließen die Datei mit Strg + O, Return, Strg + X. | ||
| + | |||
| + | Dann starten wir den DHCP Client Daemon neu. | ||
| + | sudo systemctl restart dhcpcd | ||
| + | |||
| + | Dann müssen wir sicherstellen, | ||
| + | ip l | ||
| + | |||
| + | Beide Netzwerk-Schnittstellen (eth0 und wlan0) müssen vorhanden sein. Die IP-Konfiguration ist dabei unerheblich. | ||
| + | |||
| + | ===DHCP-Server und DNS-Cache einrichten (dnsmasq)=== | ||
| + | Als nächstes richten wir den DHCP-Server und DNS-Cache ein. Der DHCP-Server sorgt dafür, dass die WLAN-Clients nach der Anmeldung alle nötigen Informationen für die IP-Konfiguration bekommen. Der DNS-Dienst übernimmt die Namensauflösung. Um beides kümmert sich " | ||
| + | |||
| + | Dazu müssen wir " | ||
| + | sudo mv / | ||
| + | sudo nano / | ||
| + | |||
| + | Dort tragen wir folgende Zeilen als Minimal-Konfiguration ein: | ||
| + | # DHCP-Server aktiv für WLAN-Interface | ||
| + | | ||
| + | |||
| + | # DHCP-Server nicht aktiv für bestehendes Netzwerk | ||
| + | | ||
| + | |||
| + | # IPv4-Adressbereich und Lease-Time | ||
| + | | ||
| + | |||
| + | # DNS | ||
| + | | ||
| + | |||
| + | Hier wird der DHCP-Server und das DNS-Forwarding für die Netzwerk-Schnittstelle " | ||
| + | |||
| + | ===DHCP-Server und DNS-Cache prüfen und in Betrieb nehmen (dnsmasq)=== | ||
| + | Vor der Inbetriebnahme empfiehlt es sich, die Konfiguration zu testen. | ||
| + | | ||
| + | |||
| + | Die Syntaxprüfung sollte mit " | ||
| + | |||
| + | DNSMASQ neu starten: | ||
| + | sudo systemctl restart dnsmasq | ||
| + | |||
| + | DNSMASQ-Status anzeigen: | ||
| + | sudo systemctl status dnsmasq | ||
| + | |||
| + | DNSMASQ beim Systemstart starten: | ||
| + | sudo systemctl enable dnsmasq | ||
| + | |||
| + | ===WLAN-AP-Host einrichten (hostapd)=== | ||
| + | Dann installieren wir den Host Access Point Daemon, kurz " | ||
| + | |||
| + | Die Konfiguration des WLAN-AP-Hosts: | ||
| + | sudo nano / | ||
| + | |||
| + | Die Datei sollte noch nicht vorhanden und somit leer sein. Wenn die Datei doch vorhanden ist, dann sollte man sie vollständig überschreiben. | ||
| + | In die Datei tragen wir folgende Minimal-Konfiguration ein. Selbstverständlich gibt es noch mehr Parameter, die in diesem Fall keine Rolle spielen. | ||
| + | # WLAN-Router-Betrieb | ||
| + | |||
| + | # Schnittstelle und Treiber | ||
| + | | ||
| + | # | ||
| + | |||
| + | # WLAN-Konfiguration | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | # WLAN-Verschlüsselung | ||
| + | | ||
| + | wpa=2 | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Drei Einstellungen sind individuell zu tätigen. Das sind der WLAN-Name (" | ||
| + | Der dritte Parameter ist das WLAN-Passwort (" | ||
| + | |||
| + | Hinweis zum WLAN-Treiber: | ||
| + | |||
| + | Anschließend speichern und schließen mit Strg + O, Return, Strg + X. | ||
| + | |||
| + | Weil diese Datei das WLAN-Passwort im Klartext enthält, sollte nur der Benutzer " | ||
| + | sudo chmod 600 / | ||
| + | |||
| + | Keine Sorge, mit dem Benutzer " | ||
| + | |||
| + | ===WLAN-AP-Host-Konfiguration prüfen und in Betrieb nehmen (hostpad)=== | ||
| + | Bevor wir uns an das weitere Einrichten des WLAN-Routers machen, nehmen wir zuerst den WLAN-Host in Betrieb. Nur wenn das funktioniert, | ||
| + | |||
| + | Zur Inbetriebnahme des WLAN-Hosts starten wir " | ||
| + | sudo hostapd -dd / | ||
| + | |||
| + | **Hinweis: | ||
| + | |||
| + | " | ||
| + | ... | ||
| + | | ||
| + | ... | ||
| + | | ||
| + | ... | ||
| + | |||
| + | Das ist eine gute Gelegenheit den WLAN-AP zu testen (ohne Internet-Verbindung). Dazu versucht man mit einem WLAN-Client das WLAN zu finden und sich dort anzumelden. | ||
| + | Dabei kann man in der Kommandozeile schön beobachten, wie sich der WLAN-Client anmeldet (AP-STA-CONNECTED) und auch wieder abmeldet (AP-STA-DISCONNECTED), | ||
| + | |||
| + | **Hinweis: | ||
| + | |||
| + | Wenn " | ||
| + | * Ein beliebter Fehler ist das fehlende " | ||
| + | * Weitere Fehlerquellen kann man ausschließen, | ||
| + | * Eine weitere Fehlerquelle ist die verwendete Distribution. Funktionieren wird es auf alle Fälle mit Raspberry Pi OS. | ||
| + | |||
| + | Damit der " | ||
| + | Wenn " | ||
| + | sudo nano / | ||
| + | |||
| + | Darin ergänzen wir folgende Parameter: | ||
| + | | ||
| + | | ||
| + | |||
| + | Anschließend speichern und schließen mit Strg + O, Return, Strg + X. | ||
| + | |||
| + | Den " | ||
| + | sudo systemctl unmask hostapd | ||
| + | sudo systemctl start hostapd | ||
| + | sudo systemctl enable hostapd | ||
| + | |||
| + | Den Status des Daemons kann man mit folgendem Kommando prüfen. | ||
| + | sudo systemctl status hostapd | ||
| + | |||
| + | Hier sollten folgende Zeilen stehen: Loaded: loaded und Active: active | ||
| + | |||
| + | ===Routing und NAT für die Internet-Verbindung konfigurieren=== | ||
| + | Bis hierhin hat man im Optimalfall mit dem WLAN-Client eine Verbindung zum WLAN und eine IPv4-Konfiguration erhalten. Was noch nicht funktioniert, | ||
| + | |||
| + | Zuerst aktivieren wir das Routing. Dazu öffnen wir eine System-Datei. | ||
| + | sudo nano / | ||
| + | |||
| + | Hier ergänzen wir die folgende Zeile und schließen die Datei mit Strg + O, Return, Strg + X. | ||
| + | | ||
| + | |||
| + | Dann aktivieren wir NAT. Wichtig ist hier, dass iptables installiert ist. | ||
| + | sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
| + | |||
| + | Dann stellen wir sicher, dass diese Routing-Information gespeichert wird. | ||
| + | sudo sh -c " | ||
| + | |||
| + | Damit die Routing-Information beim Systemstart geladen wird müssen wir noch ein Systemdatei bearbeiten. | ||
| + | sudo nano / | ||
| + | |||
| + | Hier tragen wir vor der Zeilte mit "exit 0" folgende Zeile ein. | ||
| + | | ||
| + | |||
| + | Anschließend muss man die Datei speichern und schließen: Strg + O, Return, Strg + X. | ||
| + | |||
| + | Ein Neustart des Raspberry Pi ist abschließend erforderlich. | ||
| + | sudo reboot | ||
| + | |||
| + | ===WLAN-, Router- und DHCP/ | ||
| + | |||
| + | Wenn der Raspberry Pi neu gestartet ist, sollte man kontrollieren, | ||
| + | sudo systemctl status hostapd | ||
| + | ps ax | grep hostapd | ||
| + | sudo systemctl status dnsmasq | ||
| + | ps ax | grep dnsmasq | ||
| + | |||
| + | Wenn die Dienste laufen und die Prozesse für die beiden Dienste angezeigt werden, dann kann man versuchen sich mit einem WLAN-Client am WLAN-Router anzumelden und eine Internet-Verbindung aufzubauen. | ||
