Raspberry PI – Interessantes im Netz

Wer sich noch ein bisschen weiter mit dem Raspberry PI im Netz auseinandersetzen will, hier ein paar Interessante Quellen:

Ein lokales Netz mit eine Raspberry PI in ein WLAN einbinden

Bisher hat Mamas Computerlexikon einfache Fragen im Fokus, die sich mit vergleichsweise einfachen Dingen befassen wie Sie bei der Nutzung von Office Software auftreten. Dies ändert sich mit diesem Beitrag rapide. Die Frage, die es zu beantworten gilt ist schon ein bisschen komplexer und braucht dementsprechend einer ausführlichen Einleitung.

Mamas aktuelles Problem entsteht aus der Situation heraus, dass Sie ein kleines privates Netzwerk nutzt, in dem ein paar Rechner, Drucker und ein NAS miteinander kommunizieren. Das lokale Netzwerk soll über einen WLAN Accesspoint ins Internet gebracht werden. Das ganze ist im nachfolgenden Bild skizziert. Entsprechend dem orangenen Pfeil soll ein Rechner aus dem lokalen Netzwerk heraus über das WLAN ins Internet gelangen können.

Lan Netzwerk mit WLAN im Internet

Die Netzwerke physisch zu verbinden ist durch die örtlichen Gegebenheiten verhindert. Das WLAN ist der einfachste Weg die Verbindung zu erzeugen. Alle Geräte über das WLAN direkt zu verbinden ist auch kein Weg, da das NAS für Backups genutzt wird, was über das WLAN zu langsam ist.

Die Lösung ist PI

Für das lokale Netz wurde ein Raspberry PI B als Server genutzt. In Verbindung mit einer WLAN Karte, einem USP Hub und einem Switch hat Mama alles was Sie für Ihr lokales Netz braucht. Als Betriebssystem für den Raspberry PI nutzt Mama den Debian Ableger namens „Raspbian“. Dieser sollte als Ableger eines vollwertigen Linux für die anstehende Aufgabe ausreichend gut vorbereitet sein und ist, da die Raspberry Foundation als Quelle dient, hoffentlich auch entsprechend gut mit Updates versorgt.

Das WLAN soll hier keine große Hürde darstellen. Es wird durch einen Marktüblichen DSL Router mit integriertem WLAN aufgebaut und darf eigentlich auf Mamas vorhaben keinen Einfluss haben.

Für die Durchführung des Vorhabens sind mehrere Schritte notwendig, die hier im einzelnen beschrieben -, oder zumindest mit einem passenden Link zu einer einfachen Erklärung ergänzt werden sollen.

 Schritte in der Durchführung

folgende Schritte müssen durchgeführt werden:

  1. [intlink id=“197″ type=“post“]Installation von Raspbian auf der SD-Karte[/intlink]
  2. [intlink id=“211″ type=“post“]Inbetriebnahme des PI[/intlink]
  3. [intlink id=“225″ type=“post“]WLAN einrichten[/intlink]
  4. [intlink id=“233″ type=“post“]System Update durchführen[/intlink][intlink id=“239″ type=“post“]LAN einrichten[/intlink]
  5. [intlink id=“240″ type=“post“]PI als Bridge zwischen LAN und WLAN konfigurieren[/intlink]

Das Ziel dieses Aufbau ist nachfolgend nochmals skizziert.

Lan Netzwerk mit WLAN und PI

 

Raspberry als Bridge zwischen zwei Netzen konfigurieren

Um einen Raspberry PI in eine Brücke (Bridge) zwischen zwei Netzen einzusetzen, muß folgendes bereits erfüllt sein:

  1. [intlink id=“197″ type=“post“]Der Raspberry PI muß mit dem Betriebssystem Raspbian ausgestattet sein[/intlink]
  2. [intlink id=“225″ type=“post“]Ein WLAN muß in ein lokales WLAN für den Internetzugang eingebunden sein[/intlink]
  3. [intlink id=“239″ type=“post“]Das LAN muß im lokalen Netz funktionieren und der Raspberry PI muß mit einer statischen IP-Adresse versehen sein[/intlink]

Das weiter vorgehen erfordert zuerst die Installation der notwendigen Pakete für das Einrichten der Bridge. Dies geschieht mit dem nachfolgenden Kommando.

#Installation der Bridge-Utils
sudo apt-get install bridge-utils

Diese sind die Voraussetzung, dass die nachfolgende Konfiguration in /etc/network/interfaces auch wirklich funktioniert. Die Konfiguration ist hier einmal komplett wiedergegebene, also auch mit den Angaben zu den notwenigen Interfaces (eth0 und wlan0)

auto lo
iface lo inet loopback

iface eth0 inet static
        address 192.168.3.2
        netmask 255 what is sildenafil citrate.255.255.0
        network 192.168.3.0
        broadcast 192.168.3.255

auto wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "My SSID"
wpa-psk 123456789012345678901234567890123456789012345678901234567890

#Netwerkbrücke
auto br0
iface br0 inet dhcp
        bridge_ports eth0 wlan0
        bridge_fd 5
        bridge_stp no

Der Fokus in diesem Beitrag liegt auf der Bridge Konfiguration. Diese sollte dabei so einfach wie möglich gestaltet sein.

Mit dem Befehl „auto br0“ wird das Interface auf Autostart gesetzt, es wird also beim Starten des PI automatisch hochgefahren. Die Definition der Schnittstelle (iface) definiert es als IPv4 Netzwerk (inet) und läßt eine Vergabe der IP-Adresse per DHCP zu. Dies funktioniert, wenn ein DHCP Server im Netz ist, was in diesem Szenario durch den DSL Router mit WLAN gegeben ist. Mit dem Befehl bridge_ports wird angegeben welche Ports hier „überbrückt“ werden. Die Brücke wird zwischen dem LAN Port (eth0) und dem WLAN Port (wlan0) geschlagen. Mit bridge_fd wird der Timeout von 15 Sekunden auf 5 Sekunden gesenkt. Dieser Befehl könnte ohne weiteres entfallen. Zuletzt gibt es noch den Befehl bridge_stp dieser stellt in komplexen Netzwerken sicher, dass keine Zirkelschlüsse entstehen. Da dies in einem einfachen Konstrukt wie diesem nicht stattfinden kann wird es mit „no“ abgestellt.

Damit ist das Szenario hergestellt in dem die Geräte aus einem lokalen Netzwerk, das über den Raspberry PI mit einem WLAN verbunden ist, über den WLAN Router ihre IP-Adressen beziehen.

Lan Netzwerk mit WLAN im Internet

Jetzt muß Mama nur noch Ihren Netzwerkdrucker über die USP-Ports des Raspberry PI anschliessen und als Netzwerkdrucker freigeben, dann ist das LAN fertig.

 

Raspberry PI WLAN einrichten

Mamas Etappenziel ist es, den Raspberry PI mittels WLAN ins Internet zu bringen. der Zugangspunkt ist ein WLAN in einem DSL Router, der auch per DHCP die IP-Adressen vergibt.

Raspberry PI kommt mittels WLAN ins Internet

Das WLAN ist für die weiteren Schritte wichtig, da es bei diesem Setup den Zugriff auf die notwendigen Pakete über den Paketdienst erlaubt.

Um das WLAN zu aktivieren müssen wir das Netzwerk in der Datei /etc/network/interfaces korrekt bekannt machen. Da auf dem PI in der Regel kein „echter“ root Account existiert, und der Schreibzugriff auf dies Datei geschützt ist, müssen wir vor dem Befehl zum editieren ein „sudo“ anfügen, um root Rechte zu erlangen.

Mama hat nohc gelernt mit dem VI umzugehen. Das ist nicht jedermanns Sache. Für User, die es gern einfacher wollen, gibt es auch noch den „nano“ als editor.

