Die Raspberry Pi läuft mit Raspian, einem Debian für die ARM Architektur. Sie besitzt einen Ethernetadapter und üblicherweise wird zusätzlich ein USB WLAN Adapter eingebaut um kabellos mit der Pi kommunizieren zu können. Was liegt da näher als auch die Pi als Kabel zu WLAN Kabelbrücke einzusetzen bzw umgekehrt als WLAN Accesspoint mit Kabelanschluss zu benutzen. Der folgende Beitrag erkärt wie man eine WLAN Kabelbrücke unter Debian bzw der Raspberry Pi mit Raspbian erstellen und dann alle an die Pi angeschlossenen kabelgebundenen Geräte über WLAN auf ein anderes Netz zugreifen können.
 
Update 1. März 2014: Mit dem Kernel 3.6.11+ funktioniert alles noch wie beschrieben. Mit dem Kernel 3.10.25+ leider nicht mehr und es muss ein Router konfiguriert werden.
 
  

Bevor die Brücke aufgebaut werden kann muss die WLAN Verbindung sowie die Kabelverbindung konfiguriert sein und funktionieren. Danach muss, um eine WLAN Brücke aufbauen zu können, das folgende zusätzliche Paket installiert werden:

 
apt-get install bridge-utils
 
Zum Schluss ist die Datei /etc/network/interfaces wie folgt anzupassen:
 
auto lo
iface lo inet loopback
iface eth0 inet manual
 
auto wlan0
iface wlan0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports wlan0 eth0
bridge_stp off
bridge_maxwait 15

wpa-iface wlan0
wpa-bridge br0
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 
Die Brücke kann nun mit
 
ifup br0
 
gestartet werden und sollte am Ende aktiv sein. 
 
ifconfig br0
 
liefert dann in etwa die folgende Ausgabe wobei wichtig ist, dass dort eine IP Adresse steht, die sich die Brücke aus dem DHCP Pool des lokalen Routers geholt hat.
 
br0       Link encap:Ethernet  HWaddr 94:44:52:1f:40:34 
          inet addr:192.168.0.107  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::9644:52ff:fe1f:4034/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:861 errors:0 dropped:0 overruns:0 frame:0
          TX packets:131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:101477 (99.0 KiB)  TX bytes:15534 (15.1 KiB)
 
Die Ausgabe von brctl show zeigt dass die beiden Netzwerkinterfaces über die Bridge verbunden sind:
 
root@raspberrypi:~# brctl show
bridge name    bridge id          STP enabled    interfaces
br0            8000.801f028a033a  no             eth0
                                                 wlan0
 
Nun kann ein weiteres Gerät an den Kabelanschluss der Pi angeschlossen werden.
 

Leider muss dieses Gerät mit eine statischen IP Adresse konfiguriert werden. Diese muss aus demselben Netz stammen, in dem sich die PI per WLAN angemeldet hat. Die DHCP Requests werden leider nicht durch die Brücke weitergegeben. Vermutlich bekommt man das mit ebtables hin - es ist aber bislang nicht gelungen eine Lösung zu finden.  

UPDATE: Heute (5.2.2014) habe ich, nachdem jemand Probleme gemeldet hat zur Anleitung, das noch mal konfiguriert und es funktionierte auch die IP Vergabe per DHCP.
 
D.h. also, man muss folgende Dinge bei dem Gerät richtig konfigurieren, denn DHCP hilft leider nicht dabei. Alle diese Informationen ausser dem IP, die eine freie IP in dem Netz sein muss, kann man sich von der Pi besorgen wenn die Brücke erfolgreich aufgebaut wurde:
 
1) Freie statische IP Adresse aus dem lokalen Netz (z.B. passt 192.168.0.222 zu dem Netz welches im Beispiel benutzt wird)
2) Netzwerk Maskemit ifconfig br0 | grep -i mask | sed 's/.*ask[0-9]*//'
3) Default Gateway mit route -n | grep ^0.0.0.0 | awk '{ print $2; }'
4) DNS Server mit cat /etc/resolv.conf | grep nameserver | cut -f 2 -d ' '
 
Es dauert ein wenig bis eine Verbindung über die Pi hinaus möglich ist, denn der arp Cache braucht ein wenig über das WLAN bis er gefüllt ist (Test des arp Caches mit sudo arp).  Eine Verbindung zur Pi ist sofort möglich.
 
Hilfreiche und weiterführende Links:
 
Kommentar schreiben
Hinweis:
Die eMail ist versteckt und nicht öffentlich sichtbar. Sie wird benutzt um über neue Kommentare zu informieren.