Sicheres Netzwerk

VPN-Server mit dem Raspberry Pi aufbauen

21.11.2014
Von David Wolski

Server: Die Schlüssel erzeugen

Schlüsselaustausch mittels Diffie-Hellman: Bei dieser kryptografischen Methode werden zufällige Diffie-Hellman-Parameter erzeugt, was auf der ARM-CPU des Raspberry Pi eine Weile dauert.
Schlüsselaustausch mittels Diffie-Hellman: Bei dieser kryptografischen Methode werden zufällige Diffie-Hellman-Parameter erzeugt, was auf der ARM-CPU des Raspberry Pi eine Weile dauert.

Bevor es daran geht, die Schlüssel für den den Server und für die Clients zu erstellen, ist es erst noch nötig, ein eigenes CA-Zertifikat für die Signatur der Schlüssel zu erzeugen. Dies gelingt, indem Sie zuerst mit

cd /etc/openvpn/easy-rsa

in das Script-Verzeichnis gehen und dann mit

sudo -s

eine Root-Shell öffnen. Die folgenden Befehle werden dann gleich mit Root-Rechten ausgeführt, und ein vorangestelltes sudo ist nicht nötig. Mit

source ./vars

lesen Sie zuerst die zuvor gesetzten Variablen der Datei "vars" ein. Dann führen Sie die beiden Befehle

./clean-all
./build-dh

aus, um ein sauberes Schlüsselverzeichnis zu erzeugen und die Diffie-Hellmann-Werte, welche für die Kryptographie-Funktionen des VPNs nötig sind. Die Berechnung dieser zufälligen Werte nimmt auf dem Raspberry Pi rund eine Minute in Anspruch.

Bevor Sie nun die Zertifikate für den Open-VPN-Server sowie die Clients erstellen können, ist es notwendig, das CA-Zertifikat zum Signieren der Server- und Client-Zertifikate zu erstellen. Dies führen Sie mit den folgenden beiden Befehlen aus:

./build-ca
./build-key-server MeinVPN

Es erfolgen jeweils nach jedem Befehl einige Abfragen der bereits festgelegten Parameter, und Sie können die Werte in eckigen Klammern einfach durch einen Druck auf die Eingabetaste übernehmen. Beim letzten Befehl zum Erzeugen der Server-Schlüssel erfolgt zudem noch die Rückfrage nach einem optionalen Passwort, dass Sie leer lassen. Abschließend Beantworten Sie noch die Rückfragen "Sign the certificate?" und "Commit" mit "y".

Als Nächstes geht es zur eigentlichen Konfiguration des Open-VPN-Servers. Mit dem Befehl

nano /etc/openvpn/server.conf

öffnen Sie eine neue, noch leere Konfigurationsdatei im Texteditor. Tragen Sie dort die Zeilen ein, die im Kasten "Konfigurationsdatei des Open-VPN-Servers" abgedruckt ist.