Konfiguration von OpenVPN mit Pre-Shared Keys

Als Ausgangsbasis benutzen wir unser Arbeitsverzeichnis /etc/openvpn (Linux) oder c:\Programme\OpenVPN\config (Windows).
Für die Konfiguration mit Preshared Keys ist weniger Arbeit notwendig, als mit Zertifikaten und es ist einfacher bzw. Fehler lassen sich schneller finden.

Wir wechseln in unser Arbeitsverzeichnis, wo wir später unsere Konfigurationsdatei anlegen werden.
Unter Windows können wir den Befehl zur Key Erstellung genauso verwenden wie unter Linux, da die Syntax gleich ist.

Wir erstellen jetzt einen Key mit dem unser VPN Tunnel später verschlüsselt wird:

Code:

openvpn --genkey --secret geheim.key

Dieser Key wird für jede Gegenstelle gebraucht und muß daher auf jeden Teilnehmer kopiert werden.
Der Schlüsselaustausch sollte über ein sicheres Medium wie z.B. per SSH ausgetauscht werden!
Hat ein fremder diesen Schlüssel so kann er den VPN Tunnel knacken!

Beispiel Konfigurationen

Ausgangslage
OpenVPN Server: Netzwerk Home: 192.168.1.1/24, VPN Adresse: 10.1.0.1
OpenVPN Client: Netzwerk Home; 192.168.2.10/24, VPN Adresse; 10.1.0.2

Server:

Code:

dev tun
ifconfig 10.1.0.1 10.1.0.2
up /etc/openvpn/server.up
secret /etc/openvpn/geheim.key # Geheimer Schlüssel
port 1194
user nobody # Nur Linux
group nobody # Nur Linux
comp-lzo
Verbosity level
verb 3

Unser server.up Script für die Route

Code:

touch server.up && chmod +x server.up

mit folgenden Inhalt:

Code:

#!/bin/bash
route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.1.0.2

Unter Windows würde eine Angabe so aussehen:

Code:

route add 192.168.2.0 mask 255.255.255.0 10.1.0.2 metric 1 -p

„-p“ sorgt dafür, dass die gesetzte Route permanent gesetzt wird.

Client:

Code:

dev tun
remote 192.168.1.1
ifconfig 10.1.0.2 10.1.0.1
up etc/openvpn/client1.up
secret /etc/openvpn/geheim.key # Geheimer Schlüssel
port 1194
user nobody # Nur Linux
group nobody # Nur Linux
comp-lzo
verb 3

Für den Clienten die Route setzen:

Code:

touch client1.up && chmod +x client1.up

Mit folgenden Inhalt:

Code:

#!/bin/bash
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.1.0.1

Unter Windows würde eine Angabe so aussehen:

Code:

route add 192.168.1.0 mask 255.255.255.0 10.1.0.1 metric 1 -p

„-p“ sorgt dafür, dass die gesetzte Route permanent gesetzt wird.

Auf beiden Seiten starten wir nun unser VPN mit folgendem Befehl

Code:

openvpn --config /pfad/zur/openvpn.conf

Nun sollte die Verbindung stehen.

Wir testen die Verbindung auf dem Clienten mit

Code:

ping 10.1.0.1

Kommt hier eine positive Message... Glückwunsch der VPN Tunnel funktioniert.