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.