Première partie IntroductionDeuxième partie Configurer le pare-feu et les règles NATTroisième partie. Configuration DHCPQuatrième partie Configuration du routageCinquième partie Configuration d'un équilibreur de chargeAujourd'hui, nous examinons les options de configuration VPN que NSX Edge nous offre.
En général, nous pouvons diviser les technologies VPN en deux types clés:
- VPN de site à site. Le plus souvent, IPSec est utilisé pour créer un tunnel sécurisé, par exemple, entre le réseau du bureau principal et le réseau sur un site distant ou dans le cloud.
- VPN d'accès à distance. Il est utilisé pour connecter des utilisateurs individuels à des réseaux privés d'organisations à 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 le démon
racoon installé et un ordinateur portable Windows pour tester le VPN d'accès à distance.
IPsec
- Dans l'interface vCloud Director, accédez à la section Administration et sélectionnez vDC. Dans l'onglet Edge Gateways, sélectionnez Edge dont nous avons besoin, cliquez avec le bouton droit et sélectionnez Edge Gateway Services.

- Dans l'interface NSX Edge, accédez à l'onglet VPN VPN-IPsec, puis accédez à 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.
- L'ID local et le point d'extrémité local sont l'adresse externe du NSX Edge.
- Sous-réseau local - Réseaux locaux qui utiliseront le VPN IPsec.
- ID d'homologue et point d'extrémité d'homologue - adresse du site distant.
- Sous -réseaux homologues - réseaux qui utiliseront le VPN IPsec du côté distant.
- Algorithme de chiffrement - algorithme de chiffrement de tunnel.

- Authentification - comment nous authentifierons une fête. 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 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.

- C'est fait.

- Après avoir ajouté le site, accédez à l'onglet État 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 est monté.

- Vérifiez l'état du tunnel à partir de la console de passerelle Edge:
- show service ipsec - vérifier l'état du service.

- show service ipsec site - informations sur l'état du site et les paramètres convenus.

- show service ipsec sa - vérification de statut de Security Association (SA).

- Vérification de la connectivité du 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 de diagnostic supplémentaires à partir du serveur Linux distant: root@racoon:~# cat /etc/racoon/racoon.conf log debug; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; listen { isakmp 80.211.43.73 [500]; strict_address; } remote 185.148.83.16 { exchange_mode main,aggressive; proposal { encryption_algorithm aes256; hash_algorithm sha1; authentication_method pre_shared_key; dh_group modp1536; } generate_policy on; } sainfo address 10.255.255.0/24 any address 192.168.0.0/24 any { encryption_algorithm aes256; authentication_algorithm hmac_sha1; compression_algorithm deflate; } === root@racoon:~# cat /etc/racoon/psk.txt 185.148.83.16 testkey === root@racoon:~# cat /etc/ipsec-tools.conf #!/usr/sbin/setkey -f flush; spdflush; spdadd 192.168.0.0/24 10.255.255.0/24 any -P in ipsec esp/tunnel/185.148.83.16-80.211.43.73/require; spdadd 10.255.255.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/80.211.43.73-185.148.83.16/require; === root@racoon:~# racoonctl show-sa isakmp Destination Cookies Created 185.148.83.16.500 2088977aceb1b512:a4c470cb8f9d57e9 2019-05-22 13:46:13 === root@racoon:~# racoonctl show-sa esp 80.211.43.73 185.148.83.16 esp mode=tunnel spi=1646662778(0x6226147a) reqid=0(0x00000000) E: aes-cbc 00064df4 454d14bc 9444b428 00e2296e c7bb1e03 06937597 1e522ce0 641e704d A: hmac-sha1 aa9e7cd7 51653621 67b3b2e9 64818de5 df848792 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 860 hard: 0 soft: 0 sadb_seq=1 pid=7739 refcnt=0 185.148.83.16 80.211.43.73 esp mode=tunnel spi=88535449(0x0546f199) reqid=0(0x00000000) E: aes-cbc c812505a 9c30515e 9edc8c4a b3393125 ade4c320 9bde04f0 94e7ba9d 28e61044 A: hmac-sha1 cd9d6f6e 06dbcd6d da4d14f8 6d1a6239 38589878 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0
- Tout est prêt, le VPN IPsec de site à site est configuré et fonctionne.
Dans cet exemple, nous avons utilisé le PSK pour authentifier l'homologue, mais une option d'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, il sera nécessaire de modifier 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 (lisez à ce sujet dans notre premier article ).

VPN SSL
SSL VPN-Plus est l'une des options du 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. Un tunnel crypté SSL VPN-plus est établi entre le client (Windows, Linux, Mac) et NSX Edge.
- Préparons-nous. Dans le panneau de configuration du service Edge Gateway, accédez à l'onglet SSL VPN-Plus, puis aux 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 modifier le certificat que le serveur utilisera.

- Une fois que tout est prêt, allumez le serveur et n'oubliez pas de sauvegarder les paramètres.

- Ensuite, nous devons configurer le pool d'adresses que nous émettrons aux clients lorsqu'ils seront connectés. Ce réseau est distinct de tout sous-réseau existant dans votre environnement NSX, il n'a pas besoin d'être configuré sur d'autres appareils dans les réseaux physiques, à l'exception des routes qui le pointent.
Accédez à l'onglet Pools IP et cliquez sur +.

- Choisissez les adresses, le masque de sous-réseau et la passerelle. Ici, vous pouvez modifier les paramètres des serveurs DNS et WINS.

- Le pool résultant.

