OpenVPN auf dem Raspberry Pi installieren

OpenVPN Logo

Die Installation und Einrichtung von OpenVPN geht ziemlich zügig und recht simpel. Wir nutzen dazu ein Installationsscript, welches im Grunde die ganze Arbeit abliefert. Wir passen im Nachhinein nur noch die weiteren Clienten an, welche sich dann später auf den Server verbinden sollen.

wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh -O openvpn-install.sh

Haben wir das Script heruntergeladen, dann können wir dieses ausführen:

sudo bash openvpn-install.sh

Prinzipiell kann jede Frage mit Ja (‚y‚) beantwortet werden. Solltest Du eine eigene DynDNS – Adresse haben, dann musst Du diese bei der „DNS resolvers“ Frage,
unter Punkt 13, eingeben. Danach wirst Du über den Namen des ersten Clienten gefragt. Gib dazu etwas sinnvolles ein und der Rest wird automatisch erledigt.

Die Konfigurationsdatei (.ovpn) befindet sich auf dem Pi standardmäßig in: /home/pi

Weitere Clienten werden folgender Maßen erstellt:

cd /home/pi
nano name.ovpn

Da fügen wir dann folgenden Inhalt ein und ersetzen die Einträge, welche hier mit zwei Rauten (##) beginnen. Einen Ausschnitt bekommen wir mit dem Befehl „cat“ hin und können uns die Ausgabe dann in die name.ovpn kopieren. Erklärung zu den Inhalten, Zertifikaten und Key-Dateien:

remote *Hier Deine IP und den Port angeben*
==> Der Port muss im Router auf den Raspberry weitergeleitet werden!

<ca>
cat /etc/openvpn/easy-rsa/pki/ca.crt
</ca>

Nur der untere Teil zwischen BEGIN und END
<cert>
cat /etc/openvpn/easy-rsa/pki/issued/name.crt
</cert>

<key>
cat /etc/openvpn/easy-rsa/pki/private/name.key
</key>

<tls-crypt>
cat /etc/openvpn/tls-crypt.key
</tls-crypt>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

client
proto udp
explicit-exit-notify
remote DNS-Adresse 50402
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_uwDSGXdzT9dilMmE name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
<ca>
##etc/openvpn/easy-rsa/pki# cat ca.crt
</ca>
<cert>
##etc/openvpn/easy-rsa/pki/issued# cat katrin.crt
##Nur der untere Teil zwischen BEGIN und END
</cert>
<key>
##etc/openvpn/easy-rsa/pki/private# cat katrin.key
</key>
<tls-crypt>
##etc/openvpn# cat tls-crypt.key
</tls-crypt>