CommunityRédaction et éditiongithub.com

zw008/VMware-NSX

Gestion du réseau VMware NSX : segments, passerelles, NAT, routage, IPAM — 32 outils MCP

Qu'est-ce que VMware-NSX ?

Cette compétence VMware NSX permet de gérer l'infrastructure réseau NSX-T / NSX 4.x via l'API Policy, en exposant 32 outils MCP (20 en lecture seule, 13 en écriture). Elle couvre les segments overlay et VLAN, les passerelles Tier-0 et Tier-1, les règles NAT (SNAT, DNAT, réflexif), les routes statiques, les voisins BGP, les pools IP, l'inventaire de la structure (zones de transport, nœuds de transport, clusters Edge) ainsi que les alarmes de santé et le dépannage. Conçue pour les assistants IA comme Claude Code, Cursor et Codex, elle permet d'automatiser des workflows courants : création d'un réseau applicatif (segment + passerelle T1 + NAT), vérification de la santé du NSX Manager et des nœuds, ou encore diagnostic de connectivité VM en trois couches. Les commandes acceptent un paramètre `--target` pour opérer sur plusieurs managers NSX à partir d'un seul fichier de configuration. Cette compétence fait partie d'un écosystème modulaire incluant la sécurité (DFW), la gestion des VM, le monitoring, le stockage et Kubernetes Tanzu.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add zw008/VMware-NSX

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

VMware NSX

Avertissement : Ce projet open source est maintenu par la communauté et n'est pas affilié à, approuvé ou sponsorisé par VMware, Inc. ou Broadcom Inc. « VMware » et « NSX » sont des marques de Broadcom. Le code source est audit publiquement sur github.com/zw008/VMware-NSX sous licence MIT.

Gestion du réseau VMware NSX — 32 outils MCP pour les segments, les passerelles, le NAT, le routage et l'IPAM.

Compétence réseau spécialisée pour l'API Policy NSX-T / NSX 4.x. Compétences compagnes : vmware-nsx-security (DFW/pare-feu), vmware-aiops (cycle de vie des VM), vmware-monitor (supervision en lecture seule), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-aria (métriques/alertes/capacité), vmware-avi (AVI/ALB/AKO), vmware-harden (bases de conformité). | vmware-pilot (orchestration de workflows) | vmware-policy (audit/politique)

Ce que fait cette compétence

CatégorieOutilsNombreLecture / Écriture
Segmentslister, obtenir les détails, créer, mettre à jour, supprimer52R / 3E
Passerelles Tier-0lister, obtenir les détails, voisins BGP, configurer BGP43R / 1E
Passerelles Tier-1lister, obtenir les détails, créer, mettre à jour, supprimer52R / 3E
NATlister les règles, créer une règle, supprimer une règle31R / 2E
Routes statiqueslister, créer, supprimer31R / 2E
Pools IPlister, obtenir l'utilisation, créer un pool, supprimer un pool42R / 2E
Inventaire de la structurezones de transport, nœuds de transport, clusters Edge33R / 0E
Santéalarmes NSX, statut des nœuds de transport, statut des clusters Edge, statut du gestionnaire44R / 0E
Dépannagestatut des ports logiques, recherche VM-vers-segment22R / 0E

Total : 33 outils (20 en lecture seule + 13 en écriture)

Installation rapide

uv tool install vmware-nsx-mgmt
vmware-nsx doctor

Quand utiliser cette compétence

  • Lister, créer ou modifier des segments NSX (overlay / à base de VLAN)
  • Créer ou gérer des passerelles Tier-0 / Tier-1
  • Configurer des règles NAT (SNAT, DNAT, réflexif)
  • Afficher ou ajouter des routes statiques, vérifier les voisins BGP
  • Gérer les pools IP et les allocations de sous-réseaux
  • Vérifier les alarmes NSX, la santé des nœuds de transport, le statut des clusters Edge
  • Trouver à quel segment une VM est connectée
  • Diagnostiquer l'état des ports logiques

Utilisez les compétences compagnes pour :

  • Pare-feu distribué, groupes de sécurité, règles DFW, IDS/IPS → vmware-nsx-security
  • Cycle de vie des VM, déploiement, opérations invitées → vmware-aiops
  • Inventaire vSphere, santé, alarmes, événements → vmware-monitor
  • Stockage : iSCSI, vSAN, datastores → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • Équilibrage de charge, AVI/ALB, AKO, Ingress → vmware-avi

Compétences associées — Aiguillage des compétences

