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