Dies ist eine alte Version des Dokuments!
Um einen Computer manuell mit dem Bielefelder Freifunk-Netz zu verbinden (also ohne die Firmware für WLAN-Router), muss zuerst batman-adv und fastd installiert sein.
Fastd konfigurieren
Fastd ist ein VPN Programm um einen Knoten mit einem der Server im Internet zu verbinden. Über diese Verbindung, bzw. den Server, sind alle anderen Router erreichbar.
Zuallerst werden ein paar Verzeichnisse und Dateien angelegt:
mkdir /etc/fastd mkdir /etc/fastd/backbone mkdir etc/fastd/backbone
/etc/fastd/fastd.conf
log to syslog level info; bind any; method "salsa2012+gmac"; log to syslog level info; mode tap; interface "fastd_mesh"; mtu 1406; forward no; secure handshakes yes; include peers from "/etc/fastd/peers"; peer group "backbone" { peer limit 1; include peers from "/etc/fastd/backbone"; }
Es muss noch ein secret generiert werden:
secret=`fastd --generate-key --machine-readable` echo "secret \"$secret\";" >> /etc/fastd/fastd.conf
Nun folgen die Schlüssel für die Server:
/etc/fastd/backbone/vpn1
key "d7822baec77e7f6572ae9298b5506191e00f9eeaac1db4aba6e3c280678cac3c"; float no; remote "vpn1.freifunk-bielefeld.de" port 1234
/etc/fastd/backbone/vpn2
key "5369f843d41a89c107fe1839b1683e14869046252bb7af734f7d67b2711dd9cc"; float no; remote "vpn2.freifunk-bielefeld.de" port 1234;
/etc/fastd/backbone/vpn3
key "c1f20f98bf22860aac43796c70387651c832c8e7c067761b262850567deab06e"; float no; remote "vpn3.freifunk-bielefeld.de" port 1234;
Nun kann fastd gestartet werden:
fastd --config /etc/fastd/fastd.conf --daemon
Fastd verbindet sich nun mit einem der drei VPN-Server. Das erstellte interface fastd_mesh empfängt nun Pakete des Mesh-Protokolls.
batman-adv konfiguration
Als erstes wird batman-adv als Kernel-Modul geladen:
modprobe batman-adv
.. und fastd_mesh hinzugefügt.
batctl if add fastd_mesh
Mit „batctl o“ können jetzt bereits die bekannten Knoten angezeigt werden. Sind viele Einträge zu sehen mesht der Knoten erfolgreich.
bat0 kapseln wir noch in einer bridge um eventuell in Zukunft noch ein AccessPoint-Interface hinzufügen zu könnnen:
brctl addbr br-public brctl addif bat0
Jetzt noch alle interfaces aktivieren:
ifconfig fastd_mesh up ifconfig bat0 up ifconfig br-public up
br-public ist der Zugang zum Freifunk-Netz und bekommt noch eine zufällige IP-Adresse aus dem Bereich 10.29.0.0/16:
ifconfig bat0 10.29.x.y
IPv6 Adressen werden über Prefix-Announcements automatisch vergeben.
Ein paar Einstellungen
echo "client" > /sys/class/net/bat0/mesh/gw_mode echo "3000" > /sys/class/net/bat0/mesh/orig_interval echo "1" > /sys/class/net/bat0/mesh/bridge_loop_avoidance
WLAN AccessPoint
Ein AccessPoint (AP) dient dazu, das z.B. Smartphones und Laptops mit dem Freifunknetz verbinden können. Dazu wird ein AP, ohne Verschlüsselung und Passwort (nennen wir es mal wlan_ap) , eingerichtet. Als SSID ist hier „bielefeld.freifunk.net“ geignet. Ein solcher AP kann mit hostapd konfiguriert werden. Wichtig ist nur darauf zu achten das der DHCP-Server auf br-public läuft, das AP-Interface jedoch zu br-public hinzugefügt wird:
brctl addif wlan_ap
WLAN Ad-Hoc
Ein Ad-Hoc Anschluss dient dazu, die Kommunikation zwischen Knoten, oftmals WLAN-Routern, herzustellen. Über diese Verbindung läuft das Mesh-Routing-Protokoll von batman-adv. Dies kann auch mit hostapd geschehen. Die SSID ist hier egal, in Bielefeld wird mesh_v14 verwendet (14 ist die Kompatibiltätsversion des Routingprotokolls). Die BSSID muss dagegen auf „“ gesetzt werden. Sonst ist kein meshen möglich. Das Ad-Hoc interface wird ebenso wie fast_mesh zu batman-adv/bat0 hinzugefügt:
batctl if add fastd_mesh
TODO: Adresse eines Gateways ins Internet empfangen.