fastd

Ordnerstruktur:

/etc/fastd/mzVPN - Config für Mainz
/etc/fastd/mzVPN/peers - Peers für Mainz
/etc/fastd/mzVPN/peers/servers - Peer-files für Server&Gates für Mainz
/etc/fastd/wiVPN - Config für Wiesbaden
/etc/fastd/wiVPN/peers - Peers für Wiesbaden
/etc/fastd/wiVPN/peers/servers - Peer-files für Server&Gates für Wiesbaden

(Die Verzeichnisse peers/servers sollen nicht manuell angelegt werden, sie sind jeweils Teil der repositories.)

Die peers aus dem git klonen:

git clone https://github.com/freifunk-mwu/peers-ffmz /etc/fastd/mzVPN/peers
git clone https://github.com/freifunk-mwu/peers-ffwi /etc/fastd/wiVPN/peers

Bemerkung

Damit die Backend Scripts zum synchronisieren der Keys korrekt funktionieren (die Änderungen pushen dürfen), sollte man sich zunächst um die Einrichtung dessen kümmern.

Danach wird entweder die Repo-Adresse in der /etc/fastd/xyVPN/peers/.git/config direkt angepasst oder man klont die Repos neu:

git clone ssh://github_mwu/freifunk-mwu/peers-ffxy /etc/fastd/xyVPN/peers

Für die Backend Scripts muss der Nutzer darin schreiben dürfen:

sudo chown -R admin:admin /etc/fastd/*/peers/

Konfiguration

/etc/fastd/mzVPN/fastd.conf:

log level warn;
hide ip addresses yes;
hide mac addresses yes;

interface "mzVPN";

method "salsa2012+umac";    # new method (faster)

# Bind von v4 and v6 interfaces
bind $eure_externe_ip4:10037;
bind [$eure_externe_ip6]:10037;

include "secret.conf";
mtu 1406; # 1492 - IPv4/IPv6 Header - fastd Header...

peer group "vpn_nodes" {
#    pe#er limit 123; # preparation for balancing
    include peers from "peers";
    # attention: currently additionally include bingen in mz
}

peer group "servers" {
    include peers from "peers/servers";
}

status socket "/var/run/fastd-mainz.status";

/etc/fastd/wiVPN/fastd.conf:

Analog zu Mainz (Ports anpassen 10037 -> 10056)

Schlüsselpaar generieren

Das Schlüsselpaar schreibt man sich am besten in ein Tempfile:

fastd --generate-key >> /etc/fastd/wiVPN/MEINTEMPFILE

dauert manchmal ein bisschen :) keep calm :) Wenn euch das zu langsam ist, installiert euch den haveged daemon um mehr Entropie zu generieren. (Achtung: das Tempfile am Schluss entweder löschen, oder Zugriffsrechte beschränken.)

Das ganze sieht dann so aus:

/etc/fastd/wiVPN/MEINTEMPFILE:

Secret: "0000..ffff"
Public: "ffff..0000"

daraus die passenden Files erstellen (auf das ;-Zeichen achten, Groß-/Kleinschreibung beachten! ):

/etc/fastd/wiVPN/secret.conf:

secret "0000..ffff";

/etc/fastd/wiVPN/peers/GW_Nickname (z.B. Lotuswurzel, Spinat, Popcorn):

key "ffff...0000";

Achtet auf die korrekten Schreibweisen in der Gw_Nickname und der secret.conf! Groß- und Kleinschreibung sowie das Semikolon am Ende sind wichtig, ansonsten kann es dazu kommen, dass die Bridge, Batman und VPN interfaces nicht hochkommen.