This is an old revision of the document!
Table of Contents
Funkinsel Setup auf Freifunk Firmware
Dieses Howto beschreibt das Funkinselsetup für die Freifunk Firmware. Howtos für andere Firmware Images können auf FunkInsel gefunden werden.
Installation
OpenVPN
Zunächst muss OpenVPN installiert werden:
ipkg install openvpn-ssl-nolzo
Das Verzeichnis /etc/openvpn und darin eine Konfigurationsdatei anlegen.
mkdir /etc/openvpn cd /etc/openvpn vi ff-tunnel.conf
Hier eine Beispielkonfiguration:
client dev tap0 proto udp remote tunnel.ffgraz.net 1194 resolv-retry infinite nobind persist-key persist-tun daemon openvpn # cd /etc/openvpn # chroot /etc/openvpn # user nobody # group nogroup ca "ca.crt" cert "<name>.crt" key "<name>.key" cipher none verb 3
Diese Konfiguration geht davon aus das die Zertifikate mit denen sich der Router authentifiziert im gleichen Verzeichnis wie die Konfiguration liegt. Sollten diese woanders liegen kann dass ebenfalls mit relativen oder absoluten Pfaden angegeben werden. Die 4 auskommentierten Zeilen bringen wenn sie einkommentiert werden den OpenVPN dazu in ein chroot-jail unter dem User nodody zu laufen. Dies ist wohl auf einem Linksys etwas übertrieben aber sollte auf einem normalen System verwendet werden.
OpenVPN sollte sich nun mit folgenden Kommando starten lassen:
openvpn --config /etc/openvpn/ff-tunnel.conf
Das muss natürlich nach jedem Reboot neu gemacht werden. Am besten erledigt man das mit einem init.d Script.
vi /etc/init.d/S47openvpn
Und dann das hineinkopieren
#!/bin/sh
case $1 in
start)
openvpn --config /etc/openvpn/ff-tunnel.conf --cd /etc/openvpn/ --daemon
;;
stop)
killall openvpn
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart"
;;
esac
und ausführbar machen:
chmod +x /etc/init.d/S47openvpn
OLSR
Jetzt muss noch olsr dazu gebracht werden auf das Tunnelinterface zu lauschen:
rm /etc/local.olsrd.conf cp /rom/etc/local.olsrd.conf /etc/ vi /etc/local.olsrd.conf
und folgendes hineinkopieren:
Interface "tap1"
{
HelloInterval 6.0
HelloValidityTime 108.0
TcInterval 4.0
TcValidityTime 324.0
MidInterval 18.0
MidValidityTime 324.0
HnaInterval 18.0
HnaValidityTime 108.0
LinkQualityMult default 0.6
}
Policy Routing
In der neuen Freifunk Firmware kann man Policy Routing eine Option im Webinterface aktivieren. Die Option ist unter Verwalten → OLSR zu finden. Dies funktioniert soweit ganz gut allerdings fehlt für unser Netz noch eine Kleinigkeit ohne der unsere offiziellen IP's nicht funktionieren. Hier ein Initscript der das behebt:
vi /etc/init.d/S55fixpolicy
Folgendes reinkopieren:
#!/bin/sh ip rule add from 10.0.0.0/8 lookup olsr ip rule add to 10.0.0.0/8 lookup olsr ip rule add from 193.33.150.0/23 lookup olsr ip rule add to 193.33.150.0/23 lookup olsr
und ausführbar machen:
chmod +x /etc/init.d/S55fixpolicy
Nach einem Reboot sollte der Tunnel aufgebaut werden und die Funkinsel somit aktiv sein.
