OpenVPN 2 Diskstations, Datensicherung in beide Richtungen

phuture303

Benutzer
Mitglied seit
15. Jul 2012
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe an Standort A eine Diskstation als VPN-Client (192.168.178.xx), als Standort B eine Diskstation als VPN-Server (192.168.2.xx); aufgebaut ist eine Verbindung via OpenVPN (DynDNS mit Selfhost.eu). Jeden Abend führe ich von A nach B eine Datensicherung durch, das funktioniert hervorragend. Ich nutze als Ziel der Datensicherung die interne, statische IP-Adresse der DS B.

Nun ist DS an Standort B nicht mehr nur für die Datensicherung zuständig, sondern wird dort als Cloudstation genutzt. Diesen Ordner "Cloudstation" möchte ich nun auch täglich über den VPN-Tunnel auf Standort A sichern.

Das Problem vor dem ich stehe: Die DS A erhält vom VPN-Server der DS B wechselnde dynamische IP-Adressen (mal 10.8.5.6, mal 10.8.5.10) – nach jedem Neuaufbau dank Zwangstrennung an Standort B gefühlt ziemlich willkürlich. Wenn ich das richtig sehe, müsste ich diese IP-Adresse jedoch als Ziel bei der Einrichtung der Datensicherung auf DS B angeben; da diese aber nicht fest ist, komme ich hier nicht weiter.

Da gibt's doch bestimmt einen einfachen Trick?

Danke :)

Viele Grüße
Dave
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Dave,

dafür wirst Du einiges an Handarbeit anlegen müssen. Hier sind auf der Serverseite einige Configs manuell anzupassen. Am komfortabelsten geht das wahrscheinlich mit WinSCP. (user=root, passwort vom admin und Protokoll SCP). Jetzt zu den Änderungen die nötig sind.

Einen Ordner anlegen mit der Bezeichnung "ccd" unter folgendem Pfad. /var/packages/VPNCenter/etc/openvpn beispielsweise auch auf der Kommandozeile mit

Rich (BBCode):
mkdir /var/packages/VPNCenter/etc/openvpn/ccd

oder eben auch über WinSCP.

In diesem Ordner ein File mit dem Namen deines Benutzers anlegen der sich über OpenVPN einwählt. Also beispielsweise "admin". In diesem File sollte folgender Inhalt stehen.

Rich (BBCode):
iroute 192.168.178.0 255.255.255.0

Jetzt das überschreiben der ccd Files verhindern. In der Datei /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf folgende Zeile entsprechend anpassen

Rich (BBCode):
overwriteccfiles=false

In der Config des OpenVPN-Servers unter /var/packages/VPNCenter/etc/openvpn/openvpn.conf folgende Zeilen einfügen.

Rich (BBCode):
route 192.168.178.0 255.255.255.0
client-config-dir ccd
client-to-client

Und zu guter Letzt den VPN-Server neustarten nicht vergessen. Per Remote immer etwas schwierig. Am einfachsten über das DSM die DS neu starten und hoffen das sich kein Tippfehler eingeschlichen hat. :) Fertig

Jetzt kannst Du die DS auf der Clientseite mit ihrer lokalen IP ansprechen. Ich hoffe ich hab jetzt nichts vergessen. Wenn Du noch statische Routen auf den jeweiligen Routern angibst kannst Du sogar entsprechend von jedem Gerät auf die Geräte des anderen Subnetzes zugreifen. Dann Häkchen im Clienten "Anderen Geräten ...." nicht vergessen.

Gruß Frank
 

phuture303

Benutzer
Mitglied seit
15. Jul 2012
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo Frank,

ui, vielen Dank – also nicht klicki-bunti, wie ich gehofft habe ;-) WinSCP habe ich nicht (bin Mac-Nutzer), aber das OS X-Terminal ist mir zumindest nicht komplett fremd. Mal sehen ob ich damit zurecht komme; ich werde mich nächstes Wochenende dransetzen, wenn ich wieder direkt vor Ort der DS B bin.
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Eine Alternative wäre noch der "Config File Editor". Mit dem ginge das auch noch ohne Kommandozeile. Oder eben back to the roots mit vi. Für meinen Mac hab ich da leider auch noch keine richtige Alternative zu WinSCP gefunden.

Gruß Frank
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Hi, darf ich das Thema noch mal aufwärmen? @ Mods: Wenn nicht, macht schnipp und macht mir einen eigene Thread daraus.

