====== Server als Knoten ====== 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 /etc/init.d/hostname.sh Pakete installieren apt-get install bridge-utils iptables-persistent haveged ntpdate sudo ===== Mesh-VPN mit fastd ===== 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.** 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 ip link set up dev $INTERFACE batctl if add $INTERFACE "; /etc/fastd/ffpi/secret.conf secret ""; 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.