Änderungen

4.350 Bytes hinzugefügt ,  21:14, 9. Mär. 2008
+kat
Zeile 1: Zeile 1: −
====OpenVPN auf Freifunk Firmware====
+
<h1>OpenVPN auf Freifunk Firmware</h1>
 
+
 
===Info===
 
===Info===
 +
 +
Das VPN, das von den Freifunk Knoten an Uplinks (bspw. DSL) konfiguriert wird, verbindet im Ernstfall, ueber einen Link mit schlechter Metrik, voneinander getrennte Wolken im Weimarnetz.
 +
Momentan arbeiten wir mit VPN Zertifikaten / Schluesseln, die individuell fuer jeden Knoten ausgestellt werden.
    
===Installation===
 
===Installation===
Pakete
+
Keys
+
====Software====
 +
Per <b>[[ssh]]</b> auf den Router verbinden, um zuallererst die openvpn Software zu installieren.
 +
 
 +
<b> ssh root@104.63.Knotennummer.1 </b>
 +
 
 +
<b> ipkg update
 +
  ipkg install openvpn
 +
  ipkg install freifunk-openwrt-compat
 +
  ipkg install openvpn-ssl-nolzo
 +
  mkdir /etc/openvpn</b>
 +
 
 +
 
 +
====Keys====
 +
Nun ist die Software installiert, jetzt noch die vom VPN-Admin bezogenen Keys auf den Router spielen:
 +
<b>[[scp]]</b> benutzen um das Tar-Archiv auf den Router zu uebertragen.
 +
 
 +
<b> scp keys-[knotenname].tar.gz root@104.63.knotennummer.1:/etc/openvpn </b>
 +
 
 +
Nun in der ssh Konsole die Keys auspacken:
 +
 
 +
<b> cd /etc/openvpn/
 +
  tar xfvz keys-[knotenname].tar.gz
 +
  rm keys-[knotenname].tar.gz </b>
    
===Konfiguration===
 
===Konfiguration===
tun modul
+
openvpn client konfiguration
+
====Client konfigurieren====
olsr
+
<b> cd /etc/openvpn
firewall regeln
+
  vi bongbong.conf</b>
automatischer openvpn start
+
 
check
+
Im vi muss man fuer den Editier-Modus <b>i</b> druecken und nun kanns losgehen. Die folgenden Eintraege in der Datei bongbong.conf sollten ueberprueft werden.
moegliche Probleme
+
 
 +
<b> remote l18a.de
 +
  client
 +
  dev tap
 +
  proto tcp
 +
  port 1194
 +
  ca ca.crt
 +
  cert [knotenname].crt
 +
  key [knotenname].key
 +
  cipher AES-128-CBC
 +
  #nach der kommenden Zertifikatumstellung dann
 +
  #cipher none
 +
  ns-cert-type server
 +
  #tun-mtu 1500
 +
  #bei Tunnelung ueber internet, z.b. DSL braucht man folgende Zeile
 +
  #mssfix 1397
 +
  tun-mtu 1472
 +
  mssfix</b>
 +
 
 +
Wobei natuerlich [Knotenname] durch den Knotennamen erzetzt werden muss.
 +
Mit <b>Esc</b> wird der Editier-Modus im vi beendet.
 +
Mit <b>:</b> gelangt man in den Datei-Modus.
 +
Im Datei-Modus noch ein <b>w</b> und ein <b>q</b> eigeben (fuer <b>w</b>rite und <b>q</b>uit) und <b>Enter</b>.
 +
 
 +
 
 +
====OLSR Konfiguration====
 +
 
 +
<b> cd /etc
 +
  rm local.olsrd.conf
 +
  cp /rom/etc/local.olsrd.conf .
 +
  vi local.olsrd.conf </b>
 +
 
 +
Mit <b>i</b> in den Editier-Modus.
 +
 
 +
