VMware NSX
Aviso: Este es un proyecto de código abierto mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por VMware, Inc. o Broadcom Inc. "VMware" y "NSX" son marcas comerciales de Broadcom. El código fuente es auditable públicamente en github.com/zw008/VMware-NSX bajo la licencia MIT.
Gestión de redes VMware NSX — 32 herramientas MCP para segmentos, puertas de enlace, NAT, enrutamiento e IPAM.
Habilidad de redes enfocada en el dominio para NSX-T / NSX 4.x Policy API. Habilidades complementarias: vmware-nsx-security (DFW/cortafuegos), vmware-aiops (ciclo de vida de VMs), vmware-monitor (monitorización de solo lectura), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-aria (métricas/alertas/capacidad), vmware-avi (AVI/ALB/AKO), vmware-harden (líneas base de compliance). | vmware-pilot (orquestación de flujos de trabajo) | vmware-policy (auditoría/políticas)
Qué Hace Esta Habilidad
| Categoría | Herramientas | Cantidad | Lectura / Escritura |
|---|---|---|---|
| Segmentos | listar, obtener detalles, crear, actualizar, eliminar | 5 | 2L / 3E |
| Puertas de enlace Tier-0 | listar, obtener detalles, vecinos BGP, configurar BGP | 4 | 3L / 1E |
| Puertas de enlace Tier-1 | listar, obtener detalles, crear, actualizar, eliminar | 5 | 2L / 3E |
| NAT | listar reglas, crear regla, eliminar regla | 3 | 1L / 2E |
| Rutas estáticas | listar, crear, eliminar | 3 | 1L / 2E |
| Pools de IP | listar, obtener uso, crear pool, eliminar pool | 4 | 2L / 2E |
| Inventario de infraestructura | zonas de transporte, nodos de transporte, clústeres de borde | 3 | 3L / 0E |
| Salud | Alarmas NSX, estado de nodo de transporte, estado de clúster de borde, estado del manager | 4 | 4L / 0E |
| Solución de problemas | estado de puerto lógico, búsqueda VM-a-segmento | 2 | 2L / 0E |
Total: 33 herramientas (20 de solo lectura + 13 de escritura)
Instalación Rápida
uv tool install vmware-nsx-mgmt
vmware-nsx doctor
Cuándo Usar Esta Habilidad
- Listar, crear o modificar segmentos NSX (overlay / respaldados por VLAN)
- Crear o gestionar puertas de enlace Tier-0 / Tier-1
- Configurar reglas NAT (SNAT, DNAT, réflexivas)
- Ver o añadir rutas estáticas, comprobar vecinos BGP
- Gestionar pools de IP y asignaciones de subredes
- Comprobar alarmas NSX, salud de nodos de transporte, estado de clústeres de borde
- Encontrar a qué segmento está conectada una VM
- Solucionar problemas de estado de puertos lógicos
Usar habilidades complementarias para:
- Cortafuegos distribuido, grupos de seguridad, reglas DFW, IDS/IPS →
vmware-nsx-security - Ciclo de vida de VMs, despliegue, operaciones de invitado →
vmware-aiops - Inventario de vSphere, salud, alarmas, eventos →
vmware-monitor - Almacenamiento: iSCSI, vSAN, datastores →
vmware-storage - Tanzu Kubernetes →
vmware-vks - Balanceo de carga, AVI/ALB, AKO, Ingress →
vmware-avi
Habilidades Relacionadas — Enrutamiento de Habilidades
| Intención del Usuario | Habilidad Recomendada |
|---|---|
| Redes NSX: segmentos, puertas de enlace, NAT, enrutamiento, IPAM | vmware-nsx ← esta habilidad |
| Seguridad NSX: reglas DFW, grupos de seguridad, IDS/IPS | vmware-nsx-security |
| Monitorización de solo lectura de vSphere, alarmas, eventos | vmware-monitor |
| Ciclo de vida de VMs, despliegue, operaciones de invitado | vmware-aiops |
| Almacenamiento: iSCSI, vSAN, datastores | vmware-storage |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks |
| Aria Ops: métricas, alertas, planificación de capacidad | vmware-aria |
| Flujos de trabajo de múltiples pasos con aprobación | vmware-pilot |
| Líneas base de compliance (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de remediación LLM | vmware-harden (uv tool install vmware-harden) |
| Balanceador de carga, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Consulta de registros de auditoría | vmware-policy (vmware-audit CLI) |
Flujos de Trabajo Comunes
Crear una Red de Aplicación (Segmento + Puerta de Enlace T1 + NAT)
Pre-vuelo (juicio, no secuencia ciega):
- Verificación de conflicto de subred: escanear
inventory list-segmentsynetworking list-ip-poolspara detectar cualquier superposición con la CIDR propuesta. Las subredes superpuestas causan enrutamiento asimétrico o blackholing silencioso — NSX no te advertirá. - Capacidad del clúster de borde: confirmar que
--edge-clusterelegido está saludable (inventory list-edge-clusters+health edge-cluster-status <id>) y no está en el límite de SR (Service Router). Un clúster de borde completamente cargado aceptará la creación de T1 pero el enrutamiento fallará. - Enlace ascendente T0: la T0 padre ya debe estar configurada con BGP/rutas estáticas hacia arriba — de lo contrario, SNAT funciona internamente pero el tráfico externo no va a ninguna parte.
- IP NAT: la IP
--translateddebe ser de un pool de direcciones enrutables anunciado por T0; usar una IP aleatoria crea una red que funciona a medias. - Siempre usar
--dry-runprimero — una vez que un segmento está conectado a VMs en funcionamiento, eliminarlo requiere desconectar cada puerto.
Pasos:
vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster <ec-path> --tier0 <t0-path> --dry-run→ revisar, luego ejecutar de verdadvmware-nsx segment create app-web-seg --name app-web-seg --tz <tz-overlay-path> --subnet <gw-cidr>vmware-nsx nat create-rule --tier1 app-t1 --rule-id snat-1 --action SNAT --source <private-cidr> --translated <pub-ip>- Verificar extremo a extremo:
inventory list-segments,networking list-nat-rules app-t1, Y probar con una VM conectada al nuevo segmento - En caso de fallo: un error de conexión o error HTTP imprime una línea de enseñanza única (por ejemplo, 403 → comprobar privilegios de rol NSX; 404 → ejecutar el comando list correspondiente para obtener el ID exacto). Ejecutar
vmware-nsx doctorpara verificar conectividad y credenciales, corregir y volver a ejecutar el paso fallido — los pasos completados anteriormente son PUTs idempotentes y es seguro reaplicarlos.
Comprobar la Salud de la Red
Juicio: no enumerar simplemente los endpoints de salud — correlacionarlos. El orden siguiente mapea causa a síntoma: si el manager está caído, los nodos de transporte también parecerán caídos (falso positivo); corregir de arriba a abajo.
vmware-nsx health manager-status— si cualquier nodo manager estáDEGRADEDoDOWN, detenerse aquí y resolver antes de confiar en las señales posterioresvmware-nsx inventory list-transport-nodesluegohealth transport-node-status <id>para cualquier nodo que no estéUP— marcar nodos caídos ≥ 5 min; los parpadeos transitorios son normalesvmware-nsx inventory list-edge-clustersluegohealth edge-cluster-status <id>— verificar que la colocación de SR esté equilibrada; un borde que tenga el 80% de los SRs es un punto único de fallovmware-nsx health alarms --severity HIGH(repetir conCRITICAL) — el filtro de severidad es de coincidencia exacta, no "y superior"- Verificar de forma cruzada con
vmware-monitorpara eventos de host vSphere — un host que pierde conexión con vCenter a menudo se disfraza como un problema de NSX
Solucionar Problemas de Conectividad de VM
Juicio: los fallos de conectividad ocurren en una de tres capas. Identificar primero la capa, luego profundizar — no probar al azar.
- Capa 1 — VM a segmento: la VM no tiene segmento, vNIC incorrecto, o puerto administrativamente caído →
troubleshoot vm-segment+troubleshoot port-status - Capa 2 — segmento a puerta de enlace: segmento no conectado a T1, T1 no conectada a T0 →
inventory get-tier1muestra que no hay ruta Tier-0 - Capa 3 — puerta de enlace a upstream: BGP/ruta estática de T0 faltante o SNAT no configurado →
networking bgp-neighbors,networking list-nat-rules
Pasos (detenerse tan pronto como se identifique la capa que falla):
- Capa 1:
troubleshoot vm-segment my-vm-01→ si no hay puerto, comprobar primero el enlace vNIC de vSphere - Capa 1:
troubleshoot port-status <segment-id>→ puerto administrativamente caído o bloqueado por DFW? Si es DFW, saltar a vmware-nsx-security - Capa 2:
inventory get-tier1 app-t1→ Ruta Tier-0 presente y anuncio de ruta habilitado? Si no, el enlace T1↔T0 está roto - Capa 3:
networking bgp-neighbors tier0-gw→ todos los vecinosESTABLISHED? Parpadeo → problema upstream - Capa 3:
networking list-nat-rules app-t1→ la regla SNAT cubre la CIDR de origen? La CIDR mal escrita es la causa más común
Operaciones Multiobjetivo
Todos los comandos aceptan --target <nombre> para operar contra un NSX Manager específico de tu configuración:
# Objetivo predeterminado (primero en config.yaml)
vmware-nsx inventory list-segments
# Objetivo específico
vmware-nsx inventory list-segments --target nsx-prod
vmware-nsx health alarms --target nsx-lab
Modo de Uso
| Escenario | Recomendado | Por qué |
|---|---|---|
| Modelos locales/pequeños (Ollama, Qwen) | CLI | ~2K tokens vs ~8K para MCP |
| Modelos en la nube (Claude, GPT-4o) | Cualquiera | MCP proporciona E/S JSON estructurada |
| Pipelines automatizados | MCP | Parámetros con seguridad de tipos, salida estructurada |
Herramientas MCP (33 — 20 de lectura, 13 de escritura)
Todas las herramientas MCP aceptan un parámetro opcional target para seleccionar a qué NSX Manager conectarse.
| Categoría | Herramienta | Tipo | Descripción |
|---|---|---|---|
| Segmento | list_segments | Lectura | Listar todos los segmentos con tipo, subred, estado administrativo, recuento de puertos |
get_segment | Lectura | Obtener detalles del segmento, incluidos puertos y configuración de subred | |
create_segment | Escritura | Crear segmento overlay o VLAN con subred y puerta de enlace | |
update_segment | Escritura | Actualizar propiedades del segmento (nombre, subredes, enlace de puerta de enlace) | |
delete_segment | Escritura | Eliminar un segmento (advierte sobre puertos conectados) | |
| Puerta de enlace Tier-0 | list_tier0_gateways | Lectura | Listar puertas de enlace Tier-0 con modo HA y subredes de tránsito |
get_tier0_gateway | Lectura | Obtener detalles de Tier-0: modo HA, conmutación por error, subredes de tránsito | |
get_bgp_neighbors | Lectura | Listar sesiones de vecinos BGP con estado, ASN, prefijos | |
configure_tier0_bgp | Escritura | Configurar BGP (AS local, ECMP, iBGP inter-SR) en una Tier-0 | |
| Puerta de enlace Tier-1 | list_tier1_gateways | Lectura | Listar puertas de enlace Tier-1 con Tier-0 vinculada y anuncio de ruta |
get_tier1_gateway | Lectura | Obtener detalles de Tier-1: enlace Tier-0, anuncio de ruta | |
create_tier1_gateway | Escritura | Crear puerta de enlace Tier-1 con clúster de borde y enlace Tier-0 | |
update_tier1_gateway | Escritura | Actualizar propiedades de Tier-1 (anuncio de ruta, enlace Tier-0) | |
delete_tier1_gateway | Escritura | Eliminar una puerta de enlace Tier-1 (primero elimina el locale-service predeterminado) | |
| NAT | list_nat_rules | Lectura | Listar reglas NAT en una puerta de enlace Tier-1 |
create_nat_rule | Escritura | Crear regla NAT SNAT/DNAT/réflexiva en una puerta de enlace | |
delete_nat_rule | Escritura | Eliminar una regla NAT | |
| Rutas estáticas | list_static_routes | Lectura | Listar rutas estáticas en una puerta de enlace Tier-1 |
create_static_route | Escritura | Añadir una ruta estática con red y siguiente salto | |
delete_static_route | Escritura | Eliminar una ruta estática | |
| Pools de IP | list_ip_pools | Lectura | Listar pools de IP con resumen de uso |
get_ip_pool_usage | Lectura | Mostrar uso de asignación para un pool | |
create_ip_pool | Escritura | Crear un nuevo pool de direcciones IP con rangos de asignación | |
delete_ip_pool | Escritura | Eliminar permanentemente un pool de direcciones IP | |
| Infraestructura | list_transport_zones | Lectura | Listar zonas de transporte con tipo (OVERLAY/VLAN) |
list_transport_nodes | Lectura | Listar nodos de transporte con tipo de nodo y estado | |
list_edge_clusters | Lectura | Listar clústeres de borde con recuento de miembros y tipo de despliegue | |
| Salud | list_nsx_alarms | Lectura | Listar alarmas NSX activas filtradas por severidad |
get_transport_node_status | Lectura | Conectividad del nodo de transporte y estado de configuración | |
get_edge_cluster_status | Lectura | Estado de los miembros del clúster de borde y configuración de conmutación por error | |
get_nsx_manager_status | Lectura | Salud del clúster de NSX Manager y roles de nodo | |
| Solución de problemas | get_logical_port_status | Lectura | Estado realizado de todos los puertos en un segmento |
get_segment_port_for_vm | Lectura | Encontrar a qué segmento está conectada una VM por nombre para mostrar |
División lectura/escritura: 20 herramientas son de solo lectura, 13 modifican el estado. Las herramientas de escritura requieren parámetros explícitos y se registran en la auditoría. La vista previa Dry-run (--dry-run) es una característica de la CLI; las herramientas MCP de escritura se ejecutan directamente.
Referencia Rápida de la CLI
# Inventario (solo lectura)
vmware-nsx inventory list-segments [--target <nombre>]
vmware-nsx inventory get-segment <id-segmento>
vmware-nsx inventory list-tier0s
vmware-nsx inventory get-tier0 <id-tier0>
vmware-nsx inventory list-tier1s
vmware-nsx inventory get-tier1 <id-tier1>
vmware-nsx inventory list-transport-zones
vmware-nsx inventory list-transport-nodes
vmware-nsx inventory list-edge-clusters
# Redes (solo lectura)
vmware-nsx networking list-nat-rules <id-tier1>
vmware-nsx networking bgp-neighbors <id-tier0>
vmware-nsx networking list-static-routes <id-tier1>
vmware-nsx networking list-ip-pools
vmware-nsx networking ip-pool-usage <id-pool>
# Gestión de segmentos (escritura)
vmware-nsx segment create <id> --name <nombre> --tz <ruta-tz> [--vlan '100' | '100-200'] [--subnet <cidr-gw>] [--dry-run]
vmware-nsx segment update <id> [--name <nombre>] [--subnet <cidr-gw>] [--dry-run]
vmware-nsx segment delete <id> [--dry-run]
# Gestión de puertas de enlace (escritura)
vmware-nsx gateway create-tier1 <id> --name <nombre> [--tier0 <ruta-t0>] [--edge-cluster <ruta-ec>] [--dry-run]
vmware-nsx gateway update-tier1 <id> [--name <nombre>] [--tier0 <ruta-t0>] [--advertise <tipos>] [--dry-run]
vmware-nsx gateway delete-tier1 <id> [--dry-run]
vmware-nsx gateway configure-tier0-bgp <id-tier0> --local-as <asn> [--ecmp/--no-ecmp] [--dry-run]
# NAT (escritura)
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]
# Rutas estáticas (escritura)
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 de IP (escritura)
vmware-nsx ip-pool create <id-pool> --name <nombre> --start <ip> --end <ip> --cidr <cidr> [--gateway <ip>] [--dry-run]
# Salud y solución de problemas (solo lectura)
vmware-nsx health alarms [--severity CRITICAL]
vmware-nsx health transport-node-status <id-nodo>
vmware-nsx health edge-cluster-status <id-cluster>