# aptitude install git
$ mkdir /opt/freifunk
$ git clone https://github.com/FreifunkChemnitz/server-scripts.git /opt/freifunk/server-scripts
B.A.T.M.A.N. wird als Routing-Protokoll im Mesh genutzt. Die Version aus den Debian Paketquellen ist deutlich veraltet und nicht mehr nutzbar für unser Mesh.
Zuerst müssen die Abhängigkeiten für alfred batctl und batman_adv. Für x64 z.B.:
# aptitude install build-essential linux-headers-amd64 pkg-config libnl-3-dev libnl-genl-3-dev libcap-dev
$ git clone $URL
$ cd path/to/batman
$ make
# make install
$ wget -O - $realeaseFromHomepage | tar xz
$ cd batctl
$ make
# make install
$ wget -O - $releaseFromHomepage | tar xz
$ cd alfred
$ make
# make install
Ist ein Routing Deamon zur Verbindung mit anderen Netzen.
# aptitude install bird
Wenn sys-V-init verwendet wird:
# update-rc.d bird disable
# update-rc.d bird6 disable
Wenn systemd verwendet wird:
# systemctl disable bird
# systemctl disable bird6
fastd wird genutzt um ein VPN zwischen den Freifunk-Knoten und den Uplink-Servern aufzubauen
fastd ist in debian jessie noch nicht verfügbar. Daher muss erst noch jessie-backports eingerichtet werden. Dazu fügt man in /etc/apt/sources.list.d/backports.list folgendes ein:
deb http://httpredir.debian.org/debian/ jessie-backports main
Anschließend führt man noch folgendes aus:
# apt-get update
# apt-get install fastd
Wenn sys-V-init verwendet wird:
# update-rc.d fastd disable
Wenn systemd verwendet wird:
# systemctl disable fastd
Der von uns genutzte DHCP Server und DNS Cache.
# aptitude install dnsmasq-base
OpenVPN wird genutzt, wenn sich mit dem VPN03 vom Freie Netze e.V. verbunden werden soll. Soll dies nicht gemacht werden, braucht man auch kein OpenVPN.
# aptitude install openvpn
Wenn sys-V-init verwendet wird:
# update-rc.d openvpn disable
Wenn systemd verwendet wird:
# systemctl disable openvpn
cd /opt/freifunk/server-skripts/conf
cp bird.conf bird.local.conf
cp bird-routes.conf bird-routes.local.conf
cp dnsmasq.conf dnsmasq.local.conf
cp general.conf general.local.conf
touch bird-routes.local.conf
touch vpn03.local.key
In der bird.local.conf muss __BIRD_ROUTER_ID__ angepasst werden. Es ist mit mit 169.254.x.y zu ersetzen, wobei x das 3. Oktet und y das 4. Oktet der öffentlichen IPv4 des Servers sind. Wenn der Server die öffentliche IPv4 5.199.142.119 hat, wäre das 169.254.142.119.
__BIRD_ROUTER_ASN__ muss durch das 3. und 4. Oktet der öffentlichen IPv4 ersetzt werden, wobei der Punkt wegzulassen ist. Zum Beispiel wird aus 5.199.142.119 dann 142119.
Auf Servern, die für das Chemnitzer Umland bestimmt sind ist das route unter protocol static anzupassen. Es muss auf 10.149.16.0/20 geändert werden.
__DNSMASQ_SERVICE_IP__ muss durch eine freie IPv4 Adresse im Service Netzbereich von Freifunk Chemnitz ersetzt werden. Eine Adresse ist beim Team zu erfragen.
Auf Servern für das Chemnitzer Umland muss "dhcp-range" auf "10.149.17.0,10.149.30.255,255.255.240.0,30m"
Alle Zeilen, die nicht geändert werden, sollten aus der Datei gelöscht werden.
WANIP ist durch die öffentliche IPv4 Adresse des Server zu ersetzen. ip -4 addr show dev eth0
WANGW6 ist durch das IPv6 Gateway des Servers zu ersetzen. ip -6 route show
SERVICE_ADDRESSES ist durch die IPv4 Adresse zu ersetzen, die auch in der dnsmasq.local.conf als __DNSMASQ_SERVICE_IP__ genutzt wurde.
Wenn die entsprechende Funktion genutzt werden soll, ist die Variable auf 1 zu setzen. Nicht zu nutzende Funktionen sind auf 0 zu setzen.
USE_FASTD="1"
USE_BIRD="1"
USE_DNSMASQ="0"
USE_RADVD="0"
USE_VPN03="0"
USE_MESHVIEWER="0"
COUNTRY ist auf den 2 stelligen ISO-Code des Landes zu ändern, in dem der Server betrieben wird.
APIKEY wird vom Freifunk Chemnitz Team vergeben und ist daher zu erfragen.
WANGW ist das IPv4 Gateway des Server. ip route show
GRE_PEERS, LOG_DEBUG, LOG_TO sollte gelöscht werden.
Im Umland ist BATMAN_IFS auf die für das Umland bestimmten Server zu ändern.
Wenn der Server sich mit dem VPN03 vom Freie Netze e.V. verbinden soll, muss man sich einen Schlüssel unter https://wiki.freifunk.net/VPN03 organisieren und diesen als vpn03.local.key speichern.
# ln -s /opt/freifunk/server-scripts/initd-ffc.sh /etc/init.d/ffc
# update-rc.d ffc defaults
# update-rc.d ffc enable
Die Zeile * * * * * /opt/freifunk/server-scripts/initd-ffc.sh watchdog zu CRON hinzufügen. Zum Beispiel per crontab -e -uroot