Ich bin ebenfalls gerade dabei ein bidirektionales VPN zwischen zwei DS (DS213j und DS214) aufzubauen. Die stärkere DS214 soll als Server dienen. (Ziel ist im Endausbau, dass jeder seine Daten beim anderen sichern kann).

lokale Server IP: 192.168.3.4 -> VPN IP 10.8.0.1
Fritzbox enthält für die Netze 192.68.2.0 und 10.8.0.0 die 192.168.3.4 als next hop

lokale Client IP: 192.168.2.12 -> VPN IP 10.8.0.6
Linksys Router enthält für die Netze 192.68.3.0 und 10.8.0.0 die 192.168.2.12 als next hop

Der VPN-User ist auf beiden DS mit gleichen Credetials vorhanden.

Der Aufbau funktioniert, aber leider kann ich nicht vom einen LAN auf das anderen zugreifen.
Ich kann von einem PC mit der IP 192.168.3.2 im LAN des Server die VPN IPs des Servers und die VPN IP des Clients anpingen.
Vom VPN Client kann ich ebenfalls die VPN-Server IP erreichen (logisch). Was ich nicht kann, ist vom Client-LAN (192.168.2.x) auf die VPN-Server IP zugreifen (10.8.0.1) und erst recht nicht auf die LAN-IP des Servers oder anderer PCs.

Mein Ziel wäre, dass ich aus beiden LANs über das VPN auf das andere LAN zugreifen kann, ohne, dass ich die Tunnel IPs benutze. Was fehlt mir noch, damit das geht?

Konfig Client Router:
routingtabelle router.PNG

Routingtabelle des VPN Clients (bitte nicht vom Hostnamen irritieren lassen):
vpnlint.PNG

Routingtabelle des VPN-Servers:
vpnserver.PNG

Konfig Server Router:
routingfritz.jpg


So sehen meine Konfigs auf dem Server aus:
/var/packages/VPNCenter/etc/openvpn/CCD/<username>:
ifconfig-push 10.8.0.5 255.255.255.0
iroute 192.168.2.0 255.255.255.0

/var/packages/VPNCenter/etc/openvpn/opnvpn.conf:
push "route 192.168.3.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
dev tun

management 127.0.0.1 1195

server 10.8.0.0 255.255.255.0


route 192.168.2.0 255.255.255.0
client-config-dir ccd
client-to-client

dh /var/packages/VPNCenter/target/etc/openvpn/keys/dh1024.pem
ca /var/packages/VPNCenter/target/etc/openvpn/keys/ca.crt
cert /var/packages/VPNCenter/target/etc/openvpn/keys/server.crt
key /var/packages/VPNCenter/target/etc/openvpn/keys/server.key

max-clients 5

comp-lzo

persist-tun
persist-key

verb 3

#log-append /var/log/openvpn.log

keepalive 10 60
reneg-sec 0

plugin /var/packages/VPNCenter/target/lib/radiusplugin.so /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf
client-cert-not-required
username-as-common-name
duplicate-cn
 
Zuletzt bearbeitet:

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

warum folgst Du nicht der oben beschriebenen Anleitung? Ein ifconfig-push ist in den ccd-files gar nicht nötig. Und in der Config des Radiusplugins fehlt definitiv das overwriteccfiles=false. Hier dürfte Dir jedesmal das Radiusplugin iroute überschreiben.

Du schreibst leider nicht welche Version vom DSM du nutzt. Aber in den erweiterten Einstellungen des VPN-Clienten gibt es auch noch einen Haken den man setzen sollte wenn andere Clienten diese Verbindung nutzen sollen.

Gruß Frank
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Hi Frank,

Danke für die Antwort. Ich benutze DSM 5-4493 Update 2 auf beiden.

Ich bin deiner Anleitung gefolgt, und damit geht es nicht weiter- oder was habe ich deiner Meinung nach vergessen/übersehen? Den ifconfig-push hat DSM selbst reingeschrieben, genauso, wie DSM auch eine Datei mit dem VPN-User selbst erstellt hatte, musste ich nur noch in den zuerstellenden CCD verschieben. In anderen Anleitungen wird zudem dazu geraten, bzw. es nicht als problematisch angekreidet. http://backreference.org/2009/11/15/openvpn-and-iroute/ Letztlich will es ähnlich wie dort aufbauen. Eigentlich sollen es mal 3 LANs sein, die ich verbinden will. Aber bevor ich mich mit dem dritten befasse, will ich erstmal die Verbindung zwischen zwei so konfigurieren, wie es sein soll. Ich habe hier mal den Plan des Netzes als PDF angehängt. Aktuell realisiere ich A <-> B, C kommt wie gesagt später dazu. Anhang anzeigen Visio-VPN-Plan.pdf. Die rote durchgehende Linie zeigt die dauerhafte Verbindung an, die von beiden Seiten erreichbar sein soll. Die gestrichelte (normal rot) die zusätzliche Funktion und die gepunktete (dunkel rot) ist erst mal optional (wenn ich Bedarf erkenne) und ist aktuell nicht Gegenstand des Posts.

Beim VPN-Profil Erstellen am Client habe ich nur "Komprimierung" und "Wieder verbinden" aktiviert, die anderen beiden Einstellungen haben immer dazu geführt, dass die DS (VPN Client) nicht mehr mit der lokalen IP ansprechbar war.

Bei der radiusplugin.cnf ist wie oben beschrieben konfiguriert.
radius.PNG


Durch das Hinzufügen von push "route 192.168.3.0 255.255.255.0 10.8.0.1" in die CCD bin ich wenigstens soweit, dass ich mittlerweile vom VPN Client das lokale Netz 192.168.3.0, in dem der Server steht, erreiche.
Die statische Routen der Router sind auch ok, beim Traceroute lande ich immer auf dem jeweiligen VPN-Server/Client, leider geht es von dort nicht weiter.
 
Zuletzt bearbeitet:

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
push "route 192.168.3.0 255.255.255.0 10.8.0.1"

So kann man das auch zerbasteln. :) Vergiß doch mal das Tunnelsubnetz und die entsprechenden IP's. Für die Zukunft kannst Du die Geräte jeweils aus dem einen wie aus dem anderen Netz mit ihren lokalen IP's ansprechen. Ich möchte Dir das mal zusammenfassen wie es funktioniert.

Clientseitig Subnetz 192.168.2.0/24
Serverseitig Subnetz 192.168.3.0/24
Tunnelsubnetz 10.8.0.0

Auf der Clientseite Zertifikat und Config nehmen wie sie ist und nur die ddns-Adresse eintragen. Das Doppelkreuz vor redirect-gateway bleibt stehen.

Auf der Serverseite entsprechend in #4 beschrieben ccd Verzeichnis anlegen. Für den entsprechenden Benutzer ein File mit diesem Namen anlegen. In dieses File dann

Rich (BBCode):
iroute 192.168.2.0 255.255.255.0

eintragen. Die Änderung in der Konfig des Radius-Plugin overwriteccfiles=false nicht vergessen. Sonst schreibt das Radius-Plugin irgendwelche ifconfig Zeilen in die ccd-Files die dann zum Fehler führen. Mehr ist hier auch nicht nötig.

In der Server-Config sollte auf der Servseite folgendes vorhanden sein. Verwaltet der VPN-Server selbst.

Rich (BBCode):
push "route 192.168.3.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
...
server 10.8.0.0 255.255.255.0

Hier sind zusätzlich noch folgende Zeilen einzufügen

Rich (BBCode):
route 192.168.2.0 255.255.255.0
client-config-dir ccd
client-to-client

Danach Neustart nicht vergessen und evt. noch mal prüfen ob das Radius-Plugin die ccd's nicht überschrieben hat. Ab jetzt sollte jedenfalls der Zugriff von einer DS auf die andere und umgekehrt funktionieren.

Nun zu den statischen Routen. Um allen Teilnehmern in jedem Subnetz zusätzlich noch die Möglichkeit zu geben miteinander zu kommunizieren sind zusätzliche Routen nötig die man vorzugsweise auf dem Router setzt. Gehe mal davon aus das in beiden Netzen jeweils die IP des Routers auf allen Geräten als Standard-Gateway eingetragen ist.

Auf der Clientseite also eine statischen Route mit folgenden Eckpunkten eintragen

Subnetz 192.168.3.0 Maske 255.255.255.0 und als Gateway die IP der Client-DS also irgendwas 192.168.2.XXX

Ab DSM 5 zusätzlich noch folgende Route (War unter 4.3 glaube ich nicht nötig ist aber in keinem Fall schädlich)

Subnetz 10.8.0.0 Maske 255.255.255.0 und als Gateway die IP der Client-DS also irgendwas 192.168.2.XXX

Auf der Serverseite

Subnetz 192.168.2.0 Maske 255.255.255.0 und als Gateway die IP der Server-DS also irgendwas 192.168.3.XXX

