Hallo zusammen!
Ich weiß, dass es viele Lösungen mit OpenVPN-Einstellungen gibt. Allerdings bin ich selbst auf das Problem gestoßen, dass es prinzipiell keine systematisierten Informationen zum Thema gibt, und habe beschlossen, meine Erfahrungen vor allem mit denen zu teilen, die keine Gurus in der OpenVPN-Administration sind, aber gerne eine Verbindung zwischen entfernten Subnetzen wie site-to-site auf einem NAS Synology herstellen möchten. Auf diese Weise möchte ich mir auch selbst eine Notiz zum Nachdenken hinterlassen.
Also. Es gibt ein NAS Synology DS918+ mit installiertem Paket VPN Server, der mit OpenVPN konfiguriert ist und Benutzern, die sich mit dem VPN-Server verbinden können. Ich werde nicht näher auf die Details der Serverkonfiguration im DSM-Interface (Webportal des NAS-Servers) eingehen. Diese Informationen sind auf der Website des Herstellers verfügbar.
Das Problem ist, dass das DSM-Interface (zum Zeitpunkt der Veröffentlichung in Version 6.2.3) eine begrenzte Anzahl von Einstellungen zur Verwaltung des OpenVPN-Servers hat. In unserem Fall ist ein site-to-site Verbindungsschema erforderlich, d. h. die Hosts des VPN-Client-Subnetzes müssen die Hosts des VPN-Server-Subnetzes sehen können und umgekehrt. Die typischen Einstellungen, die auf dem NAS verfügbar sind, erlauben nur den Zugang von den Hosts des VPN-Client-Subnetzes zu den Hosts des VPN-Server-Subnetzes.
Um den Zugang zu den Subnetzen der VPN-Clients aus dem Subnetz des VPN-Servers einzurichten, müssen wir über SSH auf das NAS zugreifen und die Konfigurationsdatei des OpenVPN-Servers manuell anpassen.
Zum Bearbeiten von Dateien auf dem NAS über SSH benutze ich am liebsten Midnight Commander. Dafür habe ich im Paketzentrum die Quelle verbunden und das Paket Midnight Commander installiert.

Wir loggen uns über SSH mit einem Administratorkonto auf dem NAS ein.

Wir geben sudo su ein und geben das Administratorkennwort erneut ein:

Wir geben den Befehl mc ein und starten Midnight Commander:

Dann gehen wir in das Verzeichnis /var/packages/VPNCenter/etc/openvpn/ und suchen die Datei openvpn.conf:

Für die Aufgabe müssen wir 2 entfernte Subnetze verbinden. Dazu erstellen wir über DSM 2 Konten auf dem NAS mit eingeschränkten Rechten für alle NAS-Dienste und gewähren nur Zugriff auf die VPN-Verbindung in den Einstellungen des VPN-Servers. Für jeden Client müssen wir eine statische IP vom VPN-Server zuweisen und das Routing des Traffics von dem Subnetz des VPN-Servers zum Subnetz des VPN-Clients über diese IP einrichten.
Eckdaten:
Subnetz des VPN-Servers: 192.168.1.0/24.
Adresspool des OpenVPN-Servers 10.8.0.0/24. Der OpenVPN-Server erhält die Adresse 10.8.0.1.
Subnetz des VPN-Clients 1 (VPN-Benutzer): 192.168.10.0/24, soll vom OpenVPN-Server die statische Adresse 10.8.0.5 erhalten.
VPN-Client-Subnet 2 (Benutzer VPN-GUST): 192.168.5.0/24, muss auf dem OpenVPN-Server die statische Adresse 10.8.0.4 erhalten.
Im Einstellungsverzeichnis erstellen wir einen Ordner ccd und erstellen darin Konfigurationsdateien mit Namen, die den Benutzernamen entsprechen.

Für den Benutzer VPN werden im Datei folgende Einstellungen vorgenommen:

Für den Benutzer VPN-GUST werden im Datei folgende Einstellungen vorgenommen:

Es bleibt nur, die Konfiguration des OpenVPN-Servers anzupassen – Parameter für das Einlesen der Kundeneinstellungen hinzuzufügen und Routen zu den Kundensubnetzen hinzuzufügen:

In dem Screenshot werden die ersten 2 Zeilen der Konfiguration über die DSM-Oberfläche konfiguriert (Setzen des Häkchens für den Parameter „Benutzern den Zugriff auf das lokale Netzwerk des Servers erlauben“ in den OpenVPN-Servereinstellungen).
Die Zeile client-config-dir ccd gibt an, dass sich die Einstellungen der Clients im Ordner ccd befinden.
Die nächsten 2 Zeilen der Konfiguration fügen Routen zu den Kundensubnetzen über die entsprechenden OpenVPN-Gateways hinzu.
Und schließlich ist für eine ordnungsgemäße Funktion die Anwendung der Topologie subnet erforderlich.
Alle anderen Einstellungen in der Datei bleiben unangetastet.
Nach dem Festlegen der Einstellungen vergessen wir nicht, den VPN-Serverdienst im Paketmanager neu zu starten. Auf Hosts oder Gateways für die Hosts des Servernetzwerks Routen zu den Kundensubnetzen hinzufügen.
In meinem Fall fungierte der Router (192.168.1.1) als Gateway für alle Hosts des Netzwerkes, in dem sich die NAS (Ihre IP 192.168.1.3) befindet. Auf diesem Router habe ich Einträge für die Routingtabellen für die Netzwerke 192.168.5.0/24 und 192.168.10.0/24 zum Gateway 192.168.1.3 (NAS) hinzugefügt.
Vergessen Sie nicht, dass bei aktiviertem Firewall auf der NAS auch diese konfiguriert werden muss. Außerdem kann auf der Clientseite eine Firewall aktiviert sein, die ebenfalls konfiguriert werden muss.
P.S. Ich bin kein Profi in Netzwerktechnologien und insbesondere nicht im Umgang mit OpenVPN, teile einfach meine Erfahrung und veröffentliche die Konfigurationen, die es mir ermöglicht haben, die Verbindung zwischen den Subnetzen im Site-to-Site-Modus zu konfigurieren. Möglicherweise gibt es einfachere und/oder bessere Einstellungen, ich würde mich freuen, wenn Sie Ihre Erfahrungen in den Kommentaren teilen.
Quelle: habr.com
