Haupt VPN

Aus Freifunk Leipzig
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Info

Wer am Haupt VPN Teilnehmen möchte, braucht eine eine ausreichend schnelle Internetverbindung und mind. ein Freifunk-Gerät.

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

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

ipkg update
ipkg install openvpn-ssl-nolzo

VPN-Keys besorgen

Man kann sich von den VPN Admins einen Schlüssel erstellen lassen.

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

Falls die Dateien als Archiv kommen, kannst du sie entpacken

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

und dann nach /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 VPN Konfigurationsdatei.

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
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

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

$NAME ist natürlich durch euern Key zu ersetzen

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 -j ACCEPT
iptables -I FORWARD -o tap0 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -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 eigentlich alles gewesen sein.

reboot

das VPN startet am Ende des Bootvorganges, also relativ später, d.h. ihr habt noch 3-4 Minuten Zeit bis zur ersten syslog-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 vpnleipzig.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.