/* page was renamed from FunkInselServer */
<<[[:TableOfContents|TableOfContents]]>>
====== Konfiguration unseres Tunnel Routers ======
:!: Diese Seite beschreibt die Konfiguration unseres alten Tunnel Setups. Das System wurde mit 11.10.2012 auf das [[[[:FunkInselServer|FunkInselServer]]|Neue]] umgestellt.
:!: Diese Dokumentation beschreibt die Konfiguration unseres Tunnel Routers. Details zu unseren Funkinsel-Setup können auf der Seite [[[[:FunkInsel|FunkInsel]]]] gefunden werden. Informationen zu allen anderen Servern/Routern kann auf der Seite [[:ServerDokumentation|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|CategoryDocumentation]]