Vor dem Editieren machen wir wie es sich gehört eine Sicherheitskopie:

cp /ect/network/interfaces /ect/network/interfaces.org

Interfaces Editieren

Wir öffnen die Datei /etc/network/interfaces entsprechend mit dem passenden Befehl zum Editor. Wer den vi nicht nutzen möchte, sollte diesen Begriff durch nano ersetzen.

sudo vi /etc/network/interfaces

Das File sieht initial in etwa wie folgt aus

auto lo
iface lo inet loopback

iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Auf der Basis dieser Konfiguration passen wir die Settings an:

auto lo
iface lo inet loopback

iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "SSID des Netwerks"
wpa-psk "passphrase des Netzwerks"

In der abgebildeten Konfiguration müssen wir natürlich die Begriffe "SSID des Netwerks" und "passphrase des Netzwerks" durch die echte SSID und die zugehörige Passphrase ersetzen.

In dieser Form können wir die Konfiguration abspeichern und testen. Dies geschieht durch einen Neustart der Netzwerkverbindungen.

sudo service networking restart

Beim Neustart der Netzwerkverbindung sollte eine Meldung wie diese im langen Sermon der Ausgaben enthalten sein.

DHCPOFFER From 192.168.xxx.yyy

DHCPACK from 192.168.xxx.yyy

bound to 192.168.xxx.aaa -- renewal in ... seconds.

Die IP-Adressen können abweichen, das ist normal, wichtig ist die Aussage, dass der DHCP Server eine IP-Adresse anbietet und diese auch („bound to“) an den Raspberry PI gebunden wird.

Passphrase nicht im Klartext

Um die Sicherheit noch ein bisschen zu erhöhen, nehmen wir noch ein Änderung an der /etc/network/interfaces vor. Die Passphrase haben wir im ersten Schritt im Klartext einfegügt, das funktioniert, ist aber alles andere als sicher. Um hier die Sicherheit noch ein bisschen zu erhöhen, ersetzen wir die Passphrase im Klartext durch eine verschlüsselte Version.

Mit dem nachfolgenden Befehl verschlüsseln wir die Passphrase. Die so verschlüsselte form können wir direkt in die /etc/network/interfaces anstelle der unverschlüsselten Passphrase einsetzen.

wpa_passphrase "SSID des Netwerks"  "passphrase des Netzwerks"

Die daraus resultierende Ausgabe sieht in etwa so aus:

network={
   ssid="SSID des Netwerks"
   #psk="passphrase des Netzwerks"
   psk=aefd5a7c8954f958dae0fd73ffffb9bfe074bcc888e045a5a7028a6dec342f9c
}

Der Key nach „psk=“ wird anstelle der unverschlüsselten Passphrase in die /etc/network/interfaces Datei eingesetzt.

 

 

Raspberry PI LAN einrichten

Raspberry PI Logoeigentlich muß ich bei einem Raspberry PI mit Raspbian kein LAN einrichten. Denn initial ist das Lan Netzwerk, also das Netzwerk, das über den Netzwerkstecker genutzt wird so eingerichtet, dass es sich von einem DHCP Server eine IP-Adresse bezieht und dann funktioniert. In der notwendigen Konfiguration unter /etc/network/interfaces findet Mama bei einem frisch installierten Raspbian die Zeile

iface eth0 inet dhcp

was dem Betriebssystem sagt, dass das Netzwerk mit dem Namen „eth0“ per DHCP angesprochen wird. Der Begriff „inet“ steht für das TCP/IPv4 Protokoll. In der nächsten Tabelle finden sich die möglichen weiteren Optionen für diese Einstellung. Da wir hier ein lokales Netzwerk konfigurieren sollte ein IPv4 Netz ausreichen.

Protokoll
Netzwerkprotokoll Beschreibung
inet IPv4 (Standard)
inet6 IPv6
ipx IPX/SPX

 

Um den Raspberry PI als Server einzusetzen, der z.B. auch als DHCP Server auftritt, ist es notwendig die Schnittstelle fest vorzudefinieren. In diesem Fall sieht die Konfiguration etwwas ausführlicher aus.

# LAN konfigurieren mit statischer IP
iface eth0 inet static
address 192.168.3.2
netmask 255.255.255.0
broadcast 192.168.3.255
gateway 192.168.3.2
dns-nameservers 192.168.3.2

Das Interface wird hier mit dem Begriff „static“ so definiert, dass eine feste IP-Adresse vergeben ist. Diese wird dann mit dem Befehl „address“ festgelegt. Zusätzlich zur Adresse braucht das Interface eine Netzwerkmaske. Diese definiert, mit welchen Computern der Raspberry PI kommunizieren darf. Bei der angegebenen Maske sind es alle Computer im selben Netzsegment als die mit den IP-Adressen 192.168.3.0 bis 192.168.3.254. Der „broadcast“ Befehl definiert eine Adresse, über die allgemeine Nachrichten ins lokale Netz gegeben werden. Hierüber erhält ein Rechner z.B. Auskunft über die im Netz verfügbaren Rechner.

Lan Netzwerk mit PI

Ein „gateway“ schafft den Übergang von einem Netzwerk ins nächste. Hier wurde der Raspberry PI als Gateway definiert. Zuletzt wird noch ein „dns-nameserver“ angegeben. Dieser wird auch als der PI definiert.

Wenn auf diesem Raspberry PI jetzt ein DHCP-Server in Betrieb genommen wird, dann kann er als eigenständiger Server im lokalen Netz den Bertieb übernehmen. Wenn wir zusätzlich einen DNS-Server in Betrieb nehmen, dann kann der PI auch sprechende Netzwerknamen verwalten.

Unser Ziel ist es aber eine Brücke (Bridge) zwischen einem[intlink id=“185″ type=“post“] WLAN mit Router[/intlink] zu schlagen, der den Zugang ins Internet stellt. Dieser ist bereits in der Lage IP-Adressen zu vergeben und mit DNS Namesauflösung umzugehen.

 

Raspberry PI System Update durchführen

<a href="http://mamas-computerlexikon go to website.de/wp-content/uploads/2014/05/Raspberry-PI-Logo.png“>Raspberry PI Logo Das Update setzt einen Raspberry PI voraus, auf dem Raspbian als Betriebssystem läuft. Zusätzlich ist eine Verbindung ins Internet notwendig. Über die Kommandozeile läßt sich dann mit den folgenden Befehlen das System auf den aktuellsten Stand bringen:

apt-get update
apt-get upgrade

Ein bisschen Zeit sollte man mitbringen, das beide Befehle zusammen ein wenig dauern.

Raspbian für PI auf einer SD-Karte installieren

Für den Betrieb eines Raspberry PI ist es notwendig ein entsprechendes Betriebssystem auf einer SD-Karte bereitzustellen. Dies wird hier anhand von Rasbian erläutert.

Schritt 1: Download eines Diskimage

Raspbian bezieht man am einfachsten direkt von der Raspberry Foundation unter www.raspberry.org im Download Bereich. Das Diskimage herunterladen und lokal im Filesystem speichern. Hier gibt es keine Einschränkungen wo es zu liegen hat. Der einfachheit halber legt man es am besten zum üblichen „Downloads“ Bereich, den das Betriebssystem vorgibt.

Download Bereich

Nach dem Download, der einige Zeit in Anspruch nehmen kann, muß das Disk-Image noch entpackt werden. Der Download befördert ein „ZIP“ File ins Filesystem. Nach dem Entpacken mit Bordmitteln des Computers oder einem anderen Werkzeug wie WinZIP oder 7zip, hat das File die Endung .img und ist ca. 2,9GB (!) groß.

Schritt 2: Ein Werkzeug zum transferieren des Image

Ein Disk Image, wie wir es gerade heruntergeladen haben ist eingentlich ein Abbild einer Festplatte oder anderen Disk. Diese wurde für den Transfer aller Daten in eine einzelnes File gepackt, das Disk-Image eben. Um das Disk-Image wieder auf einen Datenträger zu schreiben, brauchen wir eine passende Software. Unter Windows ist dies „Win32 Disk Imager„.  Das Werkzeug ist als Open Source Software für jedermann kostenlos nutzbar und kann direkt von Source Forge heruntergeladen werden.

Für die Installation des Disk Imager werden Administrationsrechte benötigt und auch bei der Ausführung muß der Disk Imager mit diesen Rechten ausgestattet werden.

Schritt 3: Raspbian Image auf eine SD-Karte brennen

Der Raspberry PI bedient sich einer SD-Karte als Massenspeicher. Wir müssen also das Betriebssystem auf eine SD-Karte übertragen. Der Rechner an dem wir dies tun sollte dementsprechend in irgend einer Form mit einem SD-Karten Leser ausgestattet sein.

Um das Raspbian Disk Image auf die SD Karte zu übertragen legen wir zuerst die SD-Karte in den Kartenleser und warten, bis sie als Laufwerk im Rechner angezeigt wird.

SD-Karte als Laufwerk im Explorer

Wenn die SD-Karte als Laufwerk erscheint starten wir die zuvor installierte Software „Win32 Disk Imager“. Der Disk Imager öffnet mit einem einfachen und recht kleinen Fenster.

Win32 Disk Imager nach dem Start

In dieser Fenster müssen wir zuerst das Raspbian Disk-Image finden, das wir in Schritt 1 von der Website der Raspberry foundation heruntergeladen haben. Dazu klicken wir auf das blaue Ordner Icon oben rechts im Fenster. Es öffnet sich ein Dialog zum auswählen des Disk Images. Es sollte unter „Downloads“ liegen.

ACHTUNG: Der Disk Imager zeigt leider nur „echte“ Laufwerke und nicht die ganzen nützlichen bibliotheken, die es unter Windows gibt. Wir müssen uns als durchs Filesystem schlagen. Die Downloads sind unter C:Users<Username>downloads.

Win32 Disk Imager mit ausgewähltem Image

Jetzt muß das richtige Zeillaufwerk definiert werden. Dies geschieht über das Dropdownmenü unter „Device“. In der ansicht des Computers im Explorer (siehe oben) finden wir neben dem Laufwerknamen (hier: SD-Karte) den Laufwerksbuchstabe. Diesen müssen wir auswählen. Aus dem Bild oben ergibt sich [F:] , dies kann aber von Computer zu computer variieren.

Zu guter letzt müssen wir den Image Writer noch anweisen zu schreiben. Dies geschieht durch druck auf den Button „Write“. Der Image Writer quittiert dies zuerst mit einer dramatisch klingenden Bestätigungsmeldung check this site out.

Warnmeldung

Sie sollten sich sicher sein, dass Sie wirklich die SD-Karte ausgewählt haben und nicht versehentlich auf die Festplatte des Computers schreiben. Dies hätte fatale Folgen.

Wenn also in der Box wirklich die SD-Karte benannt ist, dann können wir mit „Yes“ bestätigen, dass wir das Image schreiben wollen. Danach ist ein wenig zurücklehnen oder andere Dinge tun angesagt. Wir können jetzt z.B. unseren Raspberry PI richtig verkabeln und für den Betrieb vorbereiten.

Win32 Disk Imager - das erstellen der Boot SD-Karte für den PI braucht etwas Zeit

Wenn nun alles gut gelaufen ist, dann beendet der Image Writer die Arbeit mit der schönen Meldung „Write Successful“. Danach können wir den Image Writer beenden und die SD-Karte ihrer Bestimmung zuführen. Dem Betrieb eines Raspberry PI.

 

Image Writer - Writing Complete