Salut à tous,
Je viens partager mon expérience concernant la connexion d'un Synology sur un serveur OpenVPN tiers lorsque ce dernier demande une config un peu plus poussée que ce qu'offre la fonction Openvpn cliente intégrée au Syno (ex : gestion TLS/SSL, types d'encryption variées, port différent que celui par defaut, gestion de PKI, etc..., bref tout ce qu'un fichier de configuration client peut contenir lorsqu'on a besoin d'une config particulière).
Pour situer le contexte, je possède un serveur OpenVPN sous distribution Pfsense (Firewall Opensource) à mon taf, et mon souhait était d'utiliser le Synology de chez moi (DS-111 pour ma part) en tant que passerelle connecté à ce serveur distant afin que mes postes puissent accéder directement à mon réseau d'entreprise (mode Site-à-Site).
Afin de procéder vous aurez besoin de pouvoir accéder en SSH (ou Telnet) à votre Syno ou posséder un client SCP de type WinSCP (ceci étant facultatif, ça permet de faciliter le transfert de fichiers mais vous pouvez tout aussi bien le faire depuis votre SSH en publiant et copiant les fichiers depuis un endroit accessible de votre NAS).
Dans un premier temps, nous allons préparer les fichiers de configurations spécifique à notre connexion VPN.
Pour cela, vous allez devoir créer 2 fichiers représentant votre connexion cliente. Dans mon exemple pour ce tuto, ma connexion s'appellera PrepaPerso.
Prenez un bloc note (ou tout autre editeur de texte) et commencer par créer les 2 fichiers de la manière suivante (il est important de bien respecter les préfixes donnés à ces fichiers et de ne pas utiliser de caractères spéciaux après ces préfixes) :
ovpn_PrepaPerso.conf
client_PrepaPerso
Vous remarquez donc que le fichier avec le prefixe "ovpn_" possède l'extention ".conf" tandis que celui commencant par "client_" n'en possède pas, ceci étant normal.
Editez tout d'abord le fichier "client_PrepaPerso" et renseignez le de la manière suivante en fonction de votre propre configuration :
dev tun
tls-client
client
remote prepaperso.com 2015
pull
proto udp
cipher BF-CBC
ca CA_PrepaPerso.crt
pkcs12 CERT_VPN_Prepa_Perso.p12
tls-auth ta.key 1
comp-lzo
redirect-gateway
script-security 2
float
reneg-sec 0
explicit-exit-notify
plugin /lib/openvpn/openvpn-down-root.so /etc/ppp/ip-down
auth-user-pass /tmp/ovpn_client_up
resolv-retry infinite
Editez ensuite le fichier "ovpn_PrepaPerso.conf, et toujours selon votre configuration, remplissez le de la manière suivante :
[client]
dev=tun
tls-client=_ON_
client=_ON_
remote=prepaperso.com 2015
pull=_ON_
proto=udp
cipher=BF-CBC
ca=CA_PrepaPerso.crt
Pkcs12=CERT_VPN_Prepa_Perso.p12
tls-auth=ta.key 1
comp-lzo=_ON_
redirect-gateway=_ON_
script-security=2
float=_ON_
reneg-sec=0
explicit-exit-notify=_ON_
plugin=/lib/openvpn/openvpn-down-root.so /etc/ppp/ip-down
auth-user-pass=/tmp/ovpn_client_up
resolv-retry=infinite
[syno]
user=UserVPN
pass=h8klp6OyKw==
nat=yes
conf_name=PrepaPerso
reconnect=yes
Adapter vos paramètres dans ces deux fichiers selon vos besoins à vous, les exemples ci-dessus n'étant que des paramètres propres à mon utilisation mais vous permette d'avoir un approche assez exhaustive d'un fichier de configuration client avancé, et je pense que si vous avez pris le soin de suivre ce tuto c'est que vous avez déjà des notions avancées de configuration Openvpn
Comme vous pouvez le constater, dans mon exemple, je fais appelle à 3 fichiers (Certificats + clé) nécessaire à ma connexion VPN :
ca=CA_PrepaPerso.crt
Pkcs12=CERT_VPN_Prepa_Perso.p12
tls-auth=ta.key 1
Si tel est votre cas, récuperer donc ces derniers et centraliser les avec les 2 fichiers nouvellement crées.
Je voudrais aussi m'arrêter sur le fait que mon serveur VPN exige une authentification mais ce n'est pas toujours vrai dans certaines configurations. Si tel est le cas, enlever alors la ligne suivante des 2 fichiers de configuration :
auth-user-pass /tmp/ovpn_client_up
Une fois tout vos fichiers rassemblés, connectez-vous donc en SCP (ou SSH) à votre syno et rendez vous à l'endroit suivant :
/usr/syno/etc/synovpnclient
Copiez alors l'intégralités de vos fichiers à cet endroit. Pour ma part, j'ai donc dans mon exemple 5 fichiers que sont :
CA_Prepa.crt
CERT_VPN_Prepa_Perso.p12
client_PrepaPerso
ovpn_PrepaPerso.conf
ta.key
Enfin, rendez-vous dans l'interface de votre Synology, Panneau de configuration > VPN et si tout est OK vous devriez y voir votre nouvelle connexion VPN.
Cliquez alors sur "Connecter" et enjoy