Comment installer un VPN client-to-site avec VeeamPN ?
Sommaire
I. Présentation
Dans un précédent article, nous avions vu comment mettre en place un VPN client-to-site avec PfSense et OpenVPN. Ce tutoriel quant à lui va vous expliquer comment installer un VPN client-to-site avec la solution gratuite VeeamPN de l'éditeur Veeam.
L'avantage de cette solution c'est qu'elle ne nécessite pas de mettre en place pare-feu, mais cela a également des inconvénients ; nous y reviendrons. Il s'agit d'une solution autonome basée sur Ubuntu 18.04 et qui ne sert qu'à monter un VPN. Plusieurs options sont proposées :
- VPN client-to-site, c'est-à-dire vos postes clients qui se connectent à distance au réseau de votre entreprise
- VPN site-to-site, c'est-à-dire l'interconnexion de deux sites (deux réseaux)
Pour le déploiement de VeeamPN, il y a plusieurs solutions :
- Sur le cloud AWS d'Amazon
- Sur le cloud Azure de Microsoft
- Sur votre infrastructure on-premise, sur votre propre serveur (ou PC)
Dans ce tutoriel, le déploiement sera effectué on-premise sur un serveur VMware ESXi à l'aide du fichier OVA proposé par Veeam. Ce package va permettre de créer une VM préconfigurée. Si vous souhaitez utiliser votre propre machine virtuelle, Veeam propose un script d'installation. Quant à la partie poste client, elle repose sur le client OpenVPN (gratuit) dans lequel on va venir charger une configuration.
Voici le schéma de la configuration que je vais mettre en place :
Dans votre cas, le pare-feu PfSense que j'utilise peut être remplacé par un tout autre pare-feu, mais également par un simple routeur si vous n'avez pas de pare-feu. L'idée est la suivante : créer une règle de redirection de ports (PAT) pour rediriger les demandes de connexion VPN qui arrivent sur l'IP publique (et donc sur le pare-feu/routeur) vers le serveur VeeamPN. Sinon, il faudrait que le serveur VeeamPN ait directement une adresse IP publique.
II. Création de la VM VeeamPN
Pour accéder au téléchargement gratuit de VeeamPN, vous devez créer un compte sur le site de Veeam. Ensuite, vous recevrez un e-mail avec un lien pour télécharger le produit sur cette page : Télécharger - VeeamPN
Le fait de cliquer sur "Download" vous permettra de télécharger le fichier OVA.
Puisqu'il s'agit d'un fichier OVA, il est possible de l'importer sur un serveur VMware ESXi, mais aussi sur un PC qui serait équipé de VMware Workstation ou VMware Workstation Player. Puisque cette VM nécessite peu de ressources, bien que ce soit variable en fonction du nombre de clients à connecter, un poste de travail peut suffire.
Sur VMware ESXi, il faut créer une nouvelle machine virtuelle et choisir l'option "Déployer une machine virtuelle à partir d'un fichier OVF ou OVA". Il faut indiquer le chemin vers le fichier OVA pour le charger sur votre serveur et créer la VM.
Pour ma part, j'ai créé la VM "VeeamPN" et voici les ressources qu'elle consomme par défaut : 1 Go de RAM et 8 Go de disque. Plutôt light ?
Lorsque la machine démarre, on voit rapidement qu'il s'agit d'un Ubuntu 18.04.3 LTS. Un système qui a encore quelques années de support devant lui. Pour se connecter, voici les identifiants par défaut :
- Utilisateur : root
- Mot de passe : VeeamPN
Attention, le clavier est en QWERTY, il faudra saisir le mot de passe de cette façon : Veeq,PN
L'intérêt de se connecter sur le système, ça va être de récupérer l'adresse IP (obtenue par DHCP) grâce à la commande suivante :
ifconfig
Dans mon cas, on voit bien que l'adresse IP est 192.168.1.23.
Maintenant, à partir d'une machine connectée sur le même réseau que la VM VeeamPN, nous allons effectuer la configuration avec un navigateur.
III. Configuration du VPN client-to-site avec VeeamPN
La mise en place s'effectue en plusieurs étapes. Tout d'abord, nous allons créer un Network Hub VeeamPN grâce à notre VM, puis sur celui-ci, on va déclarer un HUB site. Enfin, nous pourrons déclarer nos postes clients.
A. Création du Network Hub
Rendez-vous sur un poste client connecté sur le même réseau et à l'aide d'un navigateur, vous pouvez accéder à l'interface d'administration de VeeamPN : https://<adresse-IP>
Les identifiants sont ceux cités précédemment et vous serez invité à les changer.
La configuration initiale va débuter. Sélectionnez "Network Hub" puisque l'autre option est à utiliser dans un scénario de VPN site à site.
Indiquez le nom de votre domaine pour le certificat et la longueur de la clé.
Patientez... Lorsque le certificat auto-signé est créé, cliquez sur "OK".
Maintenant, il est temps de configurer le tunnel VPN en lui-même. Indiquez l'adresse IP publique ou le nom DNS à inclure dans votre configuration pour joindre votre serveur VeeamPN. S'il y a un pare-feu ou un routeur en frontal, ce sera son IP publique à préciser et il faudra faire une règle de redirection de port, nous y reviendrons.
Cochez la case "Enable point-to-site VPN" et laissez le protocole UDP. Le port par défaut est 6179, vous pouvez le modifier. Cliquez sur "Finish".
Désormais, vous arrivez sur l'interface principale de VeeamPN puisque l'initialisation est terminée. Mais nous n'avons pas pour autant terminé la configuration !
B. Création d'un HUB Site
Il va falloir créer un HUB Site c'est-à-dire déclarer le réseau local que l'on veut rendre accessible au travers du VPN. Pour ma part, ce sera le réseau 192.168.1.0/24.
Sur la gauche, cliquez sur "Clients" puis sur "Add".
Choisissez "HUB Site" et continuez.
Donnez un nom à ce site, par exemple "LAN" ou "VLAN_X", et indiquez l'adresse réseau associée. On pourrait imaginer tricher sur le masque de sous-réseau pour réduire le scope et cibler uniquement certains serveurs (voire un serveur avec un /32).
Le HUB Site est créé et il est activé :
C. Création des clients VPN
Toujours dans le menu "Clients", on va de nouveau ajouter un élément. Cette fois-ci de type "Standalone computer".
Donnez un nom à ce client. Je pense que c'est une bonne idée de mettre le nom de l'utilisateur ou le nom du PC. Si le nom ne correspond pas exactement au nom de la machine (nom dans Windows, par exemple), cela n'a pas d'importance.
Si vous cochez l'option "Use HUB server as a default gateway (all internet traffic will go through HUB)", ce client sera en mode full tunnel, c'est-à-dire que tous les flux vont passer dans le tunnel VPN.
Le client est déclaré, vous pouvez en ajouter d'autres par la suite. Lorsque l'on crée un client, comme ici "PC-FLO", on a la possibilité de télécharger le fichier de configuration du poste client. Cliquez sur "Download" et gardez le fichier de côté...
Note : la configuration peut être sauvegardée en cliquant sur "Settings" à gauche, puis "System" et "Backup".
D. Redirection de port sur le pare-feu
Comme le montre le schéma présenté au début de l'article, mon serveur VeeamPN n'a pas d'adresse IP publique directement. J'ai un pare-feu pfSense en frontal donc je dois créer une règle de redirection de port.
L'idée est la suivante : rediriger les flux UDP/6179 qui arrive sur l'adresse IP publique du pare-feu vers mon serveur VeeamPN pour traiter les flux VPN.
Voici la règle de pare-feu créée dans la section NAT de PfSense :
IV. Test de connexion au VPN
Commencez par télécharger et installer OpenVPN sur votre PC si vous ne l'avez pas. Il est disponible à cette adresse : OpenVPN Community
Pour importer la configuration de VeeamPN, il faut mettre le fichier "OVPN" obtenu précédemment dans le répertoire suivant : "C:\Programmes\OpenVPN\config\". Vous pouvez créer un sous-dossier VEEAMPN et le stocker dedans mais ce n'est pas obligatoire.
Dans la barre des tâches de Windows, effectuez un clic droit sur l'icône OpenVPN. Votre configuration doit s'afficher dans la liste, si c'est la seule configuration OpenVPN de votre PC, vous avez directement accès au bouton "Connecter". Cliquez dessus.
La connexion VPN va se monter... Si tout va bien, l'icône OpenVPN doit passer au vert ?
Vous avez surement constaté qu'il n'y a pas besoin d'indiquer d'identifiant et de mot de passe, la connexion s'effectue grâce au certificat et à la clé privée. Les deux sont inclus dans le fichier de configuration. On retrouve notamment les informations saisies lors de l'initialisation.
À partir de là, sur l'interface VeeamPN, le client "PC-FLO" est bien sur le statut "Connected". Il y a son adresse IP au niveau du tunnel VPN, ainsi que le trafic généré en entrée et en sortie.
Il y a également des graphiques sur l'activité des différents clients, c'est plutôt intéressant de ce point de vue là.
Au niveau des journaux, on a également une visibilité sur l'historique des connexions.
Depuis le poste client, vous devez être en mesure de contacter vos serveurs situés au sein de votre "HUB Site" déclaré dans la configuration d'OpenVPN.
V. Conclusion
Mettre en place un VPN avec VeeamPN s'avère relativement simple et rapide. On peut regretter qu'il n'y ait pas plus d'options pour gérer les flux à l'intérieur du tunnel VPN. En l'état, tous les flux sont autorisés dans le tunnel VPN puisqu'il n'est pas possible de créer des règles comme on le ferait sur un firewall.
La partie reporting avec le tableau de bord, les journaux et les graphes est intéressante pour suivre l'activité des postes clients : qui s'est connecté et à quel moment ? Vous devez penser à déclarer vos postes clients sur l'interface de VeeamPN et déposer sur chaque poste client la configuration associée (et ne pas copier la même configuration sur tous les postes).
« mais cela a également des inconvénients ; nous y reviendrons. » quel sont les incovénients ??
Bonjour,
L’inconvénient principal de ne pas monter le VPN directement sur un pare-feu et d’utiliser VeeamPN, c’est qu’il n’est pas possible de réaliser du filtrage pour autoriser uniquement certains flux. Par exemple, on pourrait autoriser seulement l’accès VPN sur un serveur spécifique, sur un port spécifique (pour le Bureau à distance, par exemple) : là ce n’est pas possible à partir de VeeamPN directement.
Restant disponible
Cordialement,
Florian
Bonjour,
merci pour ce tuto qui m’a bien était utile.
je cherche le même pour déployer du site à site avec VeeamPN.
Cordialement
Merci pour ce superbe article bien détaillé ! Je cherche une alternative à VeeamPN dorénavant car ce dernier a été décomisionné en 2022 .
https://community.veeam.com/discussion-boards-66/veeampn-has-been-discontinued-3646
https://forums.veeam.com/veeam-tools-for-microsoft-azure-f36/veeampn-has-been-discontinued-t83348.html#p467237
Si jamais vous en connaissez je prends
Bonjour,
Je recherche à faire cohabiter ipv4 et v6 sur un serveur openvpn . Actuellement les utilisateurs font un partage de connexion de leur mobile pour utiliser leur accès VPN. L’APN doit obligatoirement etre configuré en ip v4 pour que la connexion au serveur soit établie ( problème les dernieres versions d’IOS ne proposent plus de revenir en ipv4) . Quelqu’un a t’il deja plancher sur le pb ?