Bonjour à tous !
Je sais qu'il existe de nombreuses configurations pour OpenVPN. Cependant, je me suis personnellement rendu compte qu'il n'y a pas d'informations systématisées sur le sujet du titre, et j'ai décidé de partager mon expérience principalement avec ceux qui ne sont pas des gourous dans l'administration d'OpenVPN, mais qui souhaiteraient établir des connexions entre des sous-réseaux de type site à site sur un NAS Synology. Cela me sert aussi de note pour me souvenir.
Donc, nous avons un NAS Synology DS918+ avec le paquet VPN Server, configuré pour OpenVPN avec des utilisateurs pouvant se connecter au serveur VPN. Je ne vais pas entrer dans les détails de la configuration du serveur dans l'interface DSM (le portail web du NAS). Ces informations sont disponibles sur le site du fabricant.
Le problème est que l'interface DSM (à la date de publication, version 6.2.3) dispose d'un nombre limité de paramètres pour gérer le serveur OpenVPN. Dans notre cas, nous avons besoin d'un schéma de connexion de type site à site, c'est-à-dire que les hôtes du sous-réseau du client VPN doivent pouvoir voir les hôtes du sous-réseau du serveur VPN, et vice versa. Les configurations standards disponibles sur le NAS ne permettent de configurer l'accès que des hôtes du sous-réseau du client VPN vers les hôtes du sous-réseau du serveur VPN.
Pour configurer l'accès aux sous-réseaux des clients VPN depuis le sous-réseau du serveur VPN, nous devrons accéder au NAS via SSH et configurer manuellement le fichier de configuration du serveur OpenVPN.
Pour modifier les fichiers sur le NAS via SSH, je préfère utiliser Midnight Commander. Pour cela, j'ai connecté la source dans le Centre des paquets et j'ai installé le paquet Midnight Commander.

Nous nous connectons au NAS via SSH avec un compte ayant des droits d'administrateur.

Nous tapons sudo su et indiquons à nouveau le mot de passe de l'administrateur :

Nous tapons la commande mc et lançons Midnight Commander :

Ensuite, nous naviguons jusqu'au répertoire /var/packages/VPNCenter/etc/openvpn/ et trouvons le fichier openvpn.conf :

Pour la tâche, nous devons connecter 2 sous-réseaux distants. Pour ce faire, nous créons via DSM 2 comptes sur le NAS avec des droits limités sur tous les services NAS et nous donnons l'accès uniquement pour la connexion VPN dans les paramètres du VPN Server. Pour chaque client, nous devons configurer une adresse IP statique attribuée par le serveur VPN et router le trafic depuis le sous-réseau du serveur VPN vers le sous-réseau du client VPN via cette adresse IP.
Données d'origine :
Sous-réseau du serveur VPN : 192.168.1.0/24.
Pool d'adresses du serveur OpenVPN 10.8.0.0/24. Le serveur OpenVPN lui-même obtient l'adresse 10.8.0.1.
Sous-réseau du client VPN 1 (utilisateur VPN) : 192.168.10.0/24, doit recevoir une adresse statique 10.8.0.5 sur le serveur OpenVPN.
Sous-réseau VPN client 2 (utilisateur VPN-GUST) : 192.168.5.0/24, doit recevoir une adresse statique 10.8.0.4 sur le serveur OpenVPN.
Dans le répertoire des paramètres, créons un dossier ccd et y créons des fichiers de configuration portant des noms correspondant aux identifiants des utilisateurs.

Pour l'utilisateur VPN, nous indiquons les paramètres suivants dans le fichier :

Pour l'utilisateur VPN-GUST, nous indiquons les éléments suivants dans le fichier :

Il ne reste plus qu'à affiner la configuration du serveur OpenVPN — ajouter un paramètre pour lire les paramètres des clients et ajouter des routages pour les sous-réseaux des clients :

Dans la capture d'écran fournie, les deux premières lignes de la configuration se définissent via l'interface DSM (en cochant l'option « Autoriser les clients à accéder au réseau local du serveur » dans les paramètres du serveur OpenVPN).
La ligne client-config-dir ccd indique que les paramètres des clients se trouvent dans le dossier ccd.
Ensuite, les deux lignes de configuration ajoutent des routes vers les sous-réseaux des clients via les passerelles OpenVPN correspondantes.
Et enfin, pour un bon fonctionnement, il est nécessaire d'appliquer la topologie subnet.
Nous ne touchons à aucun des autres paramètres dans le fichier.
Après avoir indiqué les paramètres, n'oubliez pas de redémarrer le service VPN Server dans le gestionnaire de paquets. Pour les hôtes ou les passerelles des hôtes du sous-réseau du serveur, il faut définir des routes vers les sous-réseaux des clients via le NAS.
Dans mon cas, la passerelle pour tous les hôtes du sous-réseau, où se trouve le NAS (son IP 192.168.1.3), était le routeur (192.168.1.1). Sur ce routeur, j'ai ajouté au tableau de routage statique des entrées de routage pour les réseaux 192.168.5.0/24 et 192.168.10.0/24 vers la passerelle 192.168.1.3 (NAS).
N'oubliez pas que si le pare-feu est activé sur le NAS, il faudra également le configurer. De plus, du côté client, un pare-feu peut être activé, qui devra aussi être configuré.
P.S. Je ne suis pas un professionnel des technologies réseau et en particulier du travail avec OpenVPN, je partage simplement mon expérience et publie les paramètres que j'ai réalisés, permettant d'établir une communication entre les sous-réseaux de type site-à-site. Il existe peut-être une configuration plus simple et/ou correcte, je serais ravi si vous partagiez votre expérience dans les commentaires.
Source : habr.com
