OpenVPN openWRT: Unterschied zwischen den Versionen
K (→Installation) |
Glenn (Diskussion | Beiträge) (+kat) |
||
(5 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 16: | Zeile 16: | ||
ipkg install openvpn | ipkg install openvpn | ||
ipkg install freifunk-openwrt-compat | ipkg install freifunk-openwrt-compat | ||
+ | ipkg install openvpn-ssl-nolzo | ||
mkdir /etc/openvpn</b> | mkdir /etc/openvpn</b> | ||
Zeile 39: | Zeile 40: | ||
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. | 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. | ||
− | <b> remote | + | <b> remote l18a.de |
client | client | ||
dev tap | dev tap | ||
proto tcp | proto tcp | ||
− | port | + | port 1194 |
ca ca.crt | ca ca.crt | ||
cert [knotenname].crt | cert [knotenname].crt | ||
Zeile 85: | Zeile 86: | ||
HnaValidityTime 90.0 | HnaValidityTime 90.0 | ||
Ip4Broadcast 104.255.255.255 | Ip4Broadcast 104.255.255.255 | ||
− | LinkQualityMult 104.63. | + | LinkQualityMult 104.63.254.254 0.1 |
}</b> | }</b> | ||
Zeile 108: | Zeile 109: | ||
iptables -t nat -A POSTROUTING -o tap0 -s 104.63.knotennummer.1/255.255.255.224 -j MASQUERADE | 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 tap0 -o eth1 -j ACCEPT | ||
− | iptables -I FORWARD -i eth1 -o tap0 -j ACCEPT<b> | + | iptables -I FORWARD -i eth1 -o tap0 -j ACCEPT</b> |
<b>Esq :wq</b> zum speichern und schliessen. | <b>Esq :wq</b> zum speichern und schliessen. | ||
Zeile 118: | Zeile 119: | ||
<b> cd /etc/init.d | <b> cd /etc/init.d | ||
rm S99done | rm S99done | ||
− | cp /rom/etc/init.d/S99done /etc/S99done | + | cp /rom/etc/init.d/S99done /etc/S99done |
vi S99done </b> | vi S99done </b> | ||
Am Ende der Datei folgendes eintragen (<b>i</b>). | Am Ende der Datei folgendes eintragen (<b>i</b>). | ||
− | <b> | + | <b> /etc/init.d/openvpn restart</b> |
− | |||
====Konfiguration testen==== | ====Konfiguration testen==== | ||
Zeile 160: | Zeile 160: | ||
<b> date -s 20060710</b> (auf das heutige Datum anpassen!) | <b> date -s 20060710</b> (auf das heutige Datum anpassen!) | ||
+ | |||
+ | [[Kategorie:Firmware]] |
Aktuelle Version vom 9. März 2008, 21:14 Uhr
OpenVPN auf Freifunk Firmware
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
Software
Per ssh auf den Router verbinden, um zuallererst die openvpn Software zu installieren.
ssh root@104.63.Knotennummer.1
ipkg update ipkg install openvpn ipkg install freifunk-openwrt-compat ipkg install openvpn-ssl-nolzo mkdir /etc/openvpn
Keys
Nun ist die Software installiert, jetzt noch die vom VPN-Admin bezogenen Keys auf den Router spielen: scp benutzen um das Tar-Archiv auf den Router zu uebertragen.
scp keys-[knotenname].tar.gz root@104.63.knotennummer.1:/etc/openvpn
Nun in der ssh Konsole die Keys auspacken:
cd /etc/openvpn/ tar xfvz keys-[knotenname].tar.gz rm keys-[knotenname].tar.gz
Konfiguration
Client konfigurieren
cd /etc/openvpn vi bongbong.conf
Im vi muss man fuer den Editier-Modus i druecken und nun kanns losgehen. Die folgenden Eintraege in der Datei bongbong.conf sollten ueberprueft werden.
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
Wobei natuerlich [Knotenname] durch den Knotennamen erzetzt werden muss. Mit Esc wird der Editier-Modus im vi beendet. Mit : gelangt man in den Datei-Modus. Im Datei-Modus noch ein w und ein q eigeben (fuer write und quit) und Enter.
OLSR Konfiguration
cd /etc rm local.olsrd.conf cp /rom/etc/local.olsrd.conf . vi local.olsrd.conf
Mit i in den Editier-Modus.
# 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 }
Esq :wq zum speichern und schliessen.
Firewall konfigurieren
cd /etc rm local.fw cp /rom/etc/local.fw /etc/local.fw vi local.fw
Mit dem Cursor vor diesen Eintrag gehen
;; stop) ;;
Folgendes eintragen: (i druecken)
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
Esq :wq zum speichern und schliessen.
Automatischer VPN Start beim Booten
Wir editieren das initscript S99done.
cd /etc/init.d rm S99done cp /rom/etc/init.d/S99done /etc/S99done vi S99done
Am Ende der Datei folgendes eintragen (i).
/etc/init.d/openvpn restart
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.
logread -f
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:
killall openvpn cd /etc/openvpn openvpn --config bongbong.conf
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 :-)
date -s 20060710 (auf das heutige Datum anpassen!)