Problem: Verbindung einer Synology als Client zu einem OpenVPN Server schlägt fehl.
Erklärung: Beim Versuch eine Synology als Client zu einem OpenVPN Server,welcher neben der Userkennung auch TLS/SSL als Authentifizierung vorschreibt, schlägt die Verbindung fehl. Im Synology OpenVPN Wizard wird lediglich als Fehlermeldung “Verbindung fehlgeschlagen. Bitte überprüfen Sie Ihre Netzwerkeinstellungen” angezeigt.
Das Logfile auf meiner OpenVPN Appliance zeigte beim Verbindungsversuch folgenden Fehler:
openvpn[12924]: TLS Error: cannot locate HMAC in incoming packet from [AF_INET]:1194
Lösung: Man verbindet sich via SSH als root auf seine Synology und installiert dort zunächst das Paket ipkg wie folgt. Das Passwort ist das selbe wie für den admin im Webinterface.
Mit dem Befehl cat /proc/cpuino | grep “model name” erfahrt ihr, welcher Prozessor in der Synology verbaut ist. Ich arbeite mit einer ds713+ in der sich eine Intel Atom CPU befindet. Diese Info ist wichtig um das korrekte ipkg Paket installieren zu können.
Die Anleitung und das Paket findet ihr in diesem Wiki, nachdem ich mich gerichtet habe:
http://www.synology-wiki.de/index.php/IPKG
Sobald Ihr IPKG installiert habt, kommt ihr wieder zurück zu diesem Artikel und es geht weiter!
Nachwievor auf der Synology via ssh führt man jetzt folgenden Befehl aus:
ipkg install module-init-tools openvpn openssl bash
Ob die folgenden Sachen wirklich notwendig sind, weiß ich nicht. Dies habe ich aus der Installation für den Synology-OpenVPN Server und hab die Befehle auf jeden Fall mal ausgeführt. Obwohl wir die Synology ja nur als Client und nich als Server nutzen wollen, schadet es zumindest mal nicht.
/sbin/insmod /lib/modules/tun.ko
mkdir /dev/net/
mknod /dev/net/tun c 10 200
echo 1 > /proc/sys/net/ipv4/ip_forward
Jetzt löscht man erstmal bis auf die client_oxxxxx und ovpn_oxxxxx.conf alles andere aus dem Ordner
/usr/syno/etc/synovpnclient/openvpn
und kopiert (am einfachsten mit WinSCP) die folgenden Dateien des OpenVPN Servers auf in diesen Ordner.
VPNUSER.p12
VPNUSER-tls.key
VPNUSER.crt (Mir fiel gerade auf, dass dieses File nirgends von den bearbeiteten Config-Files genutzt wird. Ich hab es aber trotzdem kopiert und liegen gelassen)
Jetzt passt man noch die client_oxxxxx und die ovpn_oxxxxx wie folgt an:
client_oxxxxx
dev tun
tls-client
client
remote 1194
pull
proto udp
cipher AES-128-CBC
tls-remote ServerCert
pkcs12 VPNUSER.p12
tls-auth VPNUSER-tls.key 1
comp-lzo
redirect-gateway
script-security 2
float
reneg-sec 0
explicit-exit-notify
plugin /lib/openvpn/openvpn-down-root.so /etc/ppp/ip-down
auth-user-pass /tmp/ovpn_client_up
resolv-retry infinite
ovpn_oxxxxx
[client]
dev=tun
tls-client=_ON_
client=_ON_
remote= 1194
pull=_ON_
proto=udp
cipher=AES-128-CBC
tls-remote=ServerCert
pkcs12=VPNUSER.p12
tls-auth=VPNUSER-tls.key 1
comp-lzo=_ON_
redirect-gateway=_ON_
script-security=2
float=_ON_
reneg-sec=0
explicit-exit-notify=_ON_
plugin=/lib/openvpn/openvpn-down-root.so /etc/ppp/ip-down
auth-user-pass=/tmp/ovpn_client_up
resolv-retry=infinite
[syno]
user=NAS
pass=KdfQ5S8QgdQp5g==
nat=yes
conf_name=OpenVPN
reconnect=yes
Zurück im Webinterface der Synology sollte sich der OpenVPN Client nun zum OpenVPN Server verbinden können.








