Haupt VPN

Aus Freifunk Leipzig
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation)
(Client-Konfiguration)
Zeile 51: Zeile 51:
 
  ca cacert.pem
 
  ca cacert.pem
 
  cert cert.pem
 
  cert cert.pem
  key key2.pem
+
  key key.pem
 
  dh  dh1024.pem
 
  dh  dh1024.pem
 
  cipher BF-CBC
 
  cipher BF-CBC
Zeile 63: Zeile 63:
 
  mssfix 1300
 
  mssfix 1300
 
  fragment 1300
 
  fragment 1300
 +
tls-timeout 180
  
 
Speichern und Editor mit "ESC", ":w", ":q" verlassen.
 
Speichern und Editor mit "ESC", ":w", ":q" verlassen.

Version vom 8. Februar 2007, 17:57 Uhr

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

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 Schlüssel.

cd /etc/openvpn
edit vpnleipzig.conf

Zur Bedienung des Texteditors schau dir auch die Kommandos an: Vi-Editor.

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

remote vpn2.leipzig.freifunk.net
remote vpn1.leipzig.freifunk.net
client
dev tap0
proto udp
port 5001
ca cacert.pem
cert cert.pem
key key.pem
dh  dh1024.pem
cipher BF-CBC
auth md5
replay-window 128 60
ns-cert-type server
keepalive 20 120
persist-tun
float
tun-mtu 1500
mssfix 1300
fragment 1300
tls-timeout 180

Speichern und Editor mit "ESC", ":w", ":q" verlassen.

$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
tun-mtu 1472
mssfix

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.