<b> # Add your addons (e.g. plugins) to olsrd.conf here,
 +
  # addons for interfaces in /etc/local.olsrd.conf.eth1
 +
  Interface "tap0" "tap1"
 +
  {
 +
  HelloInterval                5.0
 +
  HelloValidityTime          90.0
 +
  TcInterval                  2.0
 +
  TcValidityTime            270.0
 +
  MidInterval                15.0
 +
  MidValidityTime            90.0
 +
  HnaInterval                15.0
 +
  HnaValidityTime            90.0
 +
  Ip4Broadcast    104.255.255.255
 +
  LinkQualityMult 104.63.254.254 0.1
 +
  }</b>
 +
 
 +
<b>Esq :wq</b> zum speichern und schliessen.
 +
 
 +
====Firewall konfigurieren====
 +
 
 +
<b> cd /etc
 +
  rm local.fw
 +
  cp /rom/etc/local.fw /etc/local.fw
 +
  vi local.fw</b>
 +
 
 +
Mit dem Cursor vor diesen Eintrag gehen
 +
      <b>;;
 +
      stop)
 +
      ;;</b>
 +
 
 +
Folgendes eintragen: (<b>i</b> druecken)
 +
 
 +
<b> iptables -I INPUT -i tap0 -j ACCEPT
 +
  iptables -I OUTPUT -o tap0 -j ACCEPT
 +
  iptables -t nat -A POSTROUTING -o tap0 -s 104.63.knotennummer.1/255.255.255.224 -j MASQUERADE
 +
  iptables -I FORWARD -i tap0 -o eth1 -j ACCEPT
 +
  iptables -I FORWARD -i eth1 -o tap0 -j ACCEPT</b>
 +
 
 +
<b>Esq :wq</b> zum speichern und schliessen.
 +
 
 +
====Automatischer VPN Start beim Booten====
 +
 
 +
Wir editieren das initscript S99done.
 +
 
 +
<b> cd /etc/init.d
 +
  rm S99done
 +
  cp /rom/etc/init.d/S99done /etc/S99done
 +
  vi S99done </b>
 +
 
 +
Am Ende der Datei folgendes eintragen (<b>i</b>).
 +
 
 +
<b> /etc/init.d/openvpn restart</b>
 +
 
 +
====Konfiguration testen====
 +
 
 +
Nun einen Neustart. Das sollte eigendlich alles gewesen sein.
 +
 
 +
Wenn das Gerät wieder erreichbar ist, könnt ihr euch einloggen und die Log-Datei anzeigen lassen.
 +
 
 +
<b> logread -f</b>
 +
 
 +
das VPN startet etwas später, d.h. ihr habt noch 1-2 Minuten Zeit bis zur ersten Meldung...
 +
 
 +
==== Wenn probleme auftauchen====
 +
 
 +
Wenn ihr nicht ins VPN kommt. SSH auf den Router und eingeben:
 +
 
 +
<b> killall openvpn
 +
  cd /etc/openvpn
 +
  openvpn --config bongbong.conf</b>
 +
 
 +
Das gibt erstmal recht viel aus, aber zeigt auch woran es hängt.
 +
 +
====Checkliste====
 +
 
 +
* openvpn installiert?
 +
* compat installiert?
 +
* /etc/local.fw verändert?
 +
* /etc/local.olsrd.conf verändert?
 +
* /etc/init.d/S99done verändert?
 +
* keys in /etc/openvpn?
 +
* conf-datei in /etc/openvpn?
 +
* neugestartet und lange gewartet?
 +
 
 +
als letzter hinweis: falls die Uhrzeit auf dem Gerät noch auf 2000 steht, dann gehts nicht, weil das Zertifikat damals noch gar nicht gültig war :-)
 +
 
 +
<b> date -s 20060710</b> (auf das heutige Datum anpassen!)
 +
 
 +
[[Kategorie:Firmware]]
185

Bearbeitungen