Debian-Server ins Freifunk einbinden

Artikel veraltet - Muss ueberarbeitet werden - Kann aber verwendet werden

todo:
  • Anpassungen an systemd dokumentieren

"Freies Netz" bedeutet nicht nur, dass jeder teilnehmen, sondern auch, dass man eigene Dienste im Netz anbieten kann. Gerade kleine Rechner wie der Raspberry Pi eignen sich gut als kleine Server und für Experimente.

Server an einen Freifunk-Router anschließen

Die meisten Freifunk-Router stellen nicht nur WLAN zur Verfügung, sondern bieten auch Ethernet-Schnittstellen, über die ein Computer per Kabel angebunden werden kann. Wenn dieser Rechner offene Ports hat sind diese sofort im Freifunk-Netz verfügbar.

Internet-Server ins Freifunk-Netz verbinden

Statt einem kleinen Heim-Rechner kann man auch einen Server im Internet nutzen. Normalerweise ist es jedoch einigermaßen schwer den Hoster dazu zu bewegen einen Freifunk Router in sein Netz zu hängen. Deshalb ist es schön, wenn man sein Schätzchen nativ anbinden kann. Im Folgenden haben wir einmal in Kurzform eine kleine Anleitung für Debian zusammen getragen. Diese Anleitung ist nicht für Experimente geeignet! Wenn du nicht genau weißt was du tust kannst du schlimmstenfalls unser Netz stören und dich sehr unbeliebt machen. Falls du dennoch ein schönes Projekt hast, melde dich doch einfach bei uns, damit wir dir ggf. ein wenig Support geben können ;)


Während diese Hilfestellung natürlich von Hand funktioniert, empfiehlt sich zeitsparender Weise der Blick in die Ansible Repo:

https://github.com/freifunkh/ansible/tree/master/roles

Im wesentlichen will man die Rollen "mesh_fastd_remotes_backbone" sowie "mesh_fastd". Achtung: wähle die backbone, nicht die peers Rolle!


Fastd-Repo eintragen: /etc/apt/sources.list

deb http://repo.universe-factory.net/debian/ sid main
Schlüssel eintragen:

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

apt-get update 
apt-get install batctl batman-adv-dkms fastd bridge-utils
Kernelmodul eintragen: /etc/modules

batman-adv

mkdir -p /etc/fastd/mesh_fastd/peers

Im nächsten Schritt wird eine lokale Unicast MAC Adresse benötigt, die hier erwürfelt werden kann: MAC Generator

/etc/fastd/mesh_fastd/fastd.conf

log to syslog level debug; 
interface "mesh_fastd"; 
method "salsa2012+umac"; 
bind 0.0.0.0:10000; 
status socket "/tmp/mesh_fastd.sock";
include "secret.conf"; 
mtu 1394; 
include peers from "peers"; 
on up " 
    ifup bat0 
    ip link set address AA:BB:CC:DD:EE:FF up dev $INTERFACE # Bitte eindeutige MAC einsetzen
";
/etc/network/interfaces

#freifunk-mesh-interfaces
auto br-ffh 
iface br-ffh inet6 static
    bridge-ports none
    #Feste IPv6 beim Projekt erfragen
    address fdca:ffee:8::xxxx
    netmask 64 
iface br-ffh inet static
    #Feste IPv4 beim Projekt erfragen
    address 10.2.xx.xx
    netmask 255.255.0.0
    allow-hotplug bat0
iface bat0 inet6 manual
    pre-up modprobe batman-adv
    pre-up batctl if add mesh_fastd
    up ip link set $IFACE up
    post-up brctl addif br-ffh $IFACE
    post-up batctl it 10000
    post-up /sbin/ip rule add from all fwmark 0x1 table 42
    pre-down brctl delif br-ffh $IFACE || true
    pre-down /sbin/ip rule del from all fwmark 0x1 table 42
    down ip link set $IFACE down
Private Key generieren (den Pubkey einfach an keys@hannover-freifunk.net senden, um kommunizieren zu können)
fastd --generate-key
echo "secret \"<private-key>\";" > /etc/fastd/mesh_fastd/secret.conf
Herunterladen der öffentlichen Schlüssel der Gateways

cd /etc/fastd/mesh_fastd/peers
curl https://raw.githubusercontent.com/freifunkh/ansible/master/roles/mesh_fastd_remotes_backbone/templates/backbone.conf.j2 > gatewayjinjafile
for num in {01..09}; do grep -B1 sn$num.ffh gatewayjinjafile | sed -e 's/^[ \t]*//' > sn$num; done
rm gatewayjinjafile
Bridge-Interface starten, Kernel-Modul laden, Fastd starten

brctl addbr br-ffh 
ifup br-ffh 
modprobe batman-adv 
service fastd start
Impressum -- Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.