Openvpn

Aus Arktur
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Installation der Programme

siehe c't 9/2005 S.194ff. sowie c't 7/2006 S.110ff


Anfertigung der Schlüssel und Zertifikate


  • Achtung: den Pfad überprüfen! Lautet er jeweils „etc/openssl“ oder „etc/ssl“? Dieser Pfad muss bei einigen Befehlen unten ggf. angepasst werden.
  • Schlüsselpaar für die CA: private key = cakey.pem
openssl genrsa -aes256 -out private/cakey.pem 2048
  • Zertifikat = cacert.pem
openssl req -new -x509 -days 3650 -key private/cakey.pem -out cacert.pem -set_serial 1
Vorsicht: bei Common Name (CN) ist am besten der FQDN des Servers anzugeben (z.B. Arktur.europaschuledortmund.do.nw.schule.de ), zu beschaffen auf Arktur beispielsweise mit "hostname" (Danke an Harry Jede).
  • Zertifikate für Teilnehmer vorbereiten
touch index.txt
echo 01 > serial
  • Schlüsselpaar für den Server
openssl req -new -newkey rsa:1024 -out certs/servercsr.pem -nodes -keyout private/serverkey.pem -days 365
Achtung: bei „Common Name“ muss es nun „server“ heißen!
  • Zertifikat für den Server:
openssl x509 -req -in certs/servercsr.pem -out certs/servercert.pem -CA cacert.pem -CAkey private/cakey.pem -CAserial /etc/ssl/serial
Vermutlich darf beim Zertifikat des Servers kein Passwort angegeben werden (c't 7/2006, S. 110)
  • Client-Schlüssel z.B. für Köster
openssl req -new -newkey rsa:1024 -out certs/koestercsr.pem -nodes -keyout private/koesterkey.pem -days 365
Achtung: bei „Common Name“ muss nun etwas wie „Client1“ oder der Name des Nutzers, etwa „koester“ stehen
  • Client-Zertifikat z.B. für Köster:
openssl x509 -req -in certs/koestercsr.pem -out certs/koestercert.pem -CA cacert.pem -CAkey private/cakey.pem -CAserial /etc/ssl/serial
  • Für den Schlüsselaustausch:
openssl dhparam -out dh1024.pem 1024
  • Datei „server.conf“ anpassen
  • 5 Dateien nach /etc/openvpn kopieren:
serverkey.pem (Zugriffsrechte auf 600 setzen), servercert.pem, my-ca.pem/cacert.pem, dh1024.pem
  • Auf den Client / die Clients wird nach \Programme\Openvpn\config kopiert:
client1.conf (muss nach client1.ovpn umbenannt werden), client1key.pem, client1cert.pem, my-ca.pem / cacert.pem
  • Zum Abschluss der Zertifikate und Schlüssel OpenVPN-Prozess starten:
/usr/sbin/openvpn --config /etc/openvpn/server.conf

Zertifikate der Clients ansonsten am sichersten mit roCA erzeugen

Weitere Hinweise bei tinyCA

  1. Linux
  2. Windows

Zum Erstellen der Key-Paare hat mir die Original-Manual von OpenVPN geholfen:

http://openvpn.net/howto.html

Zum Erstellen der Konfigurationen von OpenVPN habe ich

http://www.pronix.de/pronix-938.html 

genutzt.

David Reinbold; "schan-user" 27. Dez. 2007

Anpassung der config-Dateien für Server und Client

siehe c't 9/2005 S.198 und S.199

spez. Tipps

Seit einigen Wochen können KollegInnen VPN nutzten und haben damit die aus der Schule vertrauten Netzlaufwerke K: (wie Klassen), T: und U: zur Verfügung.

Wir setzen OpenVPN ein, zu finden unter http://openvpn.net. Das funktioniert bisher gut. Zuhause läuft bei den KollegInnen Win XP Home oder Prof, allerdings sollte es keinen Grund geben, dass die Client-Software nicht auch unter Win 2000 läuft.

Eine Anleitung für Arktur gibt es m.W. nicht. Eine Klippe war die ansonsten recht gute Anleitung aus der c't 9/2005; die Vorgehensweise dort zur Erstellung der Schlüssel scheint auf Arktur nicht zu funktionieren.

Das HowTo zur Schlüsselerstellung von http://openvpn.net/ dagegen lieferte gleich beim ersten Mal einen Erfolg; "EasyRSA" bietet eine Skriptsammlung zur Erstellung und dem Löschen von Schlüsseln.

Heiner Köster, "schan-user" Februar 2007


Das Interface (meistens "tun0") muss in der "/etc/samba/smb.conf" in der Zeile "hosts allow = ..." ergänzt werden, dann muss die Samba-Konfiguration neu eingelesen werden.

Beispiel:

hosts allow = 127. 192.168. 10. 172.16.0.0/16 tun

Siehe auch


OpenVPN und Vista

OpenVPN muss als Administrator installiert werden (rechte Maustaste, "Ausführen als"). Die Firewall von Vista blockiert vermutlich nach der Installation OpenVPN ohne entsprechenden Hinweis darauf. In der Firewall sollte also eine Ausnahme für „C:\Programme\OpenVPN\bin\openvpn.exe“ eingerichtet werden (Stand 11/2007).

Es scheint empfehlenswert, unter Vista OpenVPN als Dienst zu starten: evtl. "Suchen - Dienste", Doppelklick auf OpenVPN, dann "Starten" und "Automatisch starten". Damit wird bei jedem Start von Vista OpenVPN gestartet. Dann reicht zum Anlegen der Netzlaufwerke ein Doppelklick auf eine entsprechende Batch-Datei, mit etwa folgendem Inhalt:

@echo off
set benutzer=koester
net use u: \\10.8.0.1\homes /user:%benutzer% /persistent:no
net use t: \\10.8.0.1\tmp /persistent:no

Die Nutzung der OpenVPN-GUI ist unter Vista etwas umständlicher. Um Verbindungen herstellen zu können, ist es nötig, die OpenVPN Gui als Administrator auszuführen. Eine Datei „client_up.bat“, die unter XP automatisch die Netzlaufwerke herstellt, wurde jedoch nicht korrekt ausgeführt; manuelles Ausführen gelang.

Kontrollen

Kontrolle, ob IP-Forwarding eingeschaltet ist:

cat /proc/sys/net/ipv4/ip_forward

ist das Ergebnis "1", ist alles ok, sonst:

echo 1 > /proc/sys/net/ipv4/ip_forward

Für die Firewall den Port 1194 öffnen (in /etc/Schule/ipfilter-start)

$IPTABLES_BIN -I INPUT -p udp --dport 1194 -j ACCEPT

Für den Versand von Daten zum Client (ebenfalls in /etc/Schule/ipfilter-start)

$IPTABLES_BIN -I OUTPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES_BIN -A INPUT -i tun+ -j ACCEPT
$IPTABLES_BIN -A FORWARD -i tun+ -j ACCEPT
$IPTABLES_BIN -A INPUT -i tap+ -j ACCEPT
$IPTABLES_BIN -A FORWARD -i tap+ -j ACCEPT

Weitere Links