- Ajoutez 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:
- via tunnel - envoyer du trafic vers le réseau via le tunnel,
- bypass tunnel - envoie du trafic au réseau en contournant directement le tunnel. - Activer l'optimisation TCP - marquez si l'option over tunnel est sélectionnée. Lorsque l'optimisation est activée, vous pouvez spécifier les numéros de port pour lesquels vous souhaitez optimiser le trafic. Le trafic pour les ports restants de ce réseau particulier ne sera pas optimisé. Si les numéros de port ne sont pas spécifiés, le trafic pour tous les ports est optimisé. En savoir plus sur cette fonctionnalité ici .

- Ensuite, accédez à l'onglet Authentification et cliquez sur +. Pour l'authentification, nous utiliserons un serveur local sur NSX Edge lui-même.

- Ici, nous pouvons choisir des stratégies 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 lorsque le mot de passe n'est pas entré correctement).


- 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, empêcher l'utilisateur de changer le mot de passe ou, à l'inverse, l'obliger à changer le mot de passe lors de la prochaine connexion.

- Une fois tous les utilisateurs nécessaires ajoutés, accédez à l'onglet Packages d'installation, cliquez sur + et créez le programme d'installation lui-même, qui téléchargera l'employé distant pour l'installation.

- Cliquez sur +. Nous sélectionnons l'adresse et le port du serveur auquel le client se connectera et les plates-formes pour lesquelles vous souhaitez générer le package d'installation.

Vous pouvez spécifier les paramètres client pour Windows ci-dessous dans cette fenêtre. Choisissez:
- démarrer le client à la connexion - le client VPN sera ajouté au démarrage sur une machine distante;
- créer une icône de 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échargez maintenant le package d'installation que nous avons créé à la dernière étape sur le 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 que nous devons accéder au navigateur Web. Dans mon cas, c'est 185.148.83.16 : 445.
Dans la fenêtre d'autorisation, vous devez saisir les informations d'identification de l'utilisateur que nous avons créé précédemment.

- Après l'autorisation, nous voyons une liste des packages d'installation créés disponibles pour téléchargement. Nous en avons créé un seul et le téléchargeons.

- On clique 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, exécutez le client, dans la fenêtre d'autorisation, cliquez sur Connexion.

- Dans la fenêtre de vérification des certificats, sélectionnez Oui.

- Nous saisissons les informations d'identification de l'utilisateur créé précédemment et constatons que la connexion s'est terminée avec succès.


- Vérifiez les statistiques du client VPN sur l'ordinateur local.


- Sur la ligne de commande Windows (ipconfig / all), nous voyons qu'un adaptateur virtuel supplémentaire est apparu et qu'il y a une connectivité avec le réseau distant, tout fonctionne:


- Et enfin - une vérification de la console Edge Gateway.

VPN L2
L2VPN est nécessaire lorsque vous devez combiner plusieurs zones géographiques
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 machine virtuelle se déplace vers un autre site géographique, la machine enregistre les paramètres d'adressage IP et ne perdra pas la connectivité avec d'autres machines situées dans le même domaine L2 avec elle.
Dans notre environnement de test, nous allons connecter deux sites entre eux, nous les appellerons respectivement A et B. Nous avons deux NSX et deux réseaux routés créés de manière identique connectés à différents Edge. 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 Réseaux Org VDC et ajoutez deux nouveaux réseaux.

- Nous sélectionnons le type de réseau routé et lions ce réseau à notre NSX. Nous mettons 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 paramètres du premier NSX. Ce sera le NSX auquel est connecté le réseau A. Il agira comme un serveur.
Revenez à l'interface NSx Edge / Allez à l'onglet VPN -> L2VPN. Nous activons L2VPN, sélectionnons le mode de fonctionnement du serveur, dans les paramètres globaux du serveur, spécifions l'adresse IP externe du NSX, sur laquelle le port du tunnel sera écouté. Par défaut, le socket s'ouvrira sur le port 443, mais il peut être modifié. N'oubliez pas de choisir les paramètres de cryptage pour le futur tunnel.

- Accédez à l'onglet Sites du serveur et ajoutez un festin.

- Allumez le festin, définissez le nom, la description, si nécessaire, définissez le nom d'utilisateur et le mot de passe. Nous aurons besoin de ces données plus tard lors de la configuration du site client.
Dans l'adresse de passerelle Egress Optimization Gateway, définissez l'adresse de la passerelle. Ceci est nécessaire pour qu'il n'y ait pas de conflit d'adresses IP, car la passerelle sur nos réseaux a la même adresse. Ensuite, nous appuyons sur le bouton SELECT SUB-INTERFACES.

- Ici, nous sélectionnons la sous-interface souhaitée. Enregistrez 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 à NSX côté B, allons à VPN -> L2VPN, allumons L2VPN, définissez 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 indiqué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 l'élévation du tunnel.

Faites défiler vers le bas, sélectionnez la sous-interface à travers laquelle le tunnel pour L2VPN sera construit.
Dans l'adresse de passerelle Egress Optimization Gateway, définissez l'adresse de la passerelle. Définissez l'ID utilisateur et le mot de passe. Nous sélectionnons la sous-interface et n'oubliez pas d'enregistrer les paramètres.

- C'est tout, en fait. Les paramètres client et serveur sont presque identiques, à l'exception de quelques nuances.
- Maintenant, nous pouvons voir ce que notre tunnel a gagné en allant dans Statistiques -> L2VPN sur n'importe quel NSX.

- Si nous allons maintenant dans la console de n'importe quelle passerelle Edge, nous verrons les adresses des deux machines virtuelles sur chacune d'elles dans la table arp.

C'est tout sur 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 :)