Intention de l'utilisateurCompétence recommandée
Réseau NSX : segments, passerelles, NAT, routage, IPAMvmware-nsx ← cette compétence
Sécurité NSX : règles DFW, groupes de sécurité, IDS/IPSvmware-nsx-security
Supervision vSphere en lecture seule, alarmes, événementsvmware-monitor
Cycle de vie des VM, déploiement, opérations invitéesvmware-aiops
Stockage : iSCSI, vSAN, datastoresvmware-storage
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Aria Ops : métriques, alertes, planification de capacitévmware-aria
Workflows multi-étapes avec approbationvmware-pilot
Bases de conformité (CIS / etc… / PCI-DSS), détection de dérive, conseiller de correction LLMvmware-harden (uv tool install vmware-harden)
Équilibreur de charge, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Requête de journal d'auditvmware-policy (vmware-audit CLI)

Workflows courants

Créer un réseau applicatif (segment + passerelle T1 + NAT)

Pré-vol (jugement, pas une séquence aveugle) :

  • Vérification de conflit de sous-réseau : parcourez inventory list-segments et networking list-ip-pools pour toute superposition avec le CIDR proposé. Les sous-réseaux qui se chevauchent provoquent un routage asymétrique ou un blackholing silencieux — NSX ne vous avertira pas.
  • Capacité du cluster Edge : confirmez que le --edge-cluster choisi est sain (inventory list-edge-clusters + health edge-cluster-status <id>) et n'a pas atteint la limite de SR (Service Router). Un cluster Edge complètement chargé acceptera la création de la T1 mais le routage échouera.
  • Lien montant T0 : la T0 parente doit déjà être configurée avec BGP/routes statiques en amont — sinon le SNAT fonctionne en interne mais le trafic externe ne va nulle part.
  • IP NAT : l'IP --translated doit provenir d'un pool d'adresses routables annoncé par la T0 ; utiliser une IP aléatoire crée un réseau qui ne fonctionne qu'à moitié.
  • Faites toujours --dry-run d'abord — une fois qu'un segment est attaché à des VM en cours d'exécution, sa suppression nécessite de détacher chaque port.

