Diese Anleitung erklaert die Konfiguration eines Backbone Standorts anhand eines LeMaker BananPi (nicht Router Version) in Zusammenarbeit mit einem Mikrotik RB260GSP Managbarer POE-Switch. Die Methode sollte sich jedoch auch einfach auf einen beliebigen andere Kombination aus Gluon Router und managbarem VLAN Switch uebertragen lassen.

Installation des Gluon Systems

Zur Zeit bieten wir ein Image fuer das BananaPi nur im experimental Zweig an:

[1]

Das Image enpackt man und uebertraegt es per dd auf die SD-Karte:

 gunzip gluon-ffmz-0.3-experimental-2016.01.25-lemaker-banana-pi.img.gz
 dd if=gluon-ffmz-0.3-experimental-2016.01.25-lemaker-banana-pi.img of=/dev/mmcblk0 bs=1M 

Nun startet man das BananaPi mit der SD-Karte und verbidet sich per Netzwekkabel mit dem Pi. Unter der URL [2] fuehrt man die Gluon config incl. Remotezugriff durch. Das BananPi kann auch als VPN-Offloader benutzt werden hierfuer aktiviert man das VPN-Mesh.

Nun verbindet man das Pi mit dem lokalen Netzwerk und startet es neu. Es bezieht nun eine IP aus dem lokalem Netzwerk und ist unter dieser per ssh erreichbar. Alternativ kann man sich, wenn der VPN zugang konfiguriert ist, ueber die Freifunk-IPv6-Addresse mit dem Pi verbinden.

Konfiguration der VLANs im Gluon Router fuer Client und WAN

Da das BananaPi nur ein Netzwerkschnitstelle hat, muss man die Datenstroeme in verschiedene VLANs aufteilen.

In diesem Beispiel wollen wir das WAN-Netzwerk auf das VLAN 2 und das Client-Netzwerk auf VLAN 3 legen. Ab VLAN 4 aufwaerts kann man dann VLANs fuer die einzelnen Funkstrecken definieren.

Als erstes aendern wir die VLANs des Client- und WAN-Netzwerks. Hierzu oeffnet man die /etc/config/network und aendert den br-client und br-wan Eintrag ab:

config interface 'wan'
    option igmp_snooping '0'
    option ifname 'eth0.2' #<= eth0 in eth0.2 abaendern
    option auto '1'
    ...
    option mtu '1500'


config interface 'client'
    option type 'bridge'
    option reqprefix 'no'
    option proto 'dhcpv6'
    list ifname 'bat0'
    list ifname 'eth0.3' #<= hier den eth0.3 eintrag hinzufuegen
    option igmp_snooping '0'
    ...
    option mtu '1500'

Nach einem /etc/init.d/network reload ist das Pi dann nur noch unter den entsprechenden VLANs erreichbar. Daher muss man nun entweder auf seinem Rechner die entsprechenden VLANs einrichten oder man Konfiguriert die Switch so, dass man die entsprechenden VLANs auf bestimmte Ports legt, aus denen der Traffic dann ohne das entsprechende VLAN-Tags herausfliest.

Konfiguration der VLANs in der Switch

Konfiguration der VLANs fuer einzelnen Funkstrecken

Jede 5Ghz Antenne, die an den Standort angeschlossen wird, haengt in zwei VLANs, einmal das VLAN3 in dem sich das Client-Netz befindet, welches auf allen Antennen das gleiche ist und einem dediziertem VLAN pro Antenne, in dem nur der Batman Verkehr fuer die Clients hinter den entsprechenden Antenne laeuft. Das VLAN3 haben wir schon bei der Konfiguration des Client-VLANs angelegt. Daher muessen wir jetzt nur noch ein VLAN pro Antenne anlegen und als Eingangsgeraet zu der Batman Schnitstelle hinzufuegen. Fuer jede Antenne wird ein solcher Block nach der Bat0 Direktive hinzugefuegt:

config interface 'meshvlan4' #<= Fuer jedes VLAN einen anderen Interface Bezeichner angeben          
 option auto '1'                        
 option ifname 'eth0.4' #<= Hier waehlt man die VLAN-ID aus in diesem Fall 4               
 option mesh 'bat0'                    
 option proto 'batadv'                 
 option macaddr '02:53:05:00:A1:A9' #<= Jedes VLAN braucht seine eigenen MAC-Addresse damit Batman sie unterscheiden kann
 option mtu '1538' #<= Die MTU wird auf 1500(Ethernet)+34(Batman)+4(VLANID)=1538 gesetzt um Fragmentation zu vermeiden

Fuer die MAC Addresse zaehlt man am besten die erste Ziffer des zweiten Blocks hoch oder runter (0-9,a-f) [Gluon veraendert die zweite Ziffer]. Man muss aufpasssen, dass man keine bereits belegten MAC-Addresen an diesem Geraet erwischt. Am einfachsten geht dies nach einem "/etc/init.d/network reload" per:

# ifconfig -a |grep HW 
bat0       Link encap:Ethernet  HWaddr 02:43:05:00:A1:A9  < Gleiche MAC zwischen bat0 und br-client 
br-client  Link encap:Ethernet  HWaddr 02:43:05:00:A1:A9  < sowie eth0, eth0.2 und eth0.3  ist O.k. 
br-wan     Link encap:Ethernet  HWaddr 02:44:05:00:A1:A9  
eth0       Link encap:Ethernet  HWaddr 02:43:05:00:A1:A9  
eth0.4     Link encap:Ethernet  HWaddr 02:53:05:00:A1:A9  << Diese MACs muessen sich unterscheiden
eth0.5     Link encap:Ethernet  HWaddr 02:63:05:00:A1:A9  << Diese MACs muessen sich unterscheiden
eth0.2     Link encap:Ethernet  HWaddr 02:43:05:00:A1:A9  <
eth0.3     Link encap:Ethernet  HWaddr 02:43:05:00:A1:A9  <
local-node Link encap:Ethernet  HWaddr 02:00:0A:25:00:01  

Dies liefert eine Liste an allen vergebenen MAC-Addressen. Bei den angelegten VLANS fuer den Batman Verkehr darf es keine Ueberschneidungen mit den vorab von Gluon vergebenen MAC-Addressen geben. Innerhalb der nicht VLAN Schnitstellen duerfen jedoch gleiche MAC-Addressen auftauchen.

Sollte denoch mal eine doppelte MAC-Addresse dabei sein meckert Gluon nach einem Neustart im dmesg darueber und man erlebt die komischsten Effekte, da Batman nicht in der Lage ist Traffic von diesen beiden Schniststellen voneinander zu unterscheiden.

Setzen der MTU der eth Schnitstelle

Zugriff ueber Serielle Schnitstelle