B.A.T.M.A.N.
B.A.T.M.A.N. (Abkürzung für Better Approach To Mobile Adhoc Networking) ist ein Routingprotokoll für mobile Ad-hoc-Netze. Siehe WikiPedia. heri wird beschrieben, wie B.A.T.M.A.N. auf einen Debian System eingerichtet wird.
Die Verbindung zu den Servern im Internet erfolgt über einen Tunnel. Bei Freifunk Rheinbach wird der Tunnel mittels fastd aufgebaut. Router, die in WLAN Reichweite zueinander stehen, ein MESH-Netzwerk. Darüber hinaus können sich die Router auch über Kabel vermaschen. Auf diesen Verbindungen wird das Routingprotokoll B.A.T.M.A.N.verwendet.
Hier wird beschrieben, wie ein Rechner unter Debian direkt (ohne einen Router) mit den Servern im Internet verbunden wird.
Installation
B.A.T.M.A.N. installieren
Das folgende Script installiert auf einem Debian 8 die notwendige Software - einschließlich fastd. Je nach System kann es notwendig sein zusätzliche Pakete zu installieren. Das folgende Script wurde auf einem frischen Debian 8.7.1 getestet, auf dem nur ein Chipkartenleser unter Moneyplex vorher zum Laufen gebracht wurde.
#!/bin/bash VBAT="2016.5" grep 'http://repo.universe-factory.net/debian/' /etc/apt/sources.list || echo 'deb http://repo.universe-factory.net/debian/ sid main' >> /etc/apt/sources.list gpg --keyserver pgpkeys.mit.edu --recv-key 16EF3F64CB201D9C gpg -a --export 16EF3F64CB201D9C | apt-key add - apt install apt-transport-https apt update apt install build-essential pkg-config libnl-3-dev libnl-genl-3-dev linux-headers-amd64 fastd cd /usr/src/ wget http://downloads.open-mesh.org/batman/stable/sources/batctl/batctl-${VBAT}.tar.gz tar xzf batctl-${VBAT}.tar.gz cd batctl-${VBAT} make make install cd /usr/src/ wget http://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-${VBAT}.tar.gz tar xzf batman-adv-${VBAT}.tar.gz cd batman-adv-${VBAT} make make install modprobe batman-adv grep '^batman-adv' /etc/modules || echo -e '#B.A.T.M.A.N für Freifunk'\nbatman-adv' >> /etc/modules mkdir -p /etc/fastd/ffrhb/peers
In das Verzeichnis /etc/fastd/ffrhb muss jetzt die folgende Datei fastd.conf kopiert werden:
# Log warnings and errors to stderr log level warn; # Log everything to syslog log to syslog level warn; # Set the interface name interface "mesh-vpn"; # Support salsa2012+umac and null methods, prefer salsa2012+umac method "salsa2012+umac"; method "null"; mode tap; # Bind to a fixed port, IPv4 only bind 0.0.0.0:53757; # Secret key generated by `fastd --generate-key` secret "e0e07c1462748f4b0f36423c0ce5c4169e48354a07a3b908435f8ab128259c53"; # Secret: e0e07c1462748f4b0f36423c0ce5c4169e48354a07a3b908435f8ab128259c53 # Public: 72dc4c1aa15cfe4ae5d54caccd8efbd1af8848770843b26a58ed2fb8edb82d50 secure handshakes yes; # Set the interface MTU for TAP mode with xsalsa20/aes128 over IPv4 with a base MTU of 1492 (PPPoE) # (see MTU selection documentation) mtu 1364; peer limit 1; # Include peers from the directory 'peers' include peers from "/etc/fastd/ffrhb/peers"; on up " ip link set up dev $INTERFACE batctl if add $INTERFACE ip link set up dev bat0 ";
In das Unterverzeichnis peers kommen die Dateien mesh_vpn_backbone_peer_wupper<n> mit den öffentlichen Schlüsseln der Server im Internet. <n> ist dabei die Numer des Servers (0-9).
key "e52daa654abcf5c20c5b7a74b5145f70a7491435c6ef334ae352e4f19c00e8f5"; remote "0.wupper.ffrl.de" port 53757;