User Tools

Site Tools


funkinselfreifunk

This is an old revision of the document!


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.

funkinselfreifunk.1224559838.txt · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki