User Tools

Site Tools


funkinseldebian

This is an old revision of the document!


Funkinsel Setup auf Debian

Dieses Howto beschreibt das Funkinsel Setup für Debian. Howtos für andere Firmware Images können auf der Seite FunkInsel gefunden werden.

Installation

OpenVPN

Zunächst muss OpenVPN installiert werden:

# aptitude install openvpn

In dem Verzeichnis /etc/openvpn eine Konfigurationsdatei anlegen.

# cd /etc/openvpn
# vi ff-tunnel.conf

Hier eine Beispielkonfiguration:

client

dev tap0

proto udp
remote tunnel.graz.funkfeuer.at 1194
resolv-retry infinite
nobind

persist-key
persist-tun

daemon ovpn-ff-tunnel
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.

OpenVPN sollte sich nun mit folgenden Kommando starten lassen:

# /etc/init.d/openvpn start

Sollte alles funktionieren wird der Tunnel aufgebaut und es gibt ein zusätzliches Netzwerk Intefaces namens tap0.

OLSR

Die folgende Konfiguration für OLSRd muss in die Datei /etc/olsrd/olsrd.conf kopiert werden. Wichtig dabei sind die beiden letzten Zeilen des zweiten Absatzes. Diese werden benötigt um OLSRd mit Policy Routing zu verwenden.

DebugLevel 0
IpVersion 4
AllowNoInt yes
Pollrate 0.025
TcRedundancy 2
MprCoverage 7
LinkQualityFishEye 1
LinkQualityWinSize 100
LinkQualityDijkstraLimit 0 10.0
LinkQualityLevel 2
UseHysteresis no
FIBMetric "flat"
ClearScreen yes
Willingness 3
LinkQualityAging 0.1
LinkQualityAlgorithm "etx_fpm"

RtTable 111
RtTableDefault 112

Interface "eth1"
{
        HelloInterval 5.0
        HelloValidityTime 125.0
        TcInterval 2.0
        TcValidityTime 500.0
        MidInterval 25.0
        MidValidityTime 500.0
        HnaInterval 25.0
        HnaValidityTime 500.0
}

Interface "tap0"
{
        HelloInterval 5.0
        HelloValidityTime 125.0
        TcInterval 2.0
        TcValidityTime 500.0
        MidInterval 25.0
        MidValidityTime 500.0
        HnaInterval 25.0
        HnaValidityTime 500.0
}

Diese Konfiguration geht davon aus das das Interface eth1 zb. eine WLan Karte ist die im Funkfeuer Netz hängt.

Policy Routing

Um das Policy Routing fertig zu konfigurieren brauchen wir noch einen zusätzlichen Initscript der die restlichen Routingeinträge richtig setzt. Ausserdem ist es wichtig das in der Datei /etc/network/interfaces kein gateway konfiguriert ist. Es darf also bei keiner Interface Konfiguration eine Option gateway existieren.

# vi /etc/init.d/network_additional

folgendes reinkopieren:

#! /bin/sh
#
# Route and Firewall Script

DEFAULT_GW=192.168.0.254
IFACES="eth1"

case "$1" in
  start)
        ip route add default via $DEFAULT_GW table default
        ip rule add lookup main
        ip rule add lookup olsr
        ip rule del pref 32766
        ip rule add pref 32766 fwmark 1 lookup olsr-default

        for i in $IFACES; do
                iptables -t mangle -A PREROUTING -i $i -j MARK --set-mark 1
        done 
   ;;
  stop)
        ip rule del pref 32766
        ip rule add pref 32766 lookup main
        ip rule del lookup main
        ip rule del lookup olsr
        ip route del default via $DEFAULT_GW table default

        for i in $IFACES; do
                iptables -t mangle -D PREROUTING -i $i -j MARK --set-mark 1
        done
    ;;
  *)
    echo "Usage: /etc/init.d/routenfirewall {start|stop}"
    exit 1
    ;;
esac

exit 0

Danach muss das Script noch ausführbar markiert werden und enabled werden.

# chmod +x /etc/init.d/network_additional
# update-rc.d network_additional defaults 20

Nach einem Reboot sollte der Tunnel aufgebaut werden und die Funkinsel somit aktiv sein.

funkinseldebian.1225225348.txt · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki