Nach dem ich auf
eine gute Anleitung gefunden hatte für Ubuntu habe ich nach der etwas abgewandelten Anleitung OpenVPN auf einem Debian Lenny System installiert (in einer Xen Umgebung – DomU)
Die Beispielkonfigurationen findet man in:
/usr/share/doc/openvpn/examples
Debian legt ein Verzeichnis
/etc/openvpn
an. Ich habe mir die Beispiele alle mittels
cp -av /usr/share/doc/openvpn/examples/ /etc/openvpn/
in das Konfigurationsverzeichnis kopiert.
Um ein VPN zu konfigurieren muss man sich für ein Netzsegment entscheiden aus dem man den VPN-Clienten (und dem Server) Adressen zuordnet. Es bietet sich z.B. an ein Netz aus dem Bereich 10.0.0.0 (10.0.0.0 – 10.255.255.255) zu wählen. OpenVPN nutzt in den Beispielkonfigurationen den Bereich 10.8.0.0/24.
Authentifikation …
Es gibt zwei Methoden Zur Authentifikation – preshared key oder zertifikatsbasiert.
Bei der Installation sollen sich mehrere Clients gleichzeitig an einem Server anmelden/verbinden da bietet sich die zertifikatsbasierende Authentifizierung an.
Es werden jeweils 2 Schlüssel (privat und öffentlich) für die Clients benötigt und eben so für den Server – für den Server erstellt man noch einen Master-Schlüssel (und Zertifikat) mit dem die Client Zertifikate signiert werden.
Im der Datei
/etc/openvpn/examples/easy-rsa/2.0/vars
passt man die Parameter
export KEY_COUNTRY="DE"
an . Danach kann man die PKI (Public-Key-Infrastruktur) intialisieren mit
export KEY_PROVINCE="NRW"
export KEY_CITY="Essen"
export KEY_ORG="NEW-VPN"
export KEY_EMAIL="info@foo.bar"
cd /etc/openvpn/examples/easy-rsa/2.0/
source ./vars
./clean-all
./build-ca
Das Master-Zertifikat und der Master-Schlüssel wurden nun erstellt.
Jetzt wird das Zertifikat und den Schlüssel für den Server erstellt mit
./build-key-server server
Danach werden die Schlüssel für die Clients erzeugt.
./build-key client1
./build-key client2
Dann: ./build-dh
Im Verzeichnis /etc/openvpn/examples/easy-rsa/2.0/keys
liegen danach die Schlüssel/Zertifikate.
Ich habe dann ein Verzeichnis [code] mkdir /etc/openvpn/keys[/code] angelegt und die Schlüssel/Zertifikate dorthin kopiert mit :
cp -av /etc/openvpn/examples/easy-rsa/2.0/keys/* /etc/openvpn/keys/
Zur Konfiguration…
Die Beispielconfigurationen liegen in dem Verzeichnis
/etc/openvpn/examples/sample-config-files
Zuerst wird mit gunzip server.conf.gz
die Server-Konfiguration entpackt.
Die meisten Einstellungen können übernommen werden (z.B. UDP-Port 1194, Netz 10.8.0.0/24 , etc) .
Wenn die VPN Clients sich später gegenseitig “sehen” sollen, muss die Zeile
client-to-client
geändert werden (ohne Semikolon).
Die Pfade zu den Zertifikaten/Keys müssen noch angepasst werden damit OpenVPN alle notwendigen Dateien nach einem Neustart einliest :
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
Jetzt wird die client.conf
angepasst (die Serveradresse muss eingetragen werden).
Den Servr startet man mit /etc/init.d/openvpn start
und den Client mit openvpn client.conf
(ggf. müssen noch die Rechte des TUN-Device angepasst werden)
Weitere Informationen :
http://wiki.ubuntuusers.de/OpenVPN
http://www.online-tutorials.net/security/openvpn-tutorial/tutorials-t-69-209.html
http://wiki.freifunk.net/OpenVPN_Howto
Open VPN und Samba:
http://openvpn.net/index.php/open-source/documentation/howto.html#samba
Client einrichten (auch Windows)
http://forum.fachinformatiker.de/security/80441-windows-openvpn-client-einrichten.html
http://www.online-tutorials.net/security/openvpn-tutorial/tutorials-t-69-209.html#openvpn-client
Pingback: Sabine Engelhardt (atarifrosch) 's status on Saturday, 04-Jul-09 10:19:47 UTC - Identi.ca
Das wäre eine schöne Anleitung; allerdings fehlen mir die Inhalte der server und client.conf
ich habe einfach die Kofigurationsbeispiele von Debian
/etc/openvpn/examples/sample-config-files
angepasst (die Anpassungen stehen ja im Beitrag)
Bei den Beipielen ist eine client.conf und eine server.conf dabei.
ich habe den Artikel aktualisiert und einige Links zu Konfigurationen angehangen
Pingback: OpenVPN Server mit Debian Lenny
Super Beschreibung, hat alles geklappt. Vielen Dank
Vielen Dank für dieses einfach zu lesende Howto!
Ich habe allerdings noch einen Konsistenzfehler gefunden: in der server.conf sollte der pfad zu den keys nach Deinen Kopieraktionen doch sein:
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
Noch dazu wäre der hinweis hilfreich, die fertigen conf dateien nach /etc/openvpn zu linken oder zu kopieren.
Auf alle Fälle danke! Du hast mir eine Menge Arbeit gespart.
stimmt, vielen Dank für den Hinweis – ich habe den Artikel korrigiert.
Bei „Die meisten Einstellungen können übernommen werden (z.B. UDP-Port 1194, Netz 10.8.0.0/24 , etc) .
Wenn die VPN Clients sich später gegenseitig “sehen” sollen, muss die Zeile“, leider steht dort nicht, welche Datei bearbeitet werden soll. Ich gehe davon mal aus, das die „server.conf“ bearbeitet werden muss, wo z.B. auch „client-to-client“ irgendwo reingehört.
Nachtrag:
openvpn client.conf
Sun Feb 3 17:01:40 2013 OpenVPN 2.1.3 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Feb 20 2012
Sun Feb 3 17:01:40 2013 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
Sun Feb 3 17:01:40 2013 Cannot load certificate file client.crt: error:02001002:system library:fopen:No such file or directory: error:20074002:BIO routines:FILE_CTRL:system lib: error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
Sun Feb 3 17:01:40 2013 Exiting
genau es war die server.conf gemeint