VMware NSX : IPSec VPN Site-to-Site
VMware NSX : IPSec VPN Site-to-Site
Nous partageons avec vous dans cet article la fonctionnalité VPN de VMware NSX et plus particulièrement l’installation et la configuration d’un tunnel VPN IPSEC Site-to-Site.
Voici le schéma de notre environnement :
SITE A (Cluster Compute B & MGMT-EDGE) :
- Une Edge Services Gateway LAB-VPN-IPSEC-SERVER
- une interface Uplink 192.168.100.10
- une interface Internal 172.16.50.254
- un Logical Switch LS-VPN-IPSEC-SERVER rattaché à l’interface Internal
- Une VM 172.16.50.51
SITE B (Cluster Compute A) :
- Une Edge Services Gateway LAB-IPSEC-VPN-CLIENT
- une interface Uplink 192.168.130.10
- une interface Internal 172.16.60.254
- un Logical Switch LS-VPN-IPSEC-CLIENT rattaché à l’interface Internal
- Une VM 172.16.60.61
Le but est de faire communiquer la VM du Site A 172.16.50.51 avec celle du Site B 172.16.60.61.
L’exemple illustré ici est basé sur un environnement totalement Nested, d’où les 2 cases bleues ROUTER/BOX et SWITCH PHYSIQUE. Ces 2 cases peuvent être représentées par le FAI ou tout simplement par Internet.
N’ayant qu’un vCenter à disposition, les 2 Sites sont simulés par des Clusters différents.
Mise en place des NSX Edge Services Gateway et des Logical Switchs
Pour commencer, nous avons sur chaque site créé une NSX Edge ainsi qu’un Logical Switch.
Site A : Une NSX Edge LAB-VPN-IPSEC-SERVER et un Logical Switch LS-VPN-IPSEC-SERVER
Site B : Une NSX Edge LAB-VPN-IPSEC-CLIENT et un Logical Switch LS-VPN-IPSEC-CLIENT
Configuration des Interfaces des Edges
Côté Serveur, la Edge a 2 interfaces :
- Une interface Uplink 192.168.100.10 rattachée au portgroup MGMT-EDGE_HQ-Uplink. (Un uplink est généralement rattaché à un portgroup sur l’ESX. C’est une interface de sortie, pour communiquer avec le monde extérieur).
- Une interface Internal 172.16.50.254 rattachée au Logical Switch LS-VPN-IPSEC-SERVER (l’interface Internal est la gateway de toutes les machines sur ce Logical Switch)
Une gateway par défaut (192.168.100.254) est configurée au niveau de l’interface to-outside.
Cette interface est reliée à notre switch physique qui simule le réseau internet.
Côté Client la Edge a 2 interfaces :
- Une interface Uplink 192.168.130.10 rattachée au portgroup Compute_HQ-Access
- Une Interface Internal 172.16.60.254 rattachée attachée au Logial Switch LS-VPN-IPSEC-CLIENT
Comme pour le côté serveur, une gateway par défaut (192.168.130.254) est configurée au niveau de l’interface to-outside.
Cette interface est reliée à notre switch physique qui simule le réseau internet.
SITE B = COMPUTE A
Le cluster Compute A représente notre site B.
Nous pouvons voir sur le cluster la NSX Edge LAB-VPN-IPSEC-CLIENT ainsi que la VM LAB-CLIENT-IPSEC-61 qui à sa carte réseau reliée au Logical Switch LS-VPN-IPSEC-CLIENT
SITE A = Compute-B & MGMT-EDGE
Les clusters Compute B et le MGMT-EDGE représentent notre site A.
Nous pouvons voir sur le cluster la NSX Edge LAB-VPN-IPSEC-SERVER ainsi que la VM LAB-SERVER-IPSEC-51 qui à sa carte réseau reliée au Logical Switch LS-VPN-IPSEC-SERVER
Test de Ping des Gateway (interface Internal des Edge)
Sur chacune des VMs, nous pouvons voir que la gateway qui est l’interface internal de la NSX Edge répond au ping.
SITE A (à gauche) : 172.16.50.254
SITE B (à droite) : 172.16.60.254
Test de Ping entre les 2 VMs
On voit bien que le ping entre les 2 VMs ne fonctionne pas pour le moment.
Configuration du Site-to-Site VPN IPSEC
Côté Server (SITE A) :
Sur la NSX Edge, se rendre au niveau de l’onglet VPN, puis sur la gauche IPSEC VPN.
Nous pouvons voir que la configuration a déjà été faite, mais détaillons là.
- Name : le nom que vous voulez donner à votre configuration
- Local Endpoint : c’est l’interface par lequel le VPN va se monter (ça doit être une interface connectée à Internet, généralement c’est l’interface WAN). Dans notre cas, c’est l’Uplink 192.168.100.10
- Local Subnets : c’est le réseau privé de votre SITE que vous voulez exposer via votre tunnel VPN IPSEC. Dans notre cas, sur le SITE A : 172.16.50.0/24
- Peer Endpoint : c’est l’interface du site distant. Dans notre cas, c’est l’Uplink du SITE B 192.168.130.10
- Peer Subnets : c’est le réseau privé distant que vous voulez joindre à travers le tunnel VPN IPSEC. Dans notre cas, sur le SITE B : 172.16.60.0/24
Voici la configuration en détail, où nous retrouvons toutes ces notions de Local Endpoint/Subnets, Peer Endpoint/Subnets.
Nous trouvons un Local et un Peer ID.
IMPORTANT :pour l’authentification nous avons choisi une Pre-Shared Key, mais une authentification à l’aide de certificat est tout aussi jouable.
Côté Client (SITE B) :
Nous retrouvons la même chose en ajustant changeant évidement les Endpoint et Subnets.
État du Tunnel IPSEC
Ne pas oublier de cliquer sur ENABLE une fois les configurations faites sur les 2 Sites.
Au niveau de “Show IPsec Statistics”, nous pouvons voir un aperçu du Tunnel.
Dans notre cas, le tunnel semble être UP entre les Endpoint 192.168.100.10 – 192.168.130.10
Test de Ping entre les 2 VMs
Une fois le tunnel monté, les 2 VMs peuvent se ping.