Offloader auf Basis eines NanoPi R2S - eine Kurzanleitung von goligo.
Dieser Anleitung beschreibt das Aufsetzen eines Offloaders auf dem NanoPi R2S mit der vorhandenen Freifunk München-Firmware. Der NanoPi R2S hat zwei Ethernet-Ports, einen WAN- und einen LAN-Port und ist damit perfekt als Offloader für Freifunk geeignet. Der Prozessor des NanoPi ist schnell genug um mehr als 200MBit/s Durchsatz zu schaffen.
Man benötigt natürlich einen NanoPi R2S und eine MicroSD-Karte mit wenigstens 1GB Speicher. Auch wenn er so klein ist, muss er doch einiges leisten, man sollte ihn mit einem 3A-Netzteil (USB-C) betreiben.
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:
Das image ist gzip-komprimiert und muss erst entpackt werden bevor man das image auf die SD-Karte flashen kann.
Die Firmware auf die SD-Karte zu flashen geht unter Linux oder MacOS am einfachsten im Terminal mit dem „dd“-Befehl (auf dem Mac vorher eine evtl. bereits vorhandene Partition unmounten und Festplatten den Vollzugriff für das Terminal erlauben):
sudo dd if=gluon-ffmuc-<aktuelle version>-friendlyelec-nanopi-r2s.img of=/dev/<sdcard device> bs=65536
Unter Windows braucht man dazu ein Programm wie zum Beispiel den Win32DiskImager oder Rufus.
Jetzt kann man die SD-Karte in den NanoPi R2S stecken, den Computer direkt per Netzwerkkabel an den LAN-Port anschließen, DHCP aktivieren und den NanoPi R2S starten. Nach kurzer Zeit ist die Setup-Wizard im Browser unter http://192.168.1.1 zu erreichen und der neue NanoPi-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 Knoten zugreifen kann. Danach erst auf „Wizard“ gehen, um den Knotennamen und die restlichen Einstellungen vorzunehmen.
Nach der Einrichtung kann der Knoten nun vom Einrichtungscomputer abgesteckt und ans lokale Netzwerk angeschlossen werden. Er ist in der Regel nach kurzer Zeit unter dem Namen des Knotens erreichbar und man kann sich per SSH darauf einloggen.
Hier folgt ein Beispiel mit dem Knotennamen „nanopi“ und dem Knoten angeschlossen an einer AVM Fritz!Box:
% ping nanopi ... --- nanopi.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@nanopi 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@nanopi:~#
Wenn man den Offloader für ein Unifi- oder Omada-Mesh verwendet, ist man jetzt fertig und kann den Offloader anschließen. Wenn man Mesh-On-LAN verwenden und andere Freifunk-Knoten per Kabel verbinden will, muss man das noch umstellen, indem man das LAN-Interface aus dem Client-Netzwerk entfernt und Mesh-On-LAN aktiviert.
root@nanopi:~# uci del_list gluon.iface_lan.role='client' root@nanopi:~# uci add_list gluon.iface_lan.role='mesh' root@nanopi:~# uci commit gluon root@nanopi:~# gluon-reconfigure Configuring: 001-upgrade Configuring: 005-set-domain ... Configuring: 998-commit Configuring: 999-version root@nanopi:~# service network restart
Wenn man sowohl Mesh als auch Client-Netz auf dem LAN-Port haben will, so muss man ein zusätzliches Interface dafür anlegen, wo der Name auf das entsprechende VLAN gesetzt wird:
root@nanopi:~# uci del_list gluon.iface_lan.role='client' root@nanopi:~# uci add_list gluon.iface_lan.role='mesh' root@nanopi:~# uci set gluon.iface_vlan=interface root@nanopi:~# uci set gluon.iface_vlan.name='eth1.10' root@nanopi:~# uci add_list gluon.iface_vlan.role='client' root@nanopi:~# uci commit gluon root@nanopi:~# gluon-reconfigure Configuring: 001-upgrade Configuring: 005-set-domain ... Configuring: 998-commit Configuring: 999-version root@nanopi:~# service network restart