====== 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.