VPN Offloader

Aus Thomas Wiki
Zur Navigation springen Zur Suche springen

Hier folgt eine kurze Beschreibung über die Installation eiens VPN Offloader für Freifunk.

So eine richtig gute Beschreibung habe ich noch nicht gefunden; diese ist es auch nicht, soll es aber mal werden und kommt dann ins Freifunk wiki Rheinbach.

Im ersten Ansatz hangele ich mich an der Beschreibung von ffmuc entlang.


Was ist ein VPN Offloader

Ein VPN Offloader ist ein möglichst leistungsstarker Rechner, der im Freifunknetz eine VPN-Verbindung zu den Supernodes aufbaut und die einfachen Nodes von der Verschlüsselung entlastet. In der Regel erreichen einfache Router nur eine Geschwindigkeit von 10 MBit/s, weil die CPU die Daten nicht schneller verschlüsseln kann. Hier hilft eine VPN-Offloader, der je nach Leistung 80 Mit/s und mehr erreichen kann und damit die eigene Internetverbindung dicht macht.

Was wir brauchen

Einen schnellen Rechner oder Router. Hier habe ich mich für einen ganzen Rechner entschieden. Als Betriebssystem nehme ich Debian 8.5 Jessy. Es geht sicher auch unter OpenSuSE, aber da ist das besorgen der aktuellen Software etwas aufwändiger, da es keine geeigneten Paketquellen als RPM gibt.

Als Software brauchen wir zusätzlich

  • fastd
  • batctl (am besten passend zu den Supernodes, wie neuere und ältere Versionen miteinander funktionieren, kann ich nicht sagen.
  • batman-adv passend zu batctl

Installation

fastd

Für fastd gibt es eine Paketquelle, die wir unseren Quellen in /etc/apt/sources.list mit der folgende Zeile hinzufügen:

deb http://repo.universe-factory.net/debian/ sid main

Die folgende Befehle fügen anschließend die GnuPG-Schlüssel der Quelle in die Paketverwaltung ein.

gpg --keyserver pgpkeys.mit.edu --recv-key 16EF3F64CB201D9C
gpg -a --export 16EF3F64CB201D9C | apt-key add -

Mit folgenden Befehl werden die für fastd benötigten Pakete installiert.

apt install apt-transport-http
apt update
apt install build-essential pkg-config libnl-3-dev linux-headers-amd64 fastd

Bei mir war ein apt-get install apt-transport-https erforderlich. Pakete die schon früher installiert wurden, müssen natürlich nicht erneut installiert werden.

batctl 2015.2

Siehe Open-Mesh Wiki Wichtig! nur die passende Version (derzeit 2015.2) verwenden.

cd /usr/src/
wget http://downloads.open-mesh.org/batman/stable/sources/batctl/batctl-2015.2.0.tar.gz
tar xzf batctl-2015.2.0.tar.gz
cd batctl-2015.2.0
make
make install

batman-adv 2015.2

Siehe Open-Mesh Wiki Wichtig! nur die passende Version (derzeit 2015.2) verwenden.

cd /usr/src/
wget http://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2015.2.0.tar.gz
tar xzf batman-adv-2015.2.0.tar.gz
cd batman-adv-2015.2.0
make
make install
modprobe batman-adv

In /etc/modules muss die folgende Zeile eingefügt werden, um das Module batman-adv beim Neustart automatisch zu laden.

batman-adv

Config

fastd

fastd --generate-key
2015-12-01 17:13:46 +0100 --- Info: Reading 32 bytes from /dev/random...
Secret: 98ca57a85ca291bae54c844e916b500d42cbfe68fdc5cda431eb81a42fa84540
Public: e2dd57385916c211969632a2934d6d0a7b6831487851510dfb13f634fdec7a24
mkdir /etc/fastd/ffmuc /etc/fastd/peers

/etc/fastd/ffmuc/fastd.conf Secret key mit generiertem ersetzen

# Secret key generated by `fastd --generate-key`
secret "98ca57a85ca291bae54c844e916b500d42cbfe68fdc5cda431eb81a42fa84540";

# use warn or error loglevel for production use
log level debug;
log to syslog level debug;

# name des tunnel interface
interface "mesh-vpn";

# Akzeptierte Verschlüsselungsmethoden. Muss auch vom Gateway angeboten werden.
method "salsa2012+umac";

bind 0.0.0.0:10000;

# Die MTU muss mit der des Gateways übereinstimmen. Im Zweifelsfall bitte nachfragen.
mtu 1426;

# im Ordner "peers" je eine Datei pro VPN-Peer anlegen
include peers from "/etc/fastd/peers";

on up "
  ip link set dev $INTERFACE up
  batctl if add $INTERFACE
  ip link set up dev bat0
";