Moin! So... Testnetz aufsetzen, Syno installieren & konfigurieren, OpenVPN-Client installieren, bissken Troubleshooting und auf geht's
:
<-- Hier beginnt der Teil für micha-l (trifft aber ggf. auch auf andere zu) -->
-> Bitte denk daran, dass Du die Angaben wie z.B. "10.8.0.x" jeweils durch Deine eigenen Angaben "192.168.122.x" (wie im DSM beim OpenVPN-Server konfiguriert) ersetzen musst, oder es eben wieder auf den Standard zurücksetzt!
1) Alle "eigenen" Einstellungen aus der Client-Config entfernen, bis auf die Serveradresse (Deine externe). Es sollte danach "so" aussehen:
dev tun
tls-client
remote <externe hostadresse> 1194
# The "float" tells OpenVPN to accept authenticated packets from any address,
# not only the address which was specified in the --remote option.
# This is useful when you are connecting to a peer which holds a dynamic address
# such as a dial-in user or DHCP client.
# (Please refer to the manual of OpenVPN for more information.)
#float
# If redirect-gateway is enabled, the client will redirect it's
# default network gateway through the VPN.
# It means the VPN connection will firstly connect to the VPN Server
# and then to the internet.
# (Please refer to the manual of OpenVPN for more information.)
#redirect-gateway def1
# dhcp-option DNS: To set primary domain name server address.
# Repeat this option to set secondary DNS server addresses.
#dhcp-option DNS DNS_IP_ADDRESS
pull
# If you want to connect by Server's IPv6 address, you should use
# "proto udp6" in UDP mode or "proto tcp6-client" in TCP mode
proto udp
script-security 2
ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass
2) Via SSH auf die Shell der Syno, bearbeitet wird die Datei: "
/usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf"
Wird ergänzt mit:
push "dhcp-option DNS 10.8.0.1"
push "block-outside-dns"
push "redirect-gateway autolocal"
(einfach direkt unter den vorhanden "push "route..."-Eintrag)
3) VPN-Server neustarten (einfach über das Webinterface z.B.). Bei Interesse das Logfile mitlesen unter "log-append /var/log/openvpn.log" (wenn in openvpn.conf auf dem NAS die Raute vor dem Eintrag "
log-append /var/log/openvpn.log" entfernt hat, ansonsten kurz nachholen und VPN-Server wieder neustarten). Gestaltet sich mit der Shell auf der Syno dann wie folgt:
"tail -f /var/log/openvpn.log"
Dort müsste dann etwas in dieser Art erscheinen:
SENT CONTROL [<Username>]: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,dhcp-option DNS 10.8.0.1,block-outside-dns,redirect-gateway,route 10.8.0.1,topology net30,ping 10,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5' (status=1)
Hier sieht man sehr gut, welche Dinge mitgegeben werden bei dieser VPN-Einwahl (damit man weiss, dass es auch klappt). Beenden kann man die Ausgabe dann einfach via STRG+C.
Ob der DNS-Dienst auch an den richtigen Schnittstellen auf Anfragen wartet, erfahren wir mit diesem Befehl:
netstat -tulpen | grep ":53" | grep -i listen
Die passende Ausgabe sollte ungefähr so aussehen:
tcp......0......0......10.8.0.1:53......0.0.0.0:*......LISTEN......2315/named
Es werden noch mehr Einträge dabei sein, aber die sind diesbezüglich nicht relevant (es werden noch die anderen Adapter z.B. LAN aufgeführt).
4) Kommen wir zum eigentlichen Knackpunkt: Windows... (wer hätte es gedacht...
). Selbst wenn die DNS-Option korrekt mitgegeben wird, stört es Windows einfach nicht. Normalerweise sollte der Adapter mit der VPN-Verbindung für die DNS-Abfrage genutzt werden, bevorzugterweise, wenn sowieso alles durch den Tunnel soll. Das ganze war auch schon vor längerem ein Thema (vgl.
KB311218.
Ich hatte unter W7Ultimate (jepp, gekauft
) nur das Problem, dass ich nur GUIDs vorgefunden habe, macht aber nix, einfach ganz oben in die Liste "\Device\NdisWanIp" (natürlich ohne Anführungszeichen!) einfügen, das geht auch ganz ohne GUID. Danach wird bei einer VPN-Einwahl auch der korrekte Server gefragt (der, der bei der openvpn.conf auf dem NAS konfiguriert wurde ("
push "dhcp-option DNS...").
5) Alle Versuche (ping 10.8.0.1+remote-LAN (Erreichbarkeit), tracert
www.google.de (Paketverfolgung durch den Tunnel), nslookup <DNS-Eintrag auf SynoDNS>) sollten nun erfolgreich sein. So klappt es schon mal unter Windows 7 (wollte nicht noch eine Windows10-Trial extra dafür aufsetzen).
Sofern doch noch Probleme auftreten, sag bitte Bescheid, mit Windows10 kann es wohl sowieso noch das ein oder andere Problem geben, dies wäre erstmal so die grundlegende Lösung. Ich persönliche mache nach wie vor einen großen Bogen um Windows10 und ich werde auch immer wieder daran erinnert warum...
Soweit, ich hoffe es bringt was, micha-l !!
<-- Hier beginnt der allgemeine Teil -->
An alle anderen Mitleser, Interessenten und interessierten Mitleser: Dieses Beispiel ist sehr auf die Bedürfnisse von micha-l zugeschnitten (DNS auf der Syno, jeglichen Verkehr durch das VPN schicken) und sollte nicht einfach kopiert werden! Dennoch hoffe ich, dass es hier dem ein oder anderen dadurch etwas leichter fällt, die Verbindung auf der Synology entsprechend zu konfigurieren. Daher nachfolgend noch kurz ein paar Erklärungen zur openvpn.conf, wo die Einstellungen für die Clients festgelegt werden, welche dann an die Clients geschoben werden ("push") werden (nur kurz die hier aufgeführten Dinge und sicherlich ist damit das Ende der Fahnenstange lange nicht erreicht):
push "dhcp-option DNS 10.8.0.1" < eigenen DNS-Server vorgeben
push "block-outside-dns" < Es wird nur der oben angegebene eigene vorgegebene DNS-Server des VPN-Adapters genutzt
push "redirect-gateway" < sämtlichen Verkehr durch den VPN-Tunnel schicken
Diese Optionen können nach Lust und Laune genutzt werden, wobei die 2 oberen zusammen Sinn ergeben und die untere entweder mit den beiden oberen zusammen, oder eben alleine (dann ohne DNS-Auflösung im Remotenetz) Sinn macht). Wer nun Lust auf mehr hat, im
OpenVPN-Wiki finden sich noch tonnenweise Optionen, viel Spass damit!
Salvatorische Klausel (für die Kritikerfraktion): „Sollten einzelne Aussagen dieser Hilfestellung unwirksam oder undurchführbar sein oder nach Durchführung unwirksam sein, bleibt davon die Gültigkeit der Hilfestellung im Übrigen unberührt. An die Stelle der unwirksamen oder undurchführbaren Hilfestellungen soll diejenige wirksame und durchführbare Hilfestellung treten, deren Wirkungen der wirtschaftlichen Zielsetzung am nächsten kommen, die die lesenden Hilfesuchenden mit der unwirksamen bzw. undurchführbaren Hilfestellung verfolgt haben....oder so... *schnauf* .... & natürlich gilt wie immer: "Wer Schreibfehler findet, darf Sie behalten!"... (Was heisst hier "provozierend"? Ich beuge lediglich vor... für den Fall der Fälle... ihr wisst schon
)
EDIT: Für die Aufgaben in der Shell kann man z.B. "putty" nutzen, oder für die weniger geübten einfach "WinSCP" (Dateiexplorer), dort könnt ihr die Dateien einfach wie ein Textdokument öffnen und bearbeiten.