Haupt VPN

Aus Freifunk Leipzig
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Info

Wer am Haupt VPN Teilnehmen möchte, also eine ausreichend schnelle Internetverbindung besitzt, kann sich von den VPN Admins einen Schlüssel erstellen lassen.

Die Teilnahme am VPN erzeugt momentan etwa 4kb konstanten Verkehr im up- und downstream, plus die übertragenen Daten über die Leitung. Durch den künstlich sehr hohen ETX Wert, werden Daten aber nur darüber übertragen, wenn es wirklich keine fruchtbare Verbindung gibt.

Installation

Zuerst muß OpenVPN installiert werden. Du benötigst dazu einen ssh shell, wie unter Windows z.B. PuTTY

Zuerst kannst du das Archiv, welches die Admins dir geschickt haben, auf den Linksys laden. Benutze dazu scp oder das Übertragunsprogram von Putty. Speichere die Datei am besten unter /tmp

scp vpn-[irgenwas].tar.gz root@192.168.1.1:/tmp

Logge dich als root auf dem Linksys ein und gib folgende Befehle ein:

ipkg update
ipkg install openvpn-ssl-nolzo
ipkg install freifunk-openwrt-compat

VPN-Keys besorgen

Die Keys sind beim den VPN-Admins zu besorgen. Falls die Dateien als Archiv kommen, kannst du sie entpacken

cd /
tar xvzf /tmp/vpn-[irgenwas].tar.gz

und danach in /etc/openvpn verschieben. Bei mehreren VPN-Verbindungen empfehlen wir, Unterverzeichnisse anzulegen.

cd /etc
mkdir openvpn
mv /42-1/* /etc/openvpn/

Client-Konfiguration

Dies ist die neue VPN Konfiguration. Sie benoetigt einen neueren Schluessel.

cd /etc/openvpn
edit vpnleipzig.conf

Einstellungen des Clients: (abgelegt als vpnleipzig.conf in /etc/openvpn) Drückt i (steht für insert mode) und gebt ein:

remote vpn1.leipzig.freifunk.net
remote vpn2.leipzig.freifunk.net
client
dev tap
proto udp
port 5001
lport 5051
ca leipzig/cacert.pem
cert leipzig/$NAME.crt
key leipzig/$NAME.key
dh  leipzig/dh1024.pem
cipher BF-CBC
auth md5
ns-cert-type server
#tun-mtu 1500
#bei Tunnelung ueber internet, z.b. DSL braucht man folgende Zeile
#mssfix 1397
tun-mtu 1472
mssfix

$NAME ist natürlich durch euern Key zu ersetzen

Alte Client-Konfiguration

Diese Config ist veraltet und kann nur noch mit den veralteten Schluesseln benutzt werden. Bitte meldet euch bei den VPN Admins um einen neuen Schluessel zu bekommen.

remote vpn.freifunk-leipzig.quamquam.org
client
dev tap
proto tcp
port 5000
ca ca.crt
cert $NAME.crt
key $NAME.key
cipher AES-128-CBC 
#nach der kommenden Zertifikatumstellung dann 
#cipher none
ns-cert-type server
mssfix 1397
fragment 1300

OLSR-Einstellungen

cd /etc
edit local.olsrd.conf

OLSR Einstellungen sind wie folgt:

i drücken

# 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.61.239.1 0.1
}


dann ESC drücken, und :x sowie ENTER

Firewall und NAT anpassen

Am einfachsten ist es, die VPN-Sache auf einem Linksys laufen zu lassen, dessen Firewall ausgeschaltet ist. Damit umgeht ihr die Feinanpassungen der Firewall größtenteils. Falls ihr auf die Firewall nicht verzichten wollt oder könnt, probiert folgendes:

cd /etc
edit local.fw

geht mit dem Cursor vor den eintrag

       ;;
       stop)
       ;;

Drückt "i" (steht für insert mode) und gebt ein:


iptables -I INPUT -i tap0 -j ACCEPT
iptables -I OUTPUT -o tap0 -j ACCEPT
iptables -I FORWARD -i tap0 -o eth1 -j ACCEPT
iptables -I FORWARD -i eth1 -o tap0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j MASQUERADE



Nun esc drücken. Und mit ":x" den editor beenden.

automatischer VPN-Start

Um das VPN automatisch bei jedem Neustart hochfahren zu lassen, macht folgendes:


cd /etc/init.d
edit S99done

geht mit dem Cursor ans ende:

Drückt "i" (steht für insert mode) und gebt am Ende ein:

/etc/init.d/openvpn restart


Nun esc drücken. Und mit ":x" den editor beenden.


statistik

auf der kommandozeile eingeben:

nvram set ff_stat_gateway1=tap0
nvram set ff_stat_gateway2=tun0
nvram commit

DIe Anzeige funktioniert dann ab dem nächsten Neustart.


ausprobieren

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... Abbruch der Anzeige mit CTRL - C

Wenn probleme auftauchen

Wenn ihr nicht ins VPN kommt. SSH auf den Linksys und eingeben:

killall openvpn
cd /etc/openvpn
openvpn --config 239.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 20060601

sollte helfen. Ansonsten solltet ihr Euern Nameserver oder Internetanbindung checken, wahrscheinlich ist dort ein Fehler.