## page was renamed from FunkInselAlt ## page was renamed from FunkInsel <> = Funkinsel Setup auf Freifunk Firmware = {i} Dieses Howto beschreibt das Funkinsel Setup für die Freifunk Firmware. Howtos für andere Firmware Images können auf der Seite FunkInsel gefunden werden. == Installation == === Grundvoraussetzungen === Damit der Tunnel aufgebaut werden kann, muss der Router über aktuelles Datum und Uhrzeit verfügen! Möglichkeiten, dies zu gewährleisten finden sich hier: https://openwrt.org/docs/guide-user/services/ntp/client-server Eventuell muss ein Gateway eingetragen werden, über das ein öffentlicher DNS (1.1.1.1, 9.9.9.9, ...) erreicht werden kann, sodass Zeitsynchronisation klappt. das openvpn Paket holt man am besten mit dieser Methode: wget http://windorf.ffgraz.net/download/linksys/ipkg.conf -O /etc/ipkg.conf oder noch bequemer: wget http://windorf.ffgraz.net/download/linksys/setup.sh && sh setup.sh Für den LINKSYS WRT54GL wird Firmware 1.6.36 empfohlen. === 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 tun.graz.funkfeuer.at 1194 resolv-retry infinite nobind persist-key persist-tun # cd /etc/openvpn # chroot /etc/openvpn # user nobody # group nogroup ca "ca.crt" cert ".crt" key ".key" ns-cert-type server 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/Buffalo etwas übertrieben aber sollte auf einem normalen System verwendet werden. Zum Testen kann OpenVPN nun mit folgenden Kommando starten lassen: {{{ # insmod tun # openvpn --config /etc/openvpn/ff-tunnel.conf }}} Das muss natürlich nach jedem Reboot neu gemacht werden. Am besten erledigt man das mit einem Initscript. {{{ # vi /etc/init.d/S47openvpn }}} Und dann das hineinkopieren {{{#!sh #!/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" exit 1 ;; esac exit 0 }}} und ausführbar machen: {{{ # chmod +x /etc/init.d/S47openvpn }}} === OLSR === Jetzt muss noch OLSRd 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 "tap0" { HelloInterval 3.0 HelloValidityTime 125.0 TcInterval 2.0 TcValidityTime 500.0 MidInterval 25.0 MidValidityTime 500.0 HnaInterval 10.0 HnaValidityTime 125.0 LinkQualityMult 10.12.11.1 0.2 } }}} Mit Hilfe der Zeile ''!LinkQualityMult ...'' lässt sich die ETX für den Tunnel künstlich verschlechtern. Dies kann Sinn machen wenn der Tunnel als reines Backup gedacht ist und nur dann zum Zuge kommen soll wenn der Funklink ausfällt. Das obige Beispiel würde den ETX Wert von normal ''1.0'' auf ''5.0'' erhöhen. == Policy Routing == In der neuen Freifunk Firmware kann man Policy Routing über 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: {{{#!sh #!/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 ip rule add from 89.106.208.0/21 lookup olsr ip rule add to 89.106.208.0/21 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. ---- . CategoryHowto