Das war es wenn ich nicht was vergessen habe. Ansonsten für die Fehlerdiagnose würde ich erst einmal das log des Server herranziehen. Hier kann helfen ein entsprechendes Log mit der Direktive log-append zu aktivieren oder aber auch die Managementkonsole bzw. die /var/log/messages. Nach jeder Änderung der Configs nicht vergessen den VPN-Server neu zu starten. Glaube bei Änderungen am Radius auch den kompletten VPN-Server nicht nur OpenVPN.

Ansonsten tracert bzw. traceroute gibt Dir immer Auskunft wo es hängt. Immer daran denken für einen erfolgreichen Netzverkehr muß sowohl eine Hin- wie auch eine Rückroute bestehen. Deshalb auch so ein Aufwand mit route, iroute und statischen Einträgen.

Das Erweitern auf weitere Netze ist auch kein Problem. Hier müssen nur entsprechende Benutzer mit anderen (i)Routen bzw. die Routen eingetragen werden.

Gruß Frank
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Danke, so toll ich das finde, dass du mir hilfst, habe ich das Gefühl, dass du die Antwort entweder kopiert hast (kann es dir nicht direkt verübeln), oder sonst irgendein Missverstädnnis vor liegt. Wenn ich jetzt vergleiche, was du mir als Konfig vorschlägst und ich konfiguriert habe, so muss ich nur ifconfig-push 10.8.0.5 255.255.255.0 und route 192.168.3.0 255.255.255.0 10.8.0.1 aus der Datei im CCD rausnehmen. Die openvpn.conf auf dem Server sieht ja schon so aus, wie du es schreibst. Statt zu sagen, dass meine openvpn.conf so ok ist, schreibst du, was ich grundsätzlich hinzufügen muss, das verwirrt :/. Das habe ich ja bereits, wie man oben sieht. Da Einzige was ich also noch mal versuchen muss ist das mit dem Redirect-Gateway + CCD bereinigen.

Zu den Routen, sollen die noch zusätzlich auf der DS konfiguriert werden, oder nur auf dem lokalen Router? Letzteres ist ja getan, ist ersters nötig? Die DS kennen ja laut Screenshots die lokalen Netze laut der Routingtabelle und als Pfad eben die VPN Tunnel-IP.
Auf der Clientseite Zertifikat und Config nehmen wie sie ist und nur die ddns-Adresse eintragen.
Was genau meist du mit Config nehmen? Klar ich exportiere das Cert und eine Config und importiere das Cert, aber wo soll die mitexportierte Konfig hin?
 
Zuletzt bearbeitet:

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
.. dass du die Antwort entweder kopiert hast (kann es dir nicht direkt verübeln), oder sonst irgendein Missverstädnnis vor liegt.

Weiß ja nicht wo Du der Meinung bist das man das herkopiert. Ich hab das nur zig mal schon erfolgreich umgesetzt. Und alle deine oben dargestellten Konfigs hab ich nicht zeichenweise überprüft. Auch die Konfig für den Radius hab ich nicht im Kopf hier hab ich nur die einzig extrem wichtige Änderung im Kopf.

Zu den Routen, sollen die noch zusätzlich auf der DS konfiguriert werden, oder nur auf dem lokalen Router?

Wenn wie schon geschrieben auf allen Geräten das Standard-Gateway eingetragen ist dann sind auf irgendwelchen Clienten keine Routen nötig. Und gerade die DS ist ja die einzige (dem entsprechend auch als Gateway für die staischen Routen) die den Weg kennt.

Gruß Frank
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
OK.

Ich werde es dann mit noch mal mit
- Redirect Standardgw (hoffentlich bleibt der Client stabil erreichbar)
- ohne push ifconfig in der ccd
- ohne push "route ...." in der ccd

versuchen.

Was du mir noch nicht gesagt hast, was ich mit der exportierten Konfig auf dem Client machen kann. Zum Konfigurieren des Clients habe ich doch den Wizard im DSM? Brauche da doch nur im Wizard den DDNS, den User und das Zertifikat?

Der Rest sollte passen. Danke.

Auf das mit dem Kopieren war ich halt nur gekommen, da es für mich wirkte, als ob du garnicht auf mein Problem eingegehen willst. Kenne sowas sonst nur von Textbausteinen. Macht jetzt aber nix, ist ja geklärt. Das Kernproblem scheint wenn das fehlende Redirect der Std-GWs zu sein, denn der Rest hatte sonst auch so nicht funktioniert (ccd-file nur mit dem iroute).
 
Zuletzt bearbeitet:

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
DANKE! Hat im zweiten Anlauf denn geklappt! :D
 

tomtom00

