Aujourd'hui, nous allons examiner les options de configuration VPN que NSX Edge nous propose.
En général, nous pouvons diviser les technologies VPN en deux types clés :
VPN de site à site. L'utilisation la plus courante d'IPSec consiste à créer un tunnel sécurisé, par exemple, entre un réseau de bureau principal et un réseau sur un site distant ou dans le cloud.
VPN d'accès à distance. Utilisé pour connecter des utilisateurs individuels à des réseaux privés d'entreprise à l'aide du logiciel client VPN.
NSX Edge nous permet d'utiliser les deux options.
Nous allons configurer à l'aide d'un banc de test avec deux NSX Edge, un serveur Linux avec un démon installé raton laveur et un ordinateur portable Windows pour tester le VPN d'accès à distance.
IPsec
Dans l'interface de vCloud Director, accédez à la section Administration et sélectionnez le vDC. Dans l'onglet Passerelles Edge, sélectionnez l'Edge dont nous avons besoin, cliquez avec le bouton droit et sélectionnez Services de passerelle Edge.
Dans l'interface NSX Edge, accédez à l'onglet VPN VPN-IPsec, puis à la section Sites VPN IPsec et cliquez sur + pour ajouter un nouveau site.
Remplissez les champs obligatoires :
Activé – active le site distant.
PFS – garantit que chaque nouvelle clé cryptographique n'est associée à aucune clé précédente.
ID local et point de terminaison localt est l'adresse externe de NSX Edge.
Sous-réseau locals - réseaux locaux qui utiliseront le VPN IPsec.
ID de pair et point de terminaison de pair – adresse du site distant.
Sous-réseaux homologues – les réseaux qui utiliseront le VPN IPsec du côté distant.
Algorithme de chiffrement – algorithme de chiffrement tunnel.
Authentification - comment nous authentifierons le pair. Vous pouvez utiliser une clé pré-partagée ou un certificat.
Clé Pré-Partagée - spécifiez la clé qui sera utilisée pour l'authentification et qui doit correspondre des deux côtés.
Groupe Diffie Hellman – algorithme d'échange de clés.
Après avoir rempli les champs obligatoires, cliquez sur Conserver.
Terminé.
Après avoir ajouté le site, accédez à l'onglet Statut d'activation et activez le service IPsec.
Une fois les paramètres appliqués, accédez à l'onglet Statistiques -> VPN IPsec et vérifiez l'état du tunnel. On voit que le tunnel s'est élevé.
Vérifiez l'état du tunnel depuis la console de la passerelle Edge :
show service ipsec - vérifier l'état du service.
show service ipsec site - Informations sur l'état du site et paramètres négociés.
show service ipsec sa - vérifie l'état de l'association de sécurité (SA).
Vérification de la connectivité avec un site distant :
root@racoon:~# ifconfig eth0:1 | grep inet
inet 10.255.255.1 netmask 255.255.255.0 broadcast 0.0.0.0
root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10
PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
--- 192.168.0.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
Fichiers de configuration et commandes supplémentaires pour les diagnostics depuis un serveur Linux distant :
Tout est prêt, le VPN IPsec site à site est opérationnel.
Dans cet exemple, nous avons utilisé PSK pour l'authentification par les pairs, mais l'authentification par certificat est également possible. Pour ce faire, accédez à l'onglet Configuration globale, activez l'authentification par certificat et sélectionnez le certificat lui-même.
De plus, dans les paramètres du site, vous devrez changer la méthode d'authentification.
Je note que le nombre de tunnels IPsec dépend de la taille de la passerelle Edge déployée (lire à ce sujet dans notre premier article).
VPN SSL
SSL VPN-Plus est l'une des options VPN d'accès à distance. Il permet aux utilisateurs distants individuels de se connecter en toute sécurité à des réseaux privés derrière la passerelle NSX Edge Gateway. Un tunnel chiffré dans le cas de SSL VPN-plus est établi entre le client (Windows, Linux, Mac) et NSX Edge.
Commençons la mise en place. Dans le panneau de configuration du service Edge Gateway, accédez à l'onglet SSL VPN-Plus, puis à Paramètres du serveur. Nous sélectionnons l'adresse et le port sur lesquels le serveur écoutera les connexions entrantes, activerons la journalisation et sélectionnerons les algorithmes de chiffrement nécessaires.
Ici, vous pouvez également modifier le certificat que le serveur utilisera.
Une fois que tout est prêt, allumez le serveur et n'oubliez pas d'enregistrer les paramètres.
Ensuite, nous devons mettre en place un pool d'adresses que nous attribuerons aux clients lors de la connexion. Ce réseau est distinct de tout sous-réseau existant dans votre environnement NSX et n'a pas besoin d'être configuré sur d'autres appareils sur les réseaux physiques, à l'exception des routes qui y pointent.
Accédez à l'onglet IP Pools et cliquez sur +.
Sélectionnez les adresses, le masque de sous-réseau et la passerelle. Ici, vous pouvez également modifier les paramètres des serveurs DNS et WINS.
La piscine résultante.
Ajoutons maintenant les réseaux auxquels les utilisateurs se connectant au VPN auront accès. Accédez à l'onglet Réseaux privés et cliquez sur +.
Nous remplissons :
Réseau - un réseau local auquel les utilisateurs distants auront accès.
Envoyer du trafic, il a deux options :
- over tunnel - envoie le trafic vers le réseau via le tunnel,
— tunnel de contournement—envoie le trafic vers le réseau en contournant directement le tunnel.
Activer l'optimisation TCP - vérifiez si vous avez choisi l'option sur tunnel. Lorsque l'optimisation est activée, vous pouvez spécifier les numéros de port pour lesquels vous souhaitez optimiser le trafic. Le trafic des ports restants sur ce réseau particulier ne sera pas optimisé. Si aucun numéro de port n'est spécifié, le trafic de tous les ports est optimisé. En savoir plus sur cette fonctionnalité ici.
Ensuite, allez dans l'onglet Authentification et cliquez sur +. Pour l'authentification, nous utiliserons un serveur local sur le NSX Edge lui-même.
Ici, nous pouvons sélectionner des politiques pour générer de nouveaux mots de passe et configurer des options pour bloquer les comptes d'utilisateurs (par exemple, le nombre de tentatives si le mot de passe est mal saisi).
Puisque nous utilisons l'authentification locale, nous devons créer des utilisateurs.
En plus des éléments de base comme un nom et un mot de passe, vous pouvez ici, par exemple, interdire à l'utilisateur de changer de mot de passe ou, au contraire, l'obliger à changer de mot de passe lors de sa prochaine connexion.
Une fois que tous les utilisateurs nécessaires ont été ajoutés, accédez à l'onglet Packages d'installation, cliquez sur + et créez le programme d'installation lui-même, qui sera téléchargé par un employé distant pour l'installation.
Appuyez sur +. Sélectionnez l'adresse et le port du serveur auquel le client se connectera, ainsi que les plates-formes pour lesquelles vous souhaitez générer le package d'installation.
Ci-dessous dans cette fenêtre, vous pouvez spécifier les paramètres du client pour Windows. Choisir:
démarrer le client à la connexion - le client VPN sera ajouté au démarrage sur la machine distante ;
créer une icône sur le bureau - créera une icône de client VPN sur le bureau ;
validation du certificat de sécurité du serveur - validera le certificat du serveur lors de la connexion.
La configuration du serveur est terminée.
Téléchargeons maintenant le package d'installation que nous avons créé à la dernière étape sur un PC distant. Lors de la configuration du serveur, nous avons spécifié son adresse externe (185.148.83.16) et son port (445). C'est à cette adresse qu'il faut aller dans un navigateur web. Dans mon cas c'est 185.148.83.16: 445.
Dans la fenêtre d'autorisation, vous devez entrer les informations d'identification de l'utilisateur que nous avons créées précédemment.
Après autorisation, nous voyons une liste des packages d'installation créés disponibles au téléchargement. Nous n'en avons créé qu'un - nous le téléchargerons.
Nous cliquons sur le lien, le téléchargement du client commence.
Décompressez l'archive téléchargée et exécutez le programme d'installation.
Après l'installation, lancez le client, dans la fenêtre d'autorisation, cliquez sur Connexion.
Dans la fenêtre de vérification du certificat, sélectionnez Oui.
Nous entrons les informations d'identification de l'utilisateur précédemment créé et constatons que la connexion s'est terminée avec succès.
Nous vérifions les statistiques du client VPN sur l'ordinateur local.
Dans la ligne de commande de Windows (ipconfig/all), on voit qu'un adaptateur virtuel supplémentaire est apparu et qu'il y a une connectivité au réseau distant, tout fonctionne :
Et enfin, vérifiez depuis la console Edge Gateway.
VPN L2
L2VPN sera nécessaire lorsque vous avez besoin de combiner plusieurs géographiquement
réseaux distribués dans un domaine de diffusion.
Cela peut être utile, par exemple, lors de la migration d'une machine virtuelle : lorsqu'une VM se déplace vers une autre zone géographique, la machine conservera ses paramètres d'adressage IP et ne perdra pas la connectivité avec les autres machines situées dans le même domaine L2 avec elle.
Dans notre environnement de test, nous allons connecter deux sites l'un à l'autre, nous les appellerons respectivement A et B. Nous avons deux NSX et deux réseaux routés créés de manière identique attachés à différents Edges. La machine A a l'adresse 10.10.10.250/24, la machine B a l'adresse 10.10.10.2/24.
Dans vCloud Director, accédez à l'onglet Administration, accédez au VDC dont nous avons besoin, accédez à l'onglet Org VDC Networks et ajoutez deux nouveaux réseaux.
Sélectionnez le type de réseau routé et liez ce réseau à notre NSX. Nous avons mis la case à cocher Créer comme sous-interface.
En conséquence, nous devrions obtenir deux réseaux. Dans notre exemple, ils sont appelés réseau-a et réseau-b avec les mêmes paramètres de passerelle et le même masque.
Passons maintenant aux réglages de la première NSX. Il s'agira de la NSX à laquelle est attaché le réseau A. Il agira en tant que serveur.
On revient sur l'interface NSx Edge / Allez dans l'onglet VPN -> L2VPN. Nous activons L2VPN, sélectionnons le mode de fonctionnement du serveur, dans les paramètres globaux du serveur, nous spécifions l'adresse IP NSX externe sur laquelle le port du tunnel écoutera. Par défaut, le socket s'ouvrira sur le port 443, mais cela peut être modifié. N'oubliez pas de sélectionner les paramètres de cryptage pour le futur tunnel.
Accédez à l'onglet Sites de serveur et ajoutez un pair.
Nous allumons le pair, définissons le nom, la description, si nécessaire, définissons le nom d'utilisateur et le mot de passe. Nous aurons besoin de ces données ultérieurement lors de la configuration du site client.
Dans Egress Optimization Gateway Address, nous définissons l'adresse de la passerelle. Ceci est nécessaire pour qu'il n'y ait pas de conflit d'adresses IP, car la passerelle de nos réseaux a la même adresse. Cliquez ensuite sur le bouton SÉLECTIONNER LES SOUS-INTERFACES.
Ici, nous sélectionnons la sous-interface souhaitée. Nous enregistrons les paramètres.
Nous voyons que le site client nouvellement créé est apparu dans les paramètres.
Passons maintenant à la configuration de NSX côté client.
Nous allons au côté B de NSX, allons à VPN -> L2VPN, activons L2VPN, réglons le mode L2VPN sur le mode client. Dans l'onglet Client Global, définissez l'adresse et le port de NSX A, que nous avons spécifiés précédemment comme IP d'écoute et port côté serveur. Il est également nécessaire de définir les mêmes paramètres de chiffrement afin qu'ils soient cohérents lors de la montée du tunnel.
Nous faisons défiler ci-dessous, sélectionnons la sous-interface à travers laquelle le tunnel pour L2VPN sera construit.
Dans Egress Optimization Gateway Address, nous définissons l'adresse de la passerelle. Définissez l'ID utilisateur et le mot de passe. Nous sélectionnons la sous-interface et n'oublions pas de sauvegarder les paramètres.
En fait, c'est tout. Les réglages côté client et côté serveur sont quasiment identiques, à l'exception de quelques nuances.
Nous pouvons maintenant voir que notre tunnel a fonctionné en allant dans Statistiques -> L2VPN sur n'importe quel NSX.
Si nous allons maintenant sur la console de n'importe quelle passerelle Edge, nous verrons sur chacune d'elles dans la table arp les adresses des deux VM.
C'est tout à propos de VPN sur NSX Edge. Demandez si quelque chose n'est pas clair. Il s'agit également de la dernière partie d'une série d'articles sur l'utilisation de NSX Edge. Nous espérons qu'ils vous ont été utiles 🙂