Raspberry Pi: Wifi Repeater ohne Adapter

Folgende Situation: Man ist um Urlaub und hat Wifi in seiner Ferienwohnung, die Verbindung ist... den Verhältnissen entsprechend gut und alles scheint super zu sein. Doch dann stellt man fest: Die Verbindung reicht nicht in alle Zimmer und kein Repeater in Sicht. Was tun? Dieses Erlebnis ist zumindest mir so passiert und zum Glück hatte ich meinen Raspberry Pi dabei. Nun gibt es tausende Anleitungen für die Verwendung des Pi's als Repeater nur benötigen fast alle dafür mindestens einen oder gar zwei Wifi-Adpater und diese hatte ich leider daheim liegen. Also war guter Rat teuer und nach stundenlanger Suche und mehrfachen Neuinstallationen des Systems auf dem Raspberry Pi hat es schlussendlich geklappt und ich habe mir nicht nur einen, sondern gleich zwei Repeater - einen auf dem Raspberry Pi 3 B und einen auf dem Raspberry Pi Zero W - gebastelt, damit das WLAN auch bis ins Badezimmer reicht. Benötigt wird ein Raspberry Pi 3 oder besser, oder auch ein Raspberry Pi Zero W. Hier nutzen wir das integrierte WLAN des Pis und benötigen ansonsten keine weiteren Adapter oder einen LAN-Anschluss. Sowohl das Empfangen des Host-Netzwerks, als auch das Senden über ein, auf dem Raspberry Pi aufgesetztes Netzwerk, läuft über das integrierte WLAN des Raspberry Pis. Natürlich werden auch Strom, Micro SD-Karte, Tastatur, Monitor beziehungsweise eine Verbindung per SSH benötigt - dies sollte allerdings klar sein, denn ohne kann auch kein System auf dem Pi laufen. Als System kann hier eigentlich jedes Linux laufen, hier verwenden wir allerdings klassisch Raspbian auf der aktuellsten Version.

1. Installation der Pakete

Für den Raspberry Pi als Repeater werden zwei Verschiedene Pakete benötigt: hostapd und dnsmasq. Optional bietet es sich an das Paket Screen zu installieren, um den Repeater in einem seperaten Terminal laufen zu lassen. Für den Fall, dass noch keine Netzwerkverbindung besteht (z.B. bei dem Raspberry Pi Zero W) und eine WLAN-Verbindung benötigt wird, können wir Schritt zwei vorziehen und zuerst erledigen.

2. Netzwerk manuell eintragen

Um den Raspberry Pi als Repeater zu verwenden, muss man das Netzwerkinterface manuell starten und hierfür das Netzwerk manuell eintragen. Nun ist es wichtig festzulegen, ob wir den Pi an ein bestehendes Netzwerk über LAN oder WLAN verbinden. In meinem Fall war es nur mit einer WLAN Verbindung möglich, allerdings ist eine Anbindung per Kabel natürlich stabiler und in den meisten Fällen auch schneller. Je nach dem, welche Methode verwendet wird, muss der Code angepasst werden. Die folgende Anleitung ist nur für die Anbindung Via WLAN geeignet und muss eigenständig abgeändert werden für eine Anbindung per LAN Anschluss!

2.1 Bestehendes WLAN Netzwerk eintragen

Um ein Netzwerk manuell in Raspbian einzutragen, muss man einiges beachten: Möchte man das Kennwort als Klartext angeben oder in einen verschlüsselten Code umwandeln? Gibt es nur ein Netzwerk oder werden mehrere verwendet? Sind mehrere Netzwerke in der Umgebung die verwendet und priorisiert werden sollen? Um nachher eine funktionierende Verbindung zu haben, sollte man aufmerksam die Einstellungen tätigen. Es empfiehlt sich deshalb auch, sich über eine direkte Verbindung auf das Pi aufzuschalten und nicht per SSH die Änderungen vorzunehmen, da es schnell vorkommen kann, einen Tipp- oder Denkfehler einzubauen und dadurch keine Verbindung per SSH mehr herzustellen. Zuerst öffnen wir die folgende Datei und tragen dort unser Netzwerk ein. Bei der Nutzung von einem Netzwerk, welches dauerhaft verwendet wird und normal eingetragen werden soll, muss nur die ssid und der psk eingetragen werden. Wer das Passwort für das Netzwerk verschlüsseln möchte, muss zuerst einen anderen Befehl ausführen, um das Kennwort in eine kryptische Zeichenfolge zu verwandeln. Bei mehreren Netzwerken ist eine Priorisierung zwingend erforderlich. Ebenso ist zu beachten, dass sowohl die ssid, als auch der psk für das eigene Netzwerk abgeändert werden müssen.

2.1.1 Verwendung Eines Netzwerks ohne verschlüsseltem Eintrag

2.1.2 Verwendung Eines Netzwerks mit verschlüsseltem Eintrag

Hierfür muss zuerst ein Befehl in der Konsole ausgeführt werden, der den Key erzeugt. Dieser wiederum muss dann in die Datei eingefügt werden.

2.1.3 Eintrag mehrerer Netzwerke

Um mehrere Netzwerke einzutragen muss man alle der Datei hinzufügen und diese Priorisieren. Um diese Verschlüsselt einzutragen, muss die Vorgehensweise aus Schritt 2.1.2 verwendet werden.

2.2 Reboot und Test

Nachdem wir die Datei erstellt haben rebooten wir unseren Rasberry Pi und versuchen Google anzupingen. Wenn nach dem Reboot kein Fehler aufgetreten ist und das Anpingen von Google erfolgreich verlief, können wir dies mit STRG + C abbrechen und fortfahren. Wenn es zu Fehlern kam, muss der Eintrag in die Datei nochmals überprüft werden, evtl. auch nochmal der Zugang zum WLAN oder auch die Verbindung zum Internet. Falls dann immer noch keine Verbindung hergestellt werden kann, lohnt es sich, hier nachzulesen und zu schauen, ob alles passt.

3. Einrichtung von dnsmasq

Die Einrichtung der dnsmasq.conf Datei ist nicht weiter kompliziert. Hier müssen nur die folgenden Zeilen auskommentiert ("#" entfernen) und evtl. der Teil nach dem = Zeichen hinzugefügt werden.

4. Einrichtung von hostapd

Die Konfigdatei von hostapd müssen wir zunächst erstellen, den folgenden Text anpassen und dann einfügen.

5. Anpassen der Netzwerk-Interfaces-Datei

Nun müssen wir unser virtuelles Netzwerkinterface upa0 erstellen und einrichten. Das geschieht mit einem Eintrag in der "interfaces" Datei, welche dann die Einrichtung der Netzwerkschnittstelle für uns vornimmt. Dies hat allerdings zur Folge, dass sämtliche Netzwerkschnittstellen nun manuell eingerichtet werden müssen, da es zu einer automatischen Einrichtung mehr kommt. Auch wird bei Raspbian unter der Desktopvariante bei Netzwerk/WLAN nun angezeigt: "Keine Netzwerkschnittstelle gefunden". Dies können wir allerdings ignorieren, da die Schnittstelle nun manuell eingerichtet wurde. Dazu müssen wir folgende Änderungen vornehmen:

6. Erstellen der Startdatei

Jetzt müssen wir nur noch unser Script erstellen, welches das Starten der virtuellen Schnittstelle und das Weiterleiten der Daten übernimmt. Nun müssen wir die Zugriffsrechte noch anpassen. Als letztes führen wir einen Reboot aus. Der Start des Pi's kann ab jetzt länger dauern, da versucht wird hostname zu initiieren und dieser aufgrund der manuellen Einstellungen nicht funktioniert. Falls das Netzwerk nicht funktioniert, sollten alle Einstellungen überprüft werden und auch mit den folgenden zwei Befehlen versucht werden, die Netzwerkschnittstelle neu zu verbinden. ifup schaltet die Schnittstelle ab, falls sie an ist und ifdown - wer hätte es gedacht - startet diese, falls sie noch nicht läuft. Dies kann eine kurze Zeit dauern.

7. Start des Repeater

Nun gibt es mehrere Möglichkeiten fortzufahren. Entweder wir starten unseren Repeater bei jedem Hochfahren manuell, oder aber wir tragen ihn in die Startroutine ein. Ebenso ist nun die Möglichkeit den Start mit Screen vorzunehmen, um ihn beim Schließen des Terminals weiterlaufen zu lassen.

7.1 Start direkt in dem Terminal

Dies ist zum Testen oder auch zum dauerhaften Offen lassen des Terminals zu empfehlen und ist super simpel. Man gibt folgenden Befehl in die Konsole ein und ist eigentlich fertig.

7.2 Start über Screen

Bei der Verwendung von Screen muss man erst eine Session starten und diese dann "richtig" verlassen. Um die Screen-Session wieder zu verlassen, ohne sie zu schließen muss man folgende Tastenkombination drücken. Die Session läuft nun im Hintergrund weiter und lässt sich von überall wieder mit dem Befehl screen -r öffnen.

7.3 Eintragen in die Startroutine

Um den Start des Repeaters in die Startroutine einzutragen, muss man folgendes in die rc.local datei hinzufügen.

8. Fehler

Bei Fehlern einfach mal mit den Befehlen aus 6. (sudo ifup wlan0 und sudo ifdown wlan0) probieren und schauen, ob es dann funktioniert. Ansonsten lässt sich fast alles über das Internet und Foreneinträge lösen, man muss nur lange und tief genug danach suchen. Es gibt natürlich auch die Möglichkeit den Fehler direkt in die Kommentare zu schreiben, ich kann allerdings nicht versprechen, dass ich alle Fehler lösen kann.

Quellen

https://www.raspberrypi.org/forums/viewtopic.php?t=138730 https://wiki.ubuntuusers.de/interfaces/ https://wiki.ubuntuusers.de/WLAN/ https://wiki.ubuntuusers.de/WLAN_Router/ https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

8
Hinterlasse einen Kommentar

avatar
2 Kommentar Themen
6 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
3 Kommentatoren
StephenKai-Uwe Hüberkeule Letzte Kommentartoren
  Abonnieren  
neueste älteste meiste Bewertungen
Benachrichtige mich bei
Stephen
Gast
Stephen

Hallo! Danke für die Anleitung!
Nur zur Sicherheit bevor ich loslege: Die Anleitung passt zu Raspbian Stretch, richtig?
Danke! Stephen

keule
Gast

hi, bei der Situationsbeschreibung ist (mir) nicht klar welche Hardware nun nötig ist. LAN+WLAN_Adapter oder 2 WLAN-Adapter oder WLAN-Adapters der Raspi3??

Gruß, Keule