Benutzer
Mitglied seit
23. Sep 2011
Beiträge
430
Punkte für Reaktionen
0
Punkte
0
Ich push das Thema einmal kurz.
"nicht ich" könntest du evtl. nochmal in Kürze erklären, was dich nun genau zum Erfolg gebracht hat?
Im vorletzten Beitrag von Dir schreibst Du nämlich "denn der Rest hatte sonst auch so nicht funktioniert"
 

drpsy

Benutzer
Mitglied seit
03. Okt 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

uraltes Thema, ich weiß, aber ich habe versucht nach der Anleitung von Frank 2 DS per OpenVPN miteinander zu verbinden und das Subnet des Clients von Serverseite her verfügbar zu machen. Es klappt auch in soweit, als ich auf die ClientDS unter ihrer remoteIP zugreifen kann, nicht jedoch auf das Subnet hinter dieser. cat /proc/sys/net/ipv4/ip_forward gibt mir jeweils ne 1 aus, IP routen sind soweit ich das richtig sehe auch korrekt. Hat jemand ne Idee, woran es haken kann? Könnte es ein Problem mit DSM 6 sein? Bin für jede Hilfe dankbar.
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Welche Routen hast du denn im jeweiligen Router eingetragen?

Ganz wichtig ist, dass der CCD Ordner und die CCD File a) vorhanden b) vor Manipulation durch DSM geschützt und c) richtig konfiguriert sind.

b) macht man mit in dem man in der Datei VPNCenter\target\etc\openvpn\radiusplugin.cnf die Zeile overwriteccfiles=false
....
Das hast eigentlich Frank alles genau erklärt.


@tomtom, ich weiß es war etwas spät, aber ich habe die Anleitung einfach nur noch mal exakt befolgt.

PS: Ich habe im September auf ein Fritz-VPN gewechselt, es wurde mir zu blöd, dass nach jedem oder jedem zweiten DSM-Update die VPN-Konfig zurückgesetzt oder durch DSM verändert wurde.
 
Zuletzt bearbeitet:

drpsy

Benutzer
Mitglied seit
03. Okt 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Ja, habe mich wie gesagt komplett am die Anleitung gehalten und noch mal gecheckt. Routen habe ich keine extra angelegt, nur geschaut, ob alle richtig gesetzt sind. Wie gesagt, den Client kann ich unter seiner remote IP erreichen, nur das subnetz dahinter nicht.
 
Zuletzt bearbeitet:

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Da du deine IPs nicht genannt hast, hier ein Beispiel Also wenn du das Netz A 192.168.0.0 (DiskStation A 192.168.0.10) und das Netz B 192.168.1.0 (DiskStation B 192.168.1.11) hast. Musst du dem Router A eintragen, dass das Netz 192.168.1.0 255.255.255.0 über die Ip 192.168.0.10 zu erreichen ist und dem Router B musst du mitteilen, dass das Netz A über die IP 192.168.1.11 zu erreichen ist.
 

drpsy

Benutzer
Mitglied seit
03. Okt 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Danke, aber das habe ich ja auch schon gemacht. Wenn ich mit einem PC aus Netz A, in dem sich auch der VPN Server befindet, den Client in Netz B anpinge geht das ohne Probleme. Nur die PCs hinter dem Client erreiche ich nicht. Umgekehrt ist kein Problem.

P.S.: Hier noch mal mein setup:

Netz A: DS214se als VPN Server mit DSM 6 (192.168.0.10)
Netz B: DS115j als Client mit DSM 6 (192.168.1.10)

VPN ist 10.2.0.0/24
 

Tom80

Benutzer
Mitglied seit
06. Okt 2015
Beiträge
137
Punkte für Reaktionen
2
Punkte
18
Hallo,

Ich habe auch noch eine Frage zur Anleitung von fpo4711.
Was muss ich hier bei der Verwendung von PPTP einstellen?
OpenVPN funktioniert bei mir nicht.

Tom
 

nicht ich

Benutzer
Mitglied seit
20. Dez 2013
Beiträge
91
Punkte für Reaktionen
1
Punkte
14
Aus Sicherheitsgründen rate ich dir von PPTP ab, es ist knackbar. Und solange beide Teilnehmer OpenVPN können, geht auch OpenVPN. Ansonsten kann ich zu PPTP nix sagen. PPTP habe ich nur einmal getestet und bei OpenVPN bin ich vor einem 3/4 Jahr ausgestiegen. Mache FritzVPN - eine wesentlich einfachere unanfälligere Lösung.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat