OpenVPN Server mit Debian Lenny

29. Mai 2009 | ...von: bert | Anleitungen, Debian, Sicherheit

Nach dem ich auf

http://www.henningdippel.de

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”
export KEY_PROVINCE=”NRW”
export KEY_CITY=”Essen”
export KEY_ORG=”NEW-VPN”
export KEY_EMAIL=”info@foo.bar”

an . Danach kann man die PKI (Public-Key-Infrastruktur)  intialisieren mit

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

mkdir /etc/openvpn/keys

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/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/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

Tags: , , , , , , , , , , , , , , , , , , , , , ,

5 comments
Kommentieren »

  1. [...] http://blog.berts-linux.de/2009/05/29/openvpn-server-mit-debian-lenny/ [...]

  2. Das wäre eine schöne Anleitung; allerdings fehlen mir die Inhalte der server und client.conf

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

  4. ich habe den Artikel aktualisiert und einige Links zu Konfigurationen angehangen

  5. [...] habe den Artikel etwas [...]

Kommentieren

Yandex Mail.ru Google LiveJournal myOpenId Flickr claimId Blogger Wordpress OpenID Yahoo Technorati Vidoop Verisign AOL


Spam protection by WP Captcha-Free