Étapes :

  1. vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster <ec-path> --tier0 <t0-path> --dry-run → vérifiez, puis exécutez pour de vrai
  2. vmware-nsx segment create app-web-seg --name app-web-seg --tz <tz-overlay-path> --subnet <gw-cidr>
  3. vmware-nsx nat create-rule --tier1 app-t1 --rule-id snat-1 --action SNAT --source <private-cidr> --translated <pub-ip>
  4. Vérifiez de bout en bout : inventory list-segments, networking list-nat-rules app-t1, ET testez avec une VM attachée au nouveau segment
  5. En cas d'échec : une erreur de connexion ou une erreur HTTP affiche une ligne d'enseignement unique (ex. 403 → vérifiez les privilèges de rôle NSX ; 404 → exécutez la commande de liste correspondante pour l'ID exact). Exécutez vmware-nsx doctor pour vérifier la connectivité et les identifiants, corrigez et relancez l'étape échouée — les étapes précédentes terminées sont des PUT idempotents et peuvent être réappliquées en toute sécurité.

Vérifier la santé du réseau

Jugement : n'énumérez pas seulement les points de terminaison de santé — corrélez-les. L'ordre ci-dessous mappe la cause au symptôme : si le gestionnaire est arrêté, les nœuds de transport sembleront également arrêtés (faux positif) ; corrigez du haut vers le bas.

  1. vmware-nsx health manager-status — si un nœud gestionnaire est DEGRADED ou DOWN, arrêtez-vous ici et résolvez avant de faire confiance aux signaux en aval
  2. vmware-nsx inventory list-transport-nodes puis health transport-node-status <id> pour tout nœud qui n'est pas UP — signalez les nœuds arrêtés depuis ≥ 5 min ; les fluctuations transitoires sont normales
  3. vmware-nsx inventory list-edge-clusters puis health edge-cluster-status <id> — vérifiez que le placement des SR est équilibré ; un seul Edge hébergeant 80% des SR est un point de défaillance unique
  4. vmware-nsx health alarms --severity HIGH (répétez avec CRITICAL) — le filtre de sévérité est une correspondance exacte, pas « et au-dessus »
  5. Recoupez avec vmware-monitor pour les événements de l'hôte vSphere — un hôte qui perd la connexion à vCenter se fait souvent passer pour un problème NSX

Diagnostiquer la connectivité d'une VM

Jugement : les échecs de connectivité se produisent à l'un des trois niveaux. Identifiez d'abord le niveau, puis approfondissez — ne sondez pas au hasard.

  • Niveau 1 — VM-vers-segment : la VM n'a pas de segment, mauvais vNIC, ou port en état administratif down → troubleshoot vm-segment + troubleshoot port-status
  • Niveau 2 — segment-vers-passerelle : le segment n'est pas attaché à la T1, la T1 n'est pas connectée à la T0 → inventory get-tier1 ne montre aucun chemin Tier-0
  • Niveau 3 — passerelle-vers-amont : BGP/route statique de la T0 manquante ou SNAT non configuré → networking bgp-neighbors, networking list-nat-rules

Étapes (arrêtez dès que le niveau défaillant est identifié) :

  1. Niveau 1 : troubleshoot vm-segment my-vm-01 → si pas de port, vérifiez d'abord la liaison vNIC vSphere
  2. Niveau 1 : troubleshoot port-status <segment-id> → état administratif down ou bloqué par DFW ? Si DFW, passez à vmware-nsx-security
  3. Niveau 2 : inventory get-tier1 app-t1 → chemin Tier-0 présent et annonce de route activée ? Sinon, le lien T1↔T0 est rompu
  4. Niveau 3 : networking bgp-neighbors tier0-gw → tous les voisins ESTABLISHED ? Flapping → problème amont
  5. Niveau 3 : networking list-nat-rules app-t1 → la règle SNAT couvre le CIDR source ? Un CIDR mal saisi est la cause la plus courante

Opérations multi-cibles

Toutes les commandes acceptent --target <name> pour opérer sur un gestionnaire NSX spécifique depuis votre configuration :

# Cible par défaut (première dans config.yaml)
vmware-nsx inventory list-segments

# Cible spécifique
vmware-nsx inventory list-segments --target nsx-prod
vmware-nsx health alarms --target nsx-lab

Mode d'utilisation

ScénarioRecommandéPourquoi
Modèles locaux/ petits (Ollama, Qwen)CLI~2K tokens contre ~8K pour MCP
Modèles cloud (Claude, GPT-4o)Les deuxMCP donne une I/O JSON structurée
Pipelines automatisésMCPParamètres typés, sortie structurée

Outils MCP (33 — 20 lecture, 13 écriture)

Tous les outils MCP acceptent un paramètre optionnel target pour sélectionner le gestionnaire NSX auquel se connecter.

CatégorieOutilTypeDescription
Segmentlist_segmentsLectureLister tous les segments avec type, sous-réseau, état administratif, nombre de ports
get_segmentLectureObtenir les détails du segment, y compris les ports et la configuration de sous-réseau
create_segmentÉcritureCréer un segment overlay ou VLAN avec sous-réseau et passerelle
update_segmentÉcritureMettre à jour les propriétés du segment (nom, sous-réseaux, lien de passerelle)
delete_segmentÉcritureSupprimer un segment (avertit en cas de ports connectés)
Passerelle T-0list_tier0_gatewaysLectureLister les passerelles Tier-0 avec mode HA et sous-réseaux de transit
get_tier0_gatewayLectureObtenir les détails de la Tier-0 : mode HA, basculement, sous-réseaux de transit
get_bgp_neighborsLectureLister les sessions de voisins BGP avec état, ASN, préfixes
configure_tier0_bgpÉcritureConfigurer BGP (AS local, ECMP, iBGP inter-SR) sur une Tier-0
Passerelle T-1list_tier1_gatewaysLectureLister les passerelles Tier-1 avec la Tier-0 liée et l'annonce de route
get_tier1_gatewayLectureObtenir les détails de la Tier-1 : lien Tier-0, annonce de route
create_tier1_gatewayÉcritureCréer une passerelle Tier-1 avec cluster Edge et lien Tier-0
update_tier1_gatewayÉcritureMettre à jour les propriétés de la Tier-1 (annonce de route, lien Tier-0)
delete_tier1_gatewayÉcritureSupprimer une passerelle Tier-1 (supprime d'abord le locale-service par défaut)
NATlist_nat_rulesLectureLister les règles NAT sur une passerelle Tier-1
create_nat_ruleÉcritureCréer une règle NAT SNAT/DNAT/réflexif sur une passerelle
delete_nat_ruleÉcritureSupprimer une règle NAT
Routes statiqueslist_static_routesLectureLister les routes statiques sur une passerelle Tier-1
create_static_routeÉcritureAjouter une route statique avec réseau et prochain saut
delete_static_routeÉcritureSupprimer une route statique
Pools IPlist_ip_poolsLectureLister les pools IP avec résumé d'utilisation
get_ip_pool_usageLectureAfficher l'utilisation des allocations pour un pool
create_ip_poolÉcritureCréer un nouveau pool d'adresses IP avec plages d'allocation
delete_ip_poolÉcritureSupprimer définitivement un pool d'adresses IP
Structurelist_transport_zonesLectureLister les zones de transport avec type (OVERLAY/VLAN)
list_transport_nodesLectureLister les nœuds de transport avec type de nœud et état
list_edge_clustersLectureLister les clusters Edge avec nombre de membres et type de déploiement
Santélist_nsx_alarmsLectureLister les alarmes NSX actives filtrées par sévérité
get_transport_node_statusLectureConnectivité du nœud de transport et état de la configuration
get_edge_cluster_statusLectureÉtat des membres du cluster Edge et configuration de basculement
get_nsx_manager_statusLectureSanté du cluster NSX Manager et rôles des nœuds
Dépannageget_logical_port_statusLectureÉtat réalisé de tous les ports sur un segment
get_segment_port_for_vmLectureTrouver à quel segment une VM est connectée par son nom d'affichage

Répartition lecture/écriture : 20 outils sont en lecture seule, 12 modifient l'état. Les outils d'écriture nécessitent des paramètres explicites et sont enregistrés dans les journaux d'audit. L'aperçu Dry-run (--dry-run) est une fonctionnalité CLI ; les outils MCP d'écriture s'exécutent directement.

Référence rapide CLI

# Inventaire (lecture seule)
vmware-nsx inventory list-segments [--target <name>]
vmware-nsx inventory get-segment <segment-id>
vmware-nsx inventory list-tier0s
vmware-nsx inventory get-tier0 <tier0-id>
vmware-nsx inventory list-tier1s
vmware-nsx inventory get-tier1 <tier1-id>
vmware-nsx inventory list-transport-zones
vmware-nsx inventory list-transport-nodes
vmware-nsx inventory list-edge-clusters

# Réseau (lecture seule)
vmware-nsx networking list-nat-rules <tier1-id>
vmware-nsx networking bgp-neighbors <tier0-id>
vmware-nsx networking list-static-routes <tier1-id>
vmware-nsx networking list-ip-pools
vmware-nsx networking ip-pool-usage <pool-id>

# Gestion des segments (écriture)
vmware-nsx segment create <id> --name <name> --tz <tz-path> [--vlan '100' | '100-200'] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment update <id> [--name <name>] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment delete <id> [--dry-run]

# Gestion des passerelles (écriture)
vmware-nsx gateway create-tier1 <id> --name <name> [--tier0 <t0-path>] [--edge-cluster <ec-path>] [--dry-run]
vmware-nsx gateway update-tier1 <id> [--name <name>] [--tier0 <t0-path>] [--advertise <types>] [--dry-run]
vmware-nsx gateway delete-tier1 <id> [--dry-run]
vmware-nsx gateway configure-tier0-bgp <tier0-id> --local-as <asn> [--ecmp/--no-ecmp] [--dry-run]

# NAT (écriture)
vmware-nsx nat create-rule --tier1 <id> --rule-id <id> --action SNAT --source <cidr> --translated <ip> [--dry-run]
vmware-nsx nat delete-rule --tier1 <id> --rule-id <id> [--dry-run]

# Routes statiques (écriture)
vmware-nsx route create-static --tier1 <id> --route-id <id> --network <cidr> --next-hop <ip> [--dry-run]
vmware-nsx route delete-static --tier1 <id> --route-id <id> [--dry-run]

# Pools IP (écriture)
vmware-nsx ip-pool create <pool-id> --name <name> --start <ip> --end <ip> --cidr <cidr> [--gateway <ip>] [--dry-run]

# Santé et dépannage (lecture seule)
vmware-nsx health alarms [--severity CRITICAL]
vmware-nsx health transport-node-status <node-id>
vmware-nsx health edge-cluster-status <cluster-id>
vmware-nsx health manager-status
vmware-nsx troubleshoot vm-segment <vm-name>
vmware-nsx troubleshoot port-status <segment-id>

Configuration

Créez ~/.config/vmware-nsx/config.yaml :

targets:
  default: nsx-prod
  names:
    nsx-prod:
      host: nsx-manager.prod.example.com
      username: admin
      password: ${NSX_PASSWORD}
      verify_ssl: true
    nsx-lab:
      host: 10.0.1.10
      username: admin
      password: ${NSX_LAB_PASSWORD}
      verify_ssl: false

Pour utiliser --target <name>, listez simplement plusieurs entrées sous targets.names. La cible default est utilisée si --target est omis.

Skills associés