Ausgangspunkt ist eine Debian Minimalinstallation Jessy 8.2. Dedizierter Server oder KVM-VM wird vorausgesetzt.
Hostnamen setzen
vi /etc/hostname → nur Namen, nicht FQDN hostname <neuername> /etc/init.d/hostname.sh
Pakete installieren
apt-get install bridge-utils iptables-persistent haveged ntpdate sudo
Am besten fastd selber kompilieren. Das ist ziemlich einfach.
adduser --system --group --uid 300 --shell /bin/sh --disabled-password \ --gecos 'Fast and Secure Tunneling Daemon'\ --no-create-home --home /etc/fastd fastd
Alternativ kann auch ein zusätzliches Repository für fastd benutzt werden.
/etc/apt/sources.list
[...] deb http://repo.universe-factory.net/debian/ sid main
Anschließend Signierungschlüssel importieren und die Paketliste aktualisieren
gpg --keyserver pgpkeys.mit.edu --recv-key 16EF3F64CB201D9C gpg -a --export 16EF3F64CB201D9C | apt-key add - aptitude update
Verzeichnisstruktur
mkdir -p /etc/fastd/ffpi/backbone
Gateway aus https://github.com/freifunk-pinneberg/site-ffpi einfügen
Eigner einstellen
chown -R fastd /etc/fastd
aptitude install fastd fastd --generate-key > /etc/fastd/keys chmod 600 /etc/fastd/keys
Die auskommentierte Zeile im up-Script kann erst nach dem 2. Start benutzt werden. Beim Starten wird eine MAC-Adresse automatisch erzeugt, die dann in das Script übernommen werden muss.
<file conf /etc/fastd/ffpi/fastd.conf>
log level warn; log to syslog level debug2; interface "mesh-vpn"; method "salsa2012+umac"; method "salsa2012+gmac"; bind 0.0.0.0:10000; include "secret.conf"; secure handshakes yes; mtu 1426; user "fastd"; group "fastd"; include peers from "backbone"; on up " ifup bat0 # ip link set dev $INTERFACE address <HIER GENERIERTE MAC EINTRAGEN> ip link set up dev $INTERFACE batctl if add $INTERFACE ";
/etc/fastd/ffpi/secret.conf
secret "<privater schlüssel>";
Der Public Key muss nun wie ein normaler Knoten als Peer auf den Gateways eingetragen werden. Batman
für Gluon 2015.1 und batman_adv 2015.0
Die folgenden Software-Pakete sind nicht im Debian-Standard enthalten, wir kompilieren sie von Hand:
batman_adv batctl batman-vis alfred
aptitude install build-essential pkg-config linux-headers-$(uname -r)
batman-adv erstellen
cd /usr/src wget http://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2015.0.tar.gz tar xzf batman-adv-2015.0.tar.gz cd batman-adv-2015.0/ make make install
batctl erstellen
cd /usr/src aptitude install libnl-3-dev wget http://downloads.open-mesh.org/batman/stable/sources/batctl/batctl-2015.0.tar.gz tar xzf batctl-2015.0.tar.gz cd batctl-2015.0 make make install
Das kernel-Modul muß anschließend geladen werden
modprobe batman-adv
Zum automatischen Starten dann in /etc/modules eintragen
Überprüfen ob alles soweit geklappt hat:
$ batctl -v batctl 2015.0 [batman-adv: 2015.0]
Netzwerkkonfiguration
Die folgende Datei muß mit den jew. eigenen Adressen konfiguriert werden. Dieses Beispiel ist von ffpi-services abgeleitet.
Die IP-Adresse für die Bridge ist im vornherein mit den Gateway Administratoren zu klären.
/etc/network/interfaces
auto lo eth0 iface lo inet loopback iface eth0 inet static address 10.0.89.120 netmask 255.255.255.0 network 10.0.89.0 broadcast 10.0.89.255 gateway1 0.0.89.1 dns-nameservers 108.61.210.58 #Freifunk Pinneberg Bridge-Interface (IPv4 und IPv6) #- bridge_ports none sorgt dafür, daß die Brücke auch ohneInterface erstellt wird auto br-ffpi iface br-ffpi inet6 static bridge-ports none #iPv6 fde8:21c6:9d82::0000/64 address unbelegte iPv6 Adresse netmask 64 iface br-ffpi inet static #iPv4 10.137.12.1/16 address unbelegte iPv4 Adresse netmask 255.255.0.0 allow-hotplug bat0 iface bat0 inet6 manual pre-up modprobe batman-adv pre-up batctl if add mesh-vpn up ip link set $IFACE up post-up brctl addif br-ffpi $IFACE post-up batctl it 10000 post-up batctl gw client pre-down brctl delif br-ffpi $IFACE || true down ip link set $IFACE down
Abschluss
Wenn alles richtig gemacht wurde, kann der Server innerhalb des FFPI Netzwerks gepingt werden.