## page was renamed from FunkInselServer <> = Konfiguration unseres Tunnel Routers = /!\ Diese Seite beschreibt die Konfiguration unseres alten Tunnel Setups. Das System wurde mit 11.10.2012 auf das [[FunkInselServer|Neue]] umgestellt. {i} Diese Dokumentation beschreibt die Konfiguration unseres Tunnel Routers. Details zu unseren Funkinsel-Setup können auf der Seite [[FunkInsel]] gefunden werden. Informationen zu allen anderen Servern/Routern kann auf der Seite ServerDokumentation gefunden werden. == Installation und Konfiguration == Unser Tunnelrouter ist ein normaler Linksys WRT54GL mit Freifunk Firmware auf dem ''openvpn'' installiert und als Server eingerichtet ist. Weiters ist es notwendig das mittels eines NTP Clients beim Booten die richtige Zeit und das richtige Datum gesetzt wird damit die Zertifikats Gültigkeitsüberprüfung nicht fehlschlägt. Zu guter letzt läuft darauf noch ''snmpd'' der dazu benützt wird um mit ''mrtg'' Statistiken zu führen. Nach dem Flashen mit der Freifunk Firmware müssen die Pakete wie folgt installiert werden: {{{ # ipkg install openvpn-ssl-nolzo snmpd ntpclient }}} Die Konfiguration von ''snmpd'' kann ohne Änderung übernommen werden. ''ntpclient'' muss nicht konfiguriert werden. Es reicht einen Initscript ''/etc/init.d/S60ntpclient'' anzulegen und folgendes hineinzukopieren: {{{#!sh #!/bin/sh sh -c "sleep 120;ntpclient -s -h at.pool.ntp.org"& }}} Danach nur noch ausführbar markieren: {{{ chmod +x /etc/init.d/S60ntpclient }}} Für ''openvpn'' muss zunächst das Verzeichnis ''/etc/openvpn'' angelegt werden und darin die Datei ''/etc/openvpn/server.conf'' mit folgenden Inhalt erstellt werden: {{{ ;local a.b.c.d port 1194 proto udp dev tap ca /etc/openvpn/key/ca.crt cert /etc/openvpn/key/server.crt key /etc/openvpn/key/server.key # This file should be kept secret dh /etc/openvpn/key/dh1024.pem ifconfig-pool-persist ipp.txt server 10.11.100.0 255.255.255.0 cipher none persist-key persist-tun verb 3 management localhost 7505 }}} Das Verzeichnis ''/etc/openvpn/key'' muss vom Webserver kopiert werden (siehe weiter unten). Danach muss noch der Initscript /etc/init.d/S47openvpn angelegt werden und folgendes hineinkopiert werden: {{{#!sh #!/bin/sh case $1 in start) openvpn --config /etc/openvpn/server.conf --cd /etc/openvpn/ --daemon ;; stop) killall openvpn ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 start|stop|restart" ;; esac }}} Zusätzlich muss im Webinterface unter 'OLSR' noch Policy Routing aktiviert werden und dann noch ein zusätzlicher Initsript ''/etc/init.d/S60fixpolicy'' angelegt werden: {{{#!sh #!/bin/sh ip rule add to 10.0.0.0/8 lookup olsr ip rule add from 10.0.0.0/8 lookup olsr ip rule add to 193.33.150.0/23 lookup olsr ip rule add from 193.33.150.0/23 lookup olsr ip rule add to 89.106.208.0/21 lookup olsr ip rule add from 89.106.208.0/21 lookup olsr }}} Beide Initscripte müssen natürlich noch ausführbar markiert werden: {{{ # chmod +x /etc/init.d/S47openvpn # chmod +x /etc/init.d/S60fixpolicy }}} Zu guter letzt muss noch olsrd dazu gebracht werden auf dem Tunnelinterface zu arbeiten indem das folgende in die Datei ''/etc/local.olsrd.conf'' kopiert wurde: {{{ 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 } }}} Nachdem dies alles erledigt ist sollte nach einem Reboot der Tunnelrouter funktionieren. == Zertifikate erstellen == Die Zertifikate liegen samt aller Scripte auf unserem Webserver (''www.ffgraz.net'') im Verzeichnis ''/srv/ovpn-tunnel-certs/''. Alle Scripte zum erstellen eines Zertifikates sind unter ''easy-rsa'' und die ''crt'' und ''key'' Files sind im Verzeichnis ''key'' zu finden. Um ein neues Zeritifikat zu erstellen sind die folgenden Schritte notwendig: {{{ # cd /srv/ovpn-tunnel-certs/easy-rsa # . ./vars # ./build-key }}} Das Script stellt ein paar Fragen von denen die meisten einfach mit Enter quitiert werden müssen (default Werte). Bei der Frage nach dem 'Common Name' muss dasselbe angegeben werden als das beim Aufruf des Scripts. Danach ist das neu erstellte Zeritifikat im ''key'' Verzeichnis zu finden. == Firmware Update / Backup == Vor einem Firmwareupgrade müssen die oben beschriebenen Scripte und Konfigurationsdatei gesichert werden. Dabei müssen folgende Scritte ausgeführt werden: {{{ # cd /tmp # tar -czf tunnel-backup.tar.gz /etc/openvpn/ /etc/local.olrsd.conf /etc/init.d/S47openvpn /etc/init.d/S60fixpolicy /etc/init.d/S60ntpclient }}} Danach muss die Datei tunnel-backup.tar.gz gesichert werden und der Router mit der neuen Firmware Version geflascht werden. Nachdem wie oben beschrieben die noch fehlenden Pakete installiert sind und das Archiv wieder zurückkopiert wurde kann alles wie folgt wiederhergestellt werden: {{{ # cd / # tar -xzf /tmp/tunnel-backup.tar.gz }}} Danach muss der Router nur noch rebootet werden. ---- . CategoryDocumentation