Dies ist eine alte Version des Dokuments!
Offloader auf Basis eines Raspberry PI 4B
Offloader auf Basis eines Raspberry PI 4B - eine Kurzanleitung von goligo.
Dieser Anleitung beschreibt das Aufsetzen eines Offloaders auf dem Raspberry mit der vorhandenen Freifunk-Firmware. Es kann entweder ein zusätzlicher USB-LAN-Adapter angeschlossen werden, oder wenn man einen VLAN-fähigen Switch hat, geht es auch nur mit dem einen vorhandenen Netzwerkport.
Hardware
Man benötigt natürlich einen Raspberry PI 4 am besten in einem ordentlichem Gehäuse, ausserdem eine MicroSD-Karte mit wenigstens 1GB Speicher:
Je nach Setup zusätzlich einen USB 3.0 LAN-Adapter, der von Gluon/OpenWrt unterstützt wird. Da es sich um einen Linux-Kernel handelt, gibt es Treiber für viele Hersteller, man sollte sich aber unbedingt vor dem Kauf schlau machen. Eine Liste der Chipsets für die es Treiber gibt, findet man hier: OpenWrt Netzwerk Treiber. Das Firmware-Image für den Raspberry PI 4 enthält bereits die meisten üblichen Treiber.
Firmware
Zur Installation der Firmware muss man das Firmware-Image auf die SD-Karte schreiben. Das Erstinstallations-Image zum herunterladen gibt es auf unserer Firmware-Seite:
Raspberry PI 4 Firmware Download
Die Firmware auf die SD-Karte zu flashen geht unter Linux oder Mac am einfachsten im Terminal mit dd (auf dem Mac vorher unmounten und Festplatten Vollzugriff für das Terminal erlauben):
sudo dd if=gluon-ffmuc-v2021.11.1-next1-raspberry-pi-4-model-b.img of=/dev/rdisk12 bs=65536
Unter Windows braucht man ein Programm dazu wie zum Beispiel den Win32DiskImager.
Setup
Jetzt kann man die SD-Karte in den Raspberry Pi stecken, den Computer per Netzwerkkabel anschliessen, DHCP einschalten und den Raspberry Pi starten. Nach kurzer Zeit ist die Setup-Wizard unter http://192.168.1.1 zu erreichen und der Knoten kann wie gewohnt eingerichtet werden.
Wichtig: Zuerst auf „Erweiterte Einstellungen“ gehen und dort unter „Remotezugriff“ den SSH-Key hinterlegen, so dass man später auf den Offloader zugreifen kann. Danach erst auf „Wizard“ um den Namen des Knotens und die anderen Einstellungen vorzunehmen.
Nach der Einrichtung kann der Knoten nun ans lokale Netzwerk angeschlossen werden. Er ist in der Regel nach kurzer Zeit unter dem Namen des Knotens erreichbar und man kann per SSH darauf einloggen:
% ping raspi4 ... --- raspi4.fritz.box ping statistics --- 4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.655/0.760/0.826/0.066 ms % ssh root@raspi4 BusyBox v1.33.1 (2020-12-22 03:35:17 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 21.02-SNAPSHOT, r16295+8-3a051a234a ----------------------------------------------------- root@raspi4:~#
USB 3.0 LAN Adapter
Wenn man einen USB-LAN-Adapter verwenden möchte, so kann man diesen jetzt anschliessen und sich per SSH einloggen um diesen einzurichten. Als erstes schaut man am besten mit „lsusb“ ob der Adapter erkannt wurde und als was, dann prüft man ob auch das zugehörige Ethernet-Interface schon vorhanden ist, oder ob man noch Treiber installieren muss.
root@raspi4:~# lsusb Bus 002 Device 002: ID 0bda:8153 Realtek USB 10/100/1000 LAN Bus 002 Device 001: ID 1d6b:0003 Linux 5.4.143 xhci-hcd xHCI Host Controller Bus 001 Device 002: ID 2109:3431 USB2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.143 xhci-hcd xHCI Host Controller root@raspi4:~# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:E1:33:00:00:2A BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Um Gluon jetzt beizubringen, dass ein zusätzliches Netzwerk-Interface vorhanden ist, muss man die Datei „/lib/gluon/core/sysconfig/lan_ifname“ anlegen mit dem Namens des Interfaces als Inhalt. Danach ruft man „gluon-reconfigure“ um die Konfiguration zu aktualisieren. Danach sollte „eth1“ mit ins Client-Netzwerk aufgenommen sein und nach einem Neustart des Knotens sollte ein angeschlossener Computer Freifunk-Netzwerk haben auf dem Anschluss.
root@raspi4:~# echo eth1 > /lib/gluon/core/sysconfig/lan_ifname root@raspi4:~# gluon-reconfigure Configuring: 001-upgrade Configuring: 005-set-domain ... Configuring: 998-commit Configuring: 999-version root@raspi4:~# uci show network.client.ifname network.client.ifname='local-port' 'bat0' 'eth1' root@raspi4:~# reboot
VLAN Betrieb
Wenn man einen VLAN-fähigen Switch hat, kommt man auch ohne zusätzlichen Netzwerk-Adapter aus. Man muss in diesem Fall das WAN- und LAN-Interface entsprechend für seine VLAN-Konfiguration setzen, hier in diesem Beispiel ist das WAN auf VLAN-ID 10 und das Freifunk-Netzwerk auf VLAN-ID 20.
root@raspi4:~# echo eth0.10 > /lib/gluon/core/sysconfig/wan_ifname root@raspi4:~# echo eth0.20 > /lib/gluon/core/sysconfig/lan_ifname root@raspi4:~# gluon-reconfigure Configuring: 001-upgrade Configuring: 005-set-domain ... Configuring: 998-commit Configuring: 999-version root@raspi4:~# reboot
Mesh-On-LAN
Wenn man den Offloader für ein Unifi oder Omada Mesh verwendet, ist man jetzt fertig und kann den Offloader anschliessen. Wenn man Mesh-On-LAN verwenden will und andere Freifunk-Knoten per Kabel verbinden, muss man das noch umstellen, indem man das LAN-Interface aus dem Client-Netzwerk entfernt und Mesh-On-LAN aktiviert.
root@raspi4:~# uci set network.mesh_lan.disabled=0 root@raspi4:~# uci del_list network.client.ifname=$(cat /lib/gluon/core/sysconfig/lan_ifname) root@raspi4:~# uci commit network