Hallo allemaal!
Ik weet dat er veel gedaan is met OpenVPN-configuraties. Echter, ik ben zelf tegengekomen dat er in principe geen gesystematiseerde informatie is over het onderwerp van de titel, en ik besloot mijn ervaringen te delen, vooral met degenen die geen guru zijn in OpenVPN-beheer, maar wel willen zorgen voor de verbinding van externe subnetten op een soort site-to-site op een NAS Synology. Ook voor mezelf om als notitie te bewaren.
Dus. Er is een NAS Synology DS918+ met de geĆÆnstalleerde package VPN Server, die is ingesteld met OpenVPN en gebruikers die verbinding kunnen maken met de VPN-server. Ik zal niet in details treden over de serverconfiguratie in de DSM-interface (webportaal van de NAS-server). Deze informatie is beschikbaar op de website van de fabrikant.
Het probleem is dat de DSM-interface (op de publicatiedatum versie 6.2.3) een beperkt aantal instellingen heeft voor het beheren van de OpenVPN-server. In ons geval is er een verbindingssysteem van het type site-to-site nodig, dat wil zeggen dat de hosts van het VPN-clienten subnet de hosts van het VPN-server subnet moeten kunnen zien en vice versa. De standaardinstellingen die beschikbaar zijn op de NAS, maken alleen toegang mogelijk van de hosts van het VPN-clienten subnet naar de hosts van het VPN-server subnet.
Voor het instellen van toegang tot de subnetten van de VPN-klanten vanuit het subnet van de VPN-server moeten we via SSH toegang krijgen tot de NAS en het configuratiebestand van de OpenVPN-server handmatig instellen.
Voor het bewerken van bestanden op de NAS via SSH gebruik ik het liefst Midnight Commander. Daarvoor heb ik in het Package Center de bron verbonden en het pakket Midnight Commander geĆÆnstalleerd.

We gaan via SSH naar de NAS met een account met beheerdersrechten.

Typ sudo su en geef opnieuw het administratorwachtwoord op:

Typ het commando mc in en start Midnight Commander:

Vervolgens gaan we naar de map /var/packages/VPNCenter/etc/openvpn/ en vinden we het bestand openvpn.conf:

Volgens de taak moeten we 2 externe subnetten verbinden. Hiervoor maken we via DSM 2 accounts aan op de NAS met beperkte rechten voor alle NAS-diensten en geven we alleen toegang tot de VPN-verbinding in de instellingen van de VPN-server. Voor elke client moeten we een statisch IP instellen dat wordt toegewezen door de VPN-server en we routen het verkeer via dit IP van het subnet van de VPN-server naar het subnet van de VPN-client.
Brongegevens:
Subnet van de VPN-server: 192.168.1.0/24.
IP-pool van de OpenVPN-server 10.8.0.0/24. De OpenVPN-server krijgt het adres 10.8.0.1.
Subnet van de VPN-client 1 (VPN-gebruiker): 192.168.10.0/24, moet op de OpenVPN-server het statische adres 10.8.0.5 krijgen.
VPN-client subnet 2 (user VPN-GUST): 192.168.5.0/24, must receive a static address 10.8.0.4 on the OpenVPN server.
In the settings directory, create a folder named ccd and create configuration files inside it, named according to the user logins.

For the VPN user, we write the following settings in the file:

For the VPN-GUST user, we specify the following in the file:

We only need to adjust the OpenVPN server configuration ā add a parameter to read client settings and add routes to client subnets:

In the provided screenshot, the first 2 lines of the config are set up using the DSM interface (checking the 'Allow clients to access the server's local network' option in the OpenVPN server settings).
The line client-config-dir ccd indicates that client settings are located in the ccd folder.
The next 2 lines of settings add routes to the client subnets via the corresponding OpenVPN gateways.
And finally, for proper operation, it is necessary to apply the subnet topology.
All other settings in the file remain untouched.
After writing the settings, don't forget to restart the VPN Server service in the package manager. On hosts or the gateway for the server's subnets, specify routes to the client subnets through the NAS.
In my case, the gateway for all hosts in the subnet where the NAS is located (its IP 192.168.1.3) was the router (192.168.1.1). On this router, I added routing entries for the networks 192.168.5.0/24 and 192.168.10.0/24 to the gateway 192.168.1.3 (NAS) in the static routing table.
Don't forget that with the firewall on the NAS enabled, it will need to be configured as well. Plus, the client's side may have a firewall enabled that also needs to be configured.
P.S. I am not a professional in networking technologies, particularly in working with OpenVPN; I am just sharing my experience and publishing the configurations I made that allowed me to set up communication between subnets in a site-to-site manner. There may be simpler and/or more correct configurations available, and I would be glad if you share your experience in the comments.
Bron: habr.com
