User Tools

Site Tools


funkinselkamikaze

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
funkinselkamikaze [2012/09/12 15:37] ChristianPointnerfunkinselkamikaze [2026/02/01 02:54] (current) – ↷ Links adapted because of a move operation 74.7.243.235
Line 1: Line 1:
 +<<[[:TableOfContents|TableOfContents]]>> 
 +
 +
 +
 +====== Funkinsel Setup auf OpenWRT Kamikaze ======
 +:!: Dieses Howto beschreibt das Funkinsel Setup für OpenWRT Kamikaze. Howtos für andere Firmware Images können auf der Seite [[:FunkInsel|FunkInsel]] gefunden werden. 
 +
 +
 +
 +===== Installation =====
 +
 +
 +==== OpenVPN ====
 +Zunächst muss OpenVPN installiert werden: 
 +
 +
 +
 +<file># ipkg install openvpn
 +</file>
 +Das Verzeichnis ///etc/openvpn// und darin eine Konfigurationsdatei anlegen. 
 +
 +<file># mkdir /etc/openvpn
 +# cd /etc/openvpn
 +# vi server.conf
 +</file>
 +Hier eine Beispielkonfiguration: 
 +
 +<file>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 "<name>.crt"
 +key "<name>.key"
 +
 +ns-cert-type server
 +
 +cipher none
 +
 +verb 3
 +</file>
 +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 3 auskommentierten Zeilen bringen wenn sie einkommentiert werden OpenVPN dazu in ein chroot-jail unter dem User //nodody// zu laufen. Dies ist wohl auf einem kleinen Router etwas übertrieben aber sollte auf einem normalen System verwendet werden. 
 +
 +OpenVPN sollte sich nun mit folgenden Kommando starten lassen: 
 +
 +
 +
 +<file># /etc/init.d/openvpn start
 +</file>
 +Sollte alles funktionieren wird der Tunnel aufgebaut und es gibt ein zusätzliches Netzwerk Inteface namens //tap0//. Um OpenVPN nach einen einen Reboot neu zu starten muss der Initscript noch aktiviert weden: 
 +
 +
 +
 +<file># /etc/init.d/openvpn enable
 +</file>
 +
 +
 +==== OLSR ====
 +Die folgende Konfiguration für OLSRd muss in die Datei ///etc/config/olsr// kopiert werden. Wichtig dabei sind die beiden letzten Zeilen des ersten Absatzes. Diese werden benötigt um OLSRd mit Policy Routing zu verwenden. 
 +
 +
 +
 +<file>config "olsr" "general"
 +        option DebugLevel       '0'
 +        option IpVersion        '4'
 +        option AllowNoInt       'yes'
 +        option Pollrate '0.025'
 +        option TcRedundancy     '2'
 +        option MprCoverage      '7'
 +        option LinkQualityFishEye       '1'
 +        option LinkQualityWinSize       '100'
 +        option LinkQualityDijkstraLimit '0 10.0'
 +        option LinkQualityLevel '2'
 +        option UseHysteresis    'no'
 +        option FIBMetric        '"approx"'
 +        option ClearScreen      'yes'
 +        option LinkQualityAging '0.1'
 +        option LinkQualityAlgorithm    '"etx_ff"'
 +        option RtTable          '111'
 +        option RtTableDefault   '112'
 +
 +config "Interface"
 +        option Interface        'wlan'
 +        option HelloInterval    '3.0'
 +        option HelloValidityTime        '125.0'
 +        option TcInterval       '2.0'
 +        option TcValidityTime   '500.0'
 +        option MidInterval      '25.0'
 +        option MidValidityTime  '500.0'
 +        option HnaInterval      '10.0'
 +        option HnaValidityTime  '125.0'
 +
 +config "Interface"
 +        option Interface        'tunnel'
 +        option HelloInterval    '3.0'
 +        option HelloValidityTime        '125.0'
 +        option TcInterval       '2.0'
 +        option TcValidityTime   '500.0'
 +        option MidInterval      '25.0'
 +        option MidValidityTime  '500.0'
 +        option HnaInterval      '10.0'
 +        option HnaValidityTime  '125.0'
 +</file>
 +Danach muss in der Datei ///etc/config/network// der folgende Pseudo Eintrag hinzugefügt werden damit der OLSRd Initscript den richtigen Interfacenamen findet. Die obige Konfiguration geht weiters davon aus das das WLan Interface den Namen //wlan// trägt. 
 +
 +
 +
 +<file>config interface tunnel
 +        option ifname   'tap0'
 +</file>
 +
 +
 +===== Policy Routing =====
 +Um das Policy Routing fertig zu konfigurieren brauchen wir noch einen zusätzlichen Initscript der die restlichen Routingeinträge richtig setzt. Ausserdem muss noch ein Paket installiert werden das ein fehlendes Modul für Iptables enthält. Weiters ist es wichtig das in der Datei ///etc/config/network// kein gateway konfiguriert ist. Es darf also bei keiner Interface Konfiguration eine Option //gateway// existieren. 
 +
 +
 +
 +<file># ipkg install iptables-mod-ipopt
 +# vi /etc/init.d/network_additional
 +</file>
 +folgendes reinkopieren: 
 +
 +
 +
 +<file>#!sh (-)
 +#!/bin/sh /etc/rc.common
 +
 +START=41
 +STOP=39
 +
 +start() {
 +        ip route add default via <gateway ip> table default
 +        ip rule add lookup main
 +        ip rule add lookup 111
 +        ip rule del pref 32766
 +        ip rule add pref 32766 fwmark 1 lookup 112
 +
 +        iptables -t mangle -A PREROUTING -i ath0 -j MARK --set-mark 1
 +        iptables -t mangle -A PREROUTING -i tap0 -j MARK --set-mark 1
 +}
 +
 +stop() {
 +        ip rule del pref 32766
 +        ip rule add pref 32766 lookup main
 +        ip rule del lookup main
 +        ip rule del lookup 111
 +        ip route del default via <gateway ip> table default
 +
 +        iptables -t mangle -D PREROUTING -i ath0 -j MARK --set-mark 1
 +        iptables -t mangle -D PREROUTING -i tap0 -j MARK --set-mark 1
 +}
 +</file>
 +Danach muss das Script noch ausführbar markiert und enabled werden. 
 +
 +
 +
 +<file># chmod +x /etc/init.d/network_additional
 +# /etc/init.d/network_additional enable
 +</file>
 +Nach einem Reboot sollte der Tunnel aufgebaut werden und die Funkinsel somit aktiv sein. 
 +
 +
 +
 +
 + 
 +
 +
 +  * [[archiv:categoryhowto|CategoryHowto]] 
 +
  
funkinselkamikaze.txt · Last modified: by 74.7.243.235

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki