Installation OpenVPN auf Linux
Linux - Quick & Dirty
Donnerstag, den 31. Januar 2008 um 12:37 Uhr

 

Installation von OpenVPN auf Debian

OpenVPN installieren

apt-get install openvpn

 

Verzeichnis füer Zertifikate erstellen und in dieses wechseln

mkdir /etc/openvpn/zertifikate
cd /etc/openvpn/zertifikate

 

OpenSSL Konfigurationsdatei openssl.conf und Datei zum erstellen der Zertifizierungsstelle CA.pl ins Verzeichnis
/etc/openvpn/zertifikate kopieren.


cp /usr/lib/ssl/openssl.cnf /etc/openvpn/zertifikate
cp /usr/lib/ssl/misc/CA.pl /etc/openvpn/zertifikate

Die Datei openssl.cnf kann danach entprechend angepasst werden.

Neue Zertifizierungsstelle unter Verwendung der Konfigurationsdatei /etc/openvpn/zertifikate/openssl.cnf erstellen

export OPENSSL_CONF=/etc/openvpn/zertifikate/openssl.cnf
/etc/openvpn/zertifikate/CA.pl -newca


Diffie Hellman Parameter für den Server erstellen:

openssl dhparam -out dh2048.pem 2048

Request für Serverkey erstellen und Zertifikate erstellen

openssl req -days 3650 -nodes -new -keyout server-key.pem -out server-csr.pem
openssl ca -days 3650 -out server-crt.pem -in server-csr.pem


Request fürClientkey erstellen und Zertifikate erstellen

openssl req -days 3650 -nodes -new -keyout client-key.pem -out client-csr.pem
openssl ca -days 3650 -out client-crt.pem -in client-csr.pem


Auf Linuxserver prüfen ob IP Forwarding aktiviert ist wenn nicht aktivieren

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


/etc/openvpn/server.conf erstellen


# tun erstellt ein IP Tunnel
# tap erstellt ein Ethernet Tunnel
dev tun

# verwendetes Protokoll
proto udp

# auf diesen Port lauscht OpenVPN
port 1194

# diese Parameter beeinflussen die Paketgrösse
tun-mtu 1500
fragment 1300
mssfix

# Server IP Adresse
server 10.0.0.0 255.255.255.0

# Path zu den Zertifikaten und Schlüsseln
dh /etc/openvpn/zertifikate/dh2048.pem
ca /etc/openvpn/zertifikate/demoCA/cacert.pem
cert /etc/openvpn/zertifikate/server-crt.pem
key /etc/openvpn/zertifikate/server-key.pem

# mehrere Clients mit selben Zertifikate sind erlaubt
duplicate-cn

# Route zum internen Netzwerk setzen
push "route 192.168.255.0 255.255.255.0"

# Überwachung der verbindung mit Ping
keepalive 10 120

# Authentifizierungsprotokoll
auth SHA1

# Verschlüsselungsalgorithmus
cipher AES-256-CBC

# Komprimierung benutzen
comp-lzo

# Rechte nach der Verbindung
user nobody
group nogroup

# bei Abbruch der Verbindung Schlüssel behalten
persist-key
persist-tun

# Protokollierung
status /etc/openvpn/openvpn-status.log
verb 5

Auf dem Client (Windows oder Linux) wird die zugehörige client.conf erstellt:


# der Rechner ist Client
client

# tun erstellt ein IP Tunnel
# tap erstellt ein Ethernet Tunnel
dev tun

# verwendetes Protokoll
proto udp

# zu diesem Port wird eine Verbindung aufgebaut
port 1194

# IP Adresse des Open VPN Server
remote 217.7.xxx.xxx


# diese Parameter beeinflussen die Paketgrösse
tun-mtu 1500
fragment 1300
mssfix

# Path zu den Zertifikaten und Schlüsseln
ca cacert.pem
cert client-crt.pem
key client-key.pem

# Authentifizierungsprotokoll
auth SHA1

# Verschlüsselungsalgorithmus
cipher AES-256-CBC

# Komprimierung benutzen
comp-lzo

# bei Abbruch der Verbindung Schlüssel behalten
persist-key
persist-tun

# Protokollierung
verb 5



Bevor der Client gestartet werden kann müssen noch die erstellten Client Zertifikate und das Zertifikate der Zertifizierungstelle
auf den Client kopiert werden.

/etc/openvpn/zertifikate/demoCA/cacert.pem

/etc/openvpn/zertifikateclient-crt.pem
/etc/openvpn/zertifikate/client-key.pem

 

Starten des OpenVPN Servers

als Dienst

/etc/init.d/openvpn

oder mit Debug Ausgabe auf Konsole;

openvpn --config /etc/openvpn/server.conf

 

Der Windows Client kann auf folgender Seite heruntergeladen werden:

 

http://openvpn.net