Size: 4452
Comment:
|
Size: 4472
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 30: | Line 30: |
remote tunnel.graz.funkfeuer.at 1194 | remote tun.graz.funkfeuer.at 1194 |
Line 46: | Line 46: |
ns-cert-type server |
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 tun.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" 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.
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 "approx" ClearScreen yes LinkQualityAging 0.1 LinkQualityAlgorithm "etx_ff" RtTable 111 RtTableDefault 112 Interface "eth1" { HelloInterval 3.0 HelloValidityTime 125.0 TcInterval 2.0 TcValidityTime 500.0 MidInterval 25.0 MidValidityTime 500.0 HnaInterval 10.0 HnaValidityTime 125.0 } 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.11.100.1 0.2 }
Diese Konfiguration geht davon aus das das Interface eth1 zb. eine WLan Karte ist die im Funkfeuer Netz hängt. 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
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 OLSR_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 $OLSR_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 $OLSR_IFACES; do iptables -t mangle -D PREROUTING -i $i -j MARK --set-mark 1 done ;; *) echo "Usage: $0 {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.