Raspberry Pi als WLAN – Router

Veröffenticht am 04.10.2016    von     in der Kategorie Raspberry Pi, WLAN-Router     bisher 8 Reaktionen    Zuletzt überarbeitet am 06.01.2019


Chromium Kiosk ModusIn diesem Beitrag zeige ich dir die notwendigen Schritte, damit du einen WLAN-Router unter Verwendung von einem Raspberry Pi einrichten kannst. Ursprünglich wollte ich diese Schritte in den Beitrag “Netzwerkanalyse mit Wireshark auf einem Raspberry Pi – Router” unterbringen, allerdings habe ich mich nun aufgrund des Umfanges zu einem Einzelbeitrag entschieden.

Der Rasperry Pi als Router

Die benötigten Hardware-Komponenten

038_raspi-router-bauteileSolltest du den Raspberry Pi nicht über SSH und später eventuell über einen VNC Zugriff steuern mögen, benötigst du zusätzlich zu folgender Aufstellung noch eine Tastatur und Maus. Die Einrichtung eines VNC Server ist unter der aktuellen Raspbian Version 4.4 nicht mehr notwendig, da der RealVNC-Server nun im Betriebssystem integriert ist. Solltest du noch mit einer älteren Version arbeiten, findest du eine Beschreibung zur Installation und Einrichtung in meinem Beitrag “Einrichtung eines VNC Server auf dem Raspberr Pi“. Die Aktivierung des VNC Server unter Raspbian Jessie with Pixel habe ich in diesem Beitrag beschrieben.


Folgende Komponenten habe ich für den Einsatz des Raspberry Pi als Router im Einsatz.

  • Raspberry Pi ab Model B, ich habe einen Raspberry Pi 2 Model B im Einsatz, würde allerdings gleich auf den 3er setzen, wenn ich den alten nicht frei gehabt hätte
  • Steckernetzteil Micro-USB 5V/3A, die 2,5A Variante ist für diesen Einsatzbereich ausreichend – selbst mit einem 1,2A Netzteil konnte der Aufbau bei mir ohne Probleme betrieben werden
  • eine microSHD Class 10 Speicherkarte ab 8 GB, ich verwende für meine Projekte die 16GB Variante
  • ein passendes Gehäuse, da ich den RasPi neben meine Router im Dauereinsatz laufen lasse und ihn somit etwas vor Staub schützen kann
  • einen TP-Link USB zu LAN Adapter, dieser ist nur notwendig, wenn du neben den WLAN-Geräten auch die LAN-Geräte analysieren möchtest
  • einen Netzwerkswitch für den Fall, dass du mehrere Geräte gleichzeitig am LAN analysieren möchtest
  • einen WIFI-USB-Adapter, dieser ist allerdings nicht notwendig wenn du einen Raspberry Pi 3 verwendest oder du deine WLAN-Geräte nicht verbinden möchtest

 

Die Einrichtung des Router

die Grundlage

Der RasPi wird mittels der Onboard Ethernet-Buchse an dein Internetmodem, dies kann natürlich auch ein WLAN-Router sein, angeschlossen. Allerdings soll die Internetverbindung anschließend nicht über WLAN ablaufen, sondern über die vorhandene LAN-Verbindung erfolgen. Als Betriebssystem installierst du dir das aktuelle Raspbian, eine Beschreibung findest du unter meinen Beiträgen “Raspberry Pi 3 – aus ttyAMA0 wird…” und “Ersteinrichtung des Raspberry Pi“. Hier möchte ich gleich darauf hinweisen, du kannst den Raspberry Pi gleich “Headless” einrichten, also ohne Tastatur, Maus und Monitor und direkt über ein Terminalprogramm konfigurieren.

die Netzwerkeinrichtung

Damit die notwendige Internetanbindung des RasPi über den eigenen Ethernet-Anschluss (eth0) erfolgen und er die notwendige DHCP-Konfiguration über das angeschlossene Modem beziehen kann, muss die Netzwerkkonfiguration der Datei /etc/network/interfaces angepasst werden. Zuvor installierst du allerdings noch das für die Weiterleitung bzw. Bereitstellung des Internets am WLAN- und dem zweiten LAN-Anschluss notwendige Bridge-Paket. Die Installation erfolgt über das Terminal mit dem Befehl:

Damit die an den Adaptern zur Verfügung gestellten Anschlüsse (eth1 und wlan0) an den Ethernet-Port weitergeleitet werden können, müssen in der Netzwerkkonfiguration diese zu einer Bridge zusammengefasst werden. Hierzu rufst du nun über das Terminal die notwendige Datei im Texteditor auf.

Die Datei passt du nun entsprechend an, dabei dienen die Kommentierungen (#) nur der Erklärung und sind nicht notwendig.

Die vergebene IP-Adresse von 192.168.0.1 kannst du beliebig anpassen, allerdings ist darauf bei der Anpassung der Konfigurationsdatei des DHCP-Servers zu achten.

der WLAN-Access-Point

Damit der Raspberry Pi als Access Point arbeitet, ist die Installation des hostapd Paketes notwendig. Danach legst du die Konfigurationsdatei über folgenden Befehl im Terminal an.

Danach schreibst, bzw. kopierst du dir folgende Zeilen in die leere Konfigurationsdatei hostapd.conf. Der Aufruf erfolgt mit:

 

Solltest du nicht den Raspberry Pi WLAN-Adapter verwenden, sondern zum Beispiel den EDIMAX EW-7811UN Wireless USB Adapter findest du in meinem Beitrag “Wireless Access Point auf dem Raspberry Pi einrichten” weitere Informationen zur Einrichtung.

Die Bezeichnung “raspi-hotspot” unter ssid kann von dir frei gewählt werden und ist der Name des Access Point zum Verbindungsaufbau. Das Passwort, wpa_passphrase=********, muss mindestens 8 Zeichen ein.

Damit die Access Point Software immer beim Systemstart des Raspberry Pi geladen und ausgeführt wird, passen wir die hostapd Datei mit unserem Texteditor an.

Die Anpassung erfolgt in der zehnten Zeile, die Datei sieht danach so aus.

 

der DHCP- und DNS-Server

Damit die Netzwerkeinstellungen der mit unserem Raspberry Pi verbundenen Geräte nicht manuell erfolgen müssen, installieren wir einen DHCP- und DNS-Server. Dies erfolgt über den Befehl:

Danach rufst du die Konfigurationsdatei mit folgenden Befehl auf.

Die Datei ergänzt du nun am Ende mit folgenden zwei Zeilen.

Die Angabe interface=br0 ist notwendig, da sonst alles Netzwerkschnittstellen vom Dienst bedient werden. Die Konfiguration bzw. Festlegung von br0 ist in der Datei interfaces unter Netzwerkeinrichtung erfolgt. Der Adressbereich der zu vergebenden IP-Adressen wird mit dem Befehl dhcp-range festgelegt. Achte hier auf die bei der Bridge-Einrichtung festgelegten IP-Adresse.

 

die Paketweiterleitung

Damit die Weiterleitung der Datenpakete von unseren verbundenen Geräten ins Internet funktioniert, müssen wir die Paketweiterleitung für IPv4 und IPv6 aktivieren. Dies ist notwendig, da Linux standardmäßig keine Datenpakete von einem Netzwerk in ein anderes weiterleitet. Die Aktivierung der Weiterleitung, engl. Forwarding, geschieht mit folgenden Einträgen in der Datei sysctl.conf.

Aufruf der Datei erfolgt mit:

danach musst du die Kommentierungszeichen (#) bei

und bei

entfernen.

 

die RasPi Firewall konfigurieren

Damit der Raspberry Pi als Router und der Datenverkehr vom Internet auf die verbundenen Geräte funktioniert, muss nun noch die Adressänderung, bezeichnet als NAT, konfiguriert werden. Hierzu benötigen wir den Befehl iptables, der zur Steuerung der Firewall-Funktion des Linux-Kernels notwendig ist. Die Konfigurierung erfolgt über folgenden Befehl, den du über das Terminal ausführst.

Damit man die Einstellung nicht bei jedem Neustart des RasPi erneut eingeben muss, installieren wir das Paket iptables-persistent. Bei der Installation erfolgt ein automatischer Start, hier lassen wir die Speicherung der aktuellen Firewall-Konfiguration zu. Solltest du weitere Regeln zu deiner Firewall hinzufügen und diese beim Neustart auch automatisch ausführen wollen, rufst du über das Terminal mit folgendem Befehl zur Speicherung auf.

 

Weiterführende Beschreibung zu hierzu findest du zum Beispiel in dem Beitrag “Iptables Firewall Regeln dauerhaft speichern” im Wiki von Thomas-Krenn.AG.

 

Nach einem Neustart des Raspberry Pi sollte dir nun ein voll funktionsfähiger Router zur Verfügung stehen.

Anmerkungen und Hinweise

Mit dieser Konfiguration erfüllt der RasPi nun die Anforderungen an einen WLAN-Router und kann somit zum Beispiel in Verbindung mit einem Kabelmodem ohne bzw. deaktivierter WLAN-Verbindung betrieben werden. Auch wäre der Einsatz als Gäste-Hotspot umzusetzen, so kann man sein privates Netzwerk geschlossen halten und trotzdem einen Internetzugang bieten.

Allerdings sollte bei der Überlegung eines dauerhaften Einsatzes des Rasperry Pi als Router bedacht werden, die Leistung des Datendurchsatzes am Raspberry Pi ist baulich bedingt niedrig und eignet sich daher weniger um mehrere Geräte gleichzeitig mit Daten (z.B. Streaming-Angebote usw.) zu versorgen. Allerdings ist die Leistung für ggf. die Analyse oder das Anbieten eines kostenlosen Netzes durchaus ausreichend.

 


Transparenz-Hinweis:

Die auf dieser Seite verwendeten Produktlinks sind sogenannte Affiliate-Links zu einem Partnerprogramm. Für dich entstehen dadurch keine Mehrkosten, ich erhalte durch deinen Kauf über den Link eine kleine Provision.


Wolfgang Raab – Betreiber von webnist.de

Mein Name ist Wolfgang, ich beschäftige mich nun schon seit 1985 mit der EDV und im Besonderen mit der Software- und Webentwicklung.

Auf diesem Blog schreibe ich über Dinge, die mich begeistern, beschäftigen und ich der Meinung bin, es könnte für andere interessant und hilfreich sein.

Als großer Fan des Raspberry Pi finde ich es spannend, wie man den kleinen Computer in Verbindung mit dem IoT und Smart Home nutzen kann. Deshalb behandeln viele Beiträge auch genau dieses Thema.

Ich bin ein leidenschaftlicher Leser und Fotograf. Wenn ich nicht gerade in einem spannenden Roman versinke, bin ich oft unterwegs, um die Schönheit der Welt mit meiner Kamera einzufangen und zu teilen.

Weitere Infos und Fotos findest du auf einem der folgenden Plattformen.






Mehr erfahren?

Besuche die "About"-Seite meines Blogs und finde heraus, wie du mit mir in den Bereichen Web- und Mobile-Programmierung und Raspberry Pi zusammenarbeiten kannst. Hier beginnt deine digitale Reise.


Unterstützen

Dieser Beitrag hat dir gefallen und konnte dir bei deinem Projekt oder Problem behilflich sein? Dann würde ich mich sehr freuen, wenn du dich mit einer noch so kleinen Spende erkenntlich zeigen möchtest.




  • Kaiu schrieb am 15. Juli 2018:

    Hallo.
    Danke für das prima Tutorial.
    Allerdings würde ich gerne die Internetverbindung anschließend über LAN oder WLAN ablaufen lassen können. Da der Internetzugang (z.B. Ferienwohnung in Frankreich) nur per WLAN mit RadiusServer-Login zur Verfügung steht.

    Also RasPi3B+ mit zusätzlichen LAN (USB2LAN) und zusätzlichem WLAN-Stick.

    OnBoard LAN und WLAN für den AP!

    Ext. USB2LAN und WLAN-Stick für den Internetzugang.

    Kannst du mir da vielleicht die nötigen Änderungen aufzeigen?

    Cu, Kaiu

    • Wolfgang schrieb am 19. Juli 2018:

      Hallo,
      im Grunde musst du nur einen WLAN-Stick zusätzlich als WLAN1 einbinden. Die Lösung eines ähnlichen Szenarios wie von dir beschrieben habe ich in meinem Beitrag “RasPi mit Access Point und zweitem Stick im Heimnetzwerk” beschrieben.

      Viele Grüße
      Wolfgang

  • Paul Schmidt schrieb am 10. September 2017:

    Hallo Wolfgang,
    vielen dank für dieses ausführliches Tutorial.
    Ich würde Ihnen gerne ein paar Fragen hierzu stellen würde diese aber gerne per Email senden, da es ein bisschen spezieller ist.
    Haben Sie eine Kontakt Adresse für mich?

    • Wolfgang schrieb am 26. September 2017:

      Hallo Paul,
      vielen Dank für Deine Nachricht.
      Die Fragen kannst Du mir gerne per Mail oder Kontaktformular senden. Gehe hierzu bitte auf die Kontaktseite.
      Viele Grüße
      Wolfgang

  • Christian Widauer schrieb am 14. März 2017:

    Vielen Dank für dieses tolle Tutorial! Ich habe lange versucht nur hostapd und dnsmasq zu verwenden und alles weitere über iptables festzulegen, was weitaus aufwendiger ist. Der Tipp mit bridge-utils und iptables-persistent rettet mir gerade die Woche!

    • Wolfgang schrieb am 14. März 2017:

      Hallo Christian,
      vielen Dank für Deinen Kommentar. Es freut mich, wenn mein Beitrag hilfreich sein konnte.
      Viele Grüße
      Wolfgang


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Notwendige Felder sind mit * markiert.

 

Kleiner Hinweis, alle Kommentare werden moderiert.

Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.

Entdecke die Welt von Webnist.de

Erfahre mehr über die Hintergründe meines Blogs und wie ich dich bei deinen digitalen Projekten unterstützen kann.

Aktuelles Video auf YouTube

Beschreibung der Verwendung eines TTP223B Touch Sensors am GPIO Port des Raspberry Pi mit Python.