OpenVPN mit Debian Woody   Vor kurzem aktualisiert!


Für manche Netzwerkszenarien scheint VPN die allumfassende Lösung zu sein. Im Grunde ist damit das Tunneln von Informationen durch einen abgesicherten Kanal gemeint. Es gibt verschiedene Möglichkeiten, so etwas zu realisieren.

Eine einfache Möglichkeit ist ein Tunnel mittels SSH. Informationen dazu finden sich im entsprechenden Howtos: VPN-HOWTO/. Weiterhin gibt es noch PPTP, IPSec und OpenVPN.

In dieser Anleitung konzentrieren wir uns ausschließlich auf OpenVPN.


Installation unter Debian Woody

Da OpenVPN derzeit nicht als offizielles Debian Woody Paket erhältlich ist, bietet es sich an, den Woody Backport unter folgender URL herunterzuladen:

http://archive.debian.org/

Die Installation erfolgt mit dem Befehl:

dpkg -i openvpn_1.3.2-2.XXXX_i386.deb

Kernel-Voraussetzungen

Damit OpenVPN eingesetzt werden kann, muss ein Kernel mit der Option CONFIG_TUN=m oder CONFIG_TUN=y (Network Device Support – Universal TUN/TAP Device Driver support) übersetzt worden sein. Außerdem sollte man ggf. IP-Forwarding im Kernel einschalten (Firewall).

Device anlegen

Falls /dev/net/tun nicht vorhanden ist, kann man das Device manuell erstellen:

mknod /dev/net/tun c 10 200

Nun kann das Modul geladen werden:

modconf
# oder
modprobe tun

In der Datei /etc/network/options kann das IP-Forwarding systemweit eingeschaltet werden.

Konfiguration

Zuerst erstellt man ein Verzeichnis für die Konfigurationsdateien:

mkdir /etc/openvpn/

Es gibt zwei Verschlüsselungsverfahren:

  1. Einfache statische Schlüssel (Static Keys)
  2. SSL/TLS und RSA Zertifikate

Hier wird das einfachere Verfahren mit statischen Schlüsseln erläutert. Auf dieser Basis kann mithilfe des OpenVPN-Manuals später auch das Zertifikats-Verfahren umgesetzt werden.

1. Schlüssel generieren

Mit folgendem Befehl wird der gemeinsame Schlüssel erstellt:

openvpn --genkey --secret /etc/openvpn/tunnel1.key

Dieser Schlüssel muss mittels scp auf den zweiten beteiligten Rechner ebenfalls in das Verzeichnis /etc/openvpn/ kopiert werden.

2. Konfigurationsdateien erstellen

Erstelle jeweils eine Konfiguration für die Verbindung unter /etc/openvpn/tunnel1.conf.

Rechner 1

remote name.des.rechners1
float
port 4999
dev tun
# local 10.0.1.1
# remote 10.0.1.2
ifconfig 10.0.1.1 10.0.1.2
persist-tun
comp-lzo
ping 30
up /etc/openvpn/tunel1.up
secret /etc/openvpn/tunel1.key

Rechner 2

remote name.des.rechners2
float
port 4999
dev tun
# local 10.0.1.2
# remote 10.0.1.1
ifconfig 10.0.1.2 10.0.1.1
persist-tun
comp-lzo
ping 30
up /etc/openvpn/tunel1.up
secret /etc/openvpn/tunel1.key

3. Routing-Script

Zusätzlich muss die Datei /etc/openvpn/tunel1.up auf beiden Rechnern erstellt werden:

#!/bin/bash
route add -net 10.0.1.0 netmask 255.255.255.0 gw $5

VPN in Betrieb nehmen

Nachdem alle Dateien erstellt wurden, kann das VPN gestartet werden:

/etc/init.d/openvpn start

Tipp: Um die Verbindung zu vereinfachen, kann man den VPN-Schnittstellen in der /etc/hosts oder über einen eigenen Nameserver feste Namen zuweisen.


Weiterführende Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.