VMware NSX
Aviso: Este é um projeto open-source mantido pela comunidade e não é afiliado, endossado ou patrocinado pela VMware, Inc. ou Broadcom Inc. "VMware" e "NSX" são marcas registradas da Broadcom. O código-fonte é publicamente auditável em github.com/zw008/VMware-NSX sob a licença MIT.
Gerenciamento de rede VMware NSX — 32 ferramentas MCP para segmentos, gateways, NAT, roteamento e IPAM.
Skill de rede com foco em domínio para API Policy NSX-T / NSX 4.x. Skills complementares: vmware-nsx-security (DFW/firewall), vmware-aiops (ciclo de vida de VMs), vmware-monitor (monitoramento somente leitura), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-aria (métricas/alarmes/capacidade), vmware-avi (AVI/ALB/AKO), vmware-harden (baselines de conformidade). | vmware-pilot (orquestração de fluxos de trabalho) | vmware-policy (auditoria/política)
O que Esta Skill Faz
| Categoria | Ferramentas | Contagem | Leitura / Gravação |
|---|---|---|---|
| Segmentos | listar, obter detalhes, criar, atualizar, excluir | 5 | 2R / 3W |
| Gateways Tier-0 | listar, obter detalhes, vizinhos BGP, configurar BGP | 4 | 3R / 1W |
| Gateways Tier-1 | listar, obter detalhes, criar, atualizar, excluir | 5 | 2R / 3W |
| NAT | listar regras, criar regra, excluir regra | 3 | 1R / 2W |
| Rotas Estáticas | listar, criar, excluir | 3 | 1R / 2W |
| Pools de IP | listar, obter uso, criar pool, excluir pool | 4 | 2R / 2W |
| Inventário de Fabric | zonas de transporte, nós de transporte, clusters de borda | 3 | 3R / 0W |
| Saúde | alarmes NSX, status de nó de transporte, status de cluster de borda, status do gerenciador | 4 | 4R / 0W |
| Solução de Problemas | status de porta lógica, busca VM-para-segmento | 2 | 2R / 0W |
Total: 33 ferramentas (20 somente leitura + 13 de gravação)
Instalação Rápida
uv tool install vmware-nsx-mgmt
vmware-nsx doctor
Quando Usar Esta Skill
- Listar, criar ou modificar segmentos NSX (overlay / VLAN)
- Criar ou gerenciar gateways Tier-0 / Tier-1
- Configurar regras NAT (SNAT, DNAT, reflexivo)
- Visualizar ou adicionar rotas estáticas, verificar vizinhos BGP
- Gerenciar pools de IP e alocações de sub-rede
- Verificar alarmes NSX, saúde de nós de transporte, status de clusters de borda
- Descobrir a qual segmento uma VM está conectada
- Solucionar problemas de status de porta lógica
Use skills complementares para:
- Firewall distribuído, grupos de segurança, regras DFW, IDS/IPS →
vmware-nsx-security - Ciclo de vida de VMs, implantação, operações convidadas →
vmware-aiops - Inventário vSphere, saúde, alarmes, eventos →
vmware-monitor - Armazenamento: iSCSI, vSAN, datastores →
vmware-storage - Tanzu Kubernetes →
vmware-vks - Balanceamento de carga, AVI/ALB, AKO, Ingress →
vmware-avi
Skills Relacionadas — Roteamento de Skills
| Intenção do Usuário | Skill Recomendada |
|---|---|
| Rede NSX: segmentos, gateways, NAT, roteamento, IPAM | vmware-nsx ← esta skill |
| Segurança NSX: regras DFW, grupos de segurança, IDS/IPS | vmware-nsx-security |
| Monitoramento vSphere somente leitura, alarmes, eventos | vmware-monitor |
| Ciclo de vida de VMs, implantação, operações convidadas | vmware-aiops |
| Armazenamento: iSCSI, vSAN, datastores | vmware-storage |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks |
| Aria Ops: métricas, alarmes, planejamento de capacidade | vmware-aria |
| Fluxos de trabalho de múltiplas etapas com aprovação | vmware-pilot |
| Baselines de conformidade (CIS / 等保 / PCI-DSS), detecção de desvios, assistente de remediação LLM | vmware-harden (uv tool install vmware-harden) |
| Balanceador de carga, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Consulta de logs de auditoria | vmware-policy (vmware-audit CLI) |
Fluxos de Trabalho Comuns
Criar uma Rede de Aplicação (Segmento + Gateway T1 + NAT)
Pré-voo (julgamento, não sequência cega):
- Verificação de conflito de sub-rede: escaneie
inventory list-segmentsenetworking list-ip-poolsem busca de qualquer sobreposição com o CIDR proposto. Sub-redes sobrepostas causam roteamento assimétrico ou blackholing silencioso — o NSX não avisará. - Capacidade do cluster de borda: confirme que o
--edge-clusterescolhido está saudável (inventory list-edge-clusters+health edge-cluster-status <id>) e não está no limite de SR (Service Router). Um cluster de borda totalmente carregado aceitará a criação do T1, mas o roteamento falhará. - Uplink T0: o T0 pai já deve estar configurado com BGP/rotas estáticas upstream — caso contrário, o SNAT funciona internamente, mas o tráfego externo não vai a lugar nenhum.
- IP NAT: o IP
--translateddeve ser de um pool de endereços roteáveis anunciados pelo T0; usar um IP aleatório cria uma rede semi-funcional. - Sempre use
--dry-runprimeiro — uma vez que um segmento é anexado a VMs em execução, excluí-lo requer desanexar cada porta.
Passos:
vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster <ec-path> --tier0 <t0-path> --dry-run→ revise, depois execute de verdadevmware-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>- Verifique ponta a ponta:
inventory list-segments,networking list-nat-rules app-t1, E teste com uma VM anexada ao novo segmento - Em caso de falha: um erro de conexão ou HTTP imprime uma única linha de ensino (ex.: 403 → verifique privilégios de função NSX; 404 → execute o comando de listagem correspondente para o ID exato). Execute
vmware-nsx doctorpara verificar conectividade e credenciais, corrija e reexecute a etapa com falha — as etapas anteriores concluídas são PUTs idempotentes e seguras de reaplicar.
Verificar Saúde da Rede
Julgamento: não enumere apenas endpoints de saúde — correlacione-os. A ordem abaixo mapeia causa para sintoma: se o gerenciador estiver inativo, os nós de transporte também parecerão inativos (falso positivo); corrija de cima para baixo.
vmware-nsx health manager-status— se qualquer nó gerenciador estiverDEGRADEDouDOWN, pare aqui e resolva antes de confiar em sinais downstreamvmware-nsx inventory list-transport-nodesdepoishealth transport-node-status <id>para qualquer nó que não estejaUP— sinalize nós inativos por ≥ 5 min; piscadas transitórias são normaisvmware-nsx inventory list-edge-clustersdepoishealth edge-cluster-status <id>— verifique se o posicionamento do SR está balanceado; um edge segurando 80% dos SRs é um ponto único de falhavmware-nsx health alarms --severity HIGH(repita comCRITICAL) — o filtro de severidade é correspondência exata, não "e acima"- Cross-check com
vmware-monitorpara eventos de host vSphere — um host perdendo conexão com o vCenter muitas vezes se disfarça como um problema NSX
Solucionar Problemas de Conectividade de VM
Julgamento: falhas de conectividade ocorrem em uma de três camadas. Identifique a camada primeiro, depois aprofunde — não sonde aleatoriamente.
- Camada 1 — VM para segmento: VM sem segmento, vNIC errada ou porta admin-down →
troubleshoot vm-segment+troubleshoot port-status - Camada 2 — segmento para gateway: segmento não anexado ao T1, T1 não conectado ao T0 →
inventory get-tier1mostra nenhum caminho Tier-0 - Camada 3 — gateway para upstream: BGP/rota estática do T0 ausente ou SNAT não configurado →
networking bgp-neighbors,networking list-nat-rules
Passos (pare assim que a camada com falha for identificada):
- Camada 1:
troubleshoot vm-segment my-vm-01→ se não houver porta, verifique primeiro a vinculação vNIC no vSphere - Camada 1:
troubleshoot port-status <segment-id>→ admin-down ou bloqueado por DFW? Se DFW, pule para vmware-nsx-security - Camada 2:
inventory get-tier1 app-t1→ Caminho Tier-0 presente e anúncio de rota habilitado? Se não, link T1↔T0 quebrado - Camada 3:
networking bgp-neighbors tier0-gw→ todos os vizinhosESTABLISHED? Flapping → problema upstream - Camada 3:
networking list-nat-rules app-t1→ A regra SNAT cobre o CIDR de origem? CIDR digitado incorretamente é a causa mais comum
Operações Multi-Alvo
Todos os comandos aceitam --target <nome> para operar contra um NSX Manager específico da sua configuração:
# Alvo padrão (primeiro em config.yaml)
vmware-nsx inventory list-segments
# Alvo específico
vmware-nsx inventory list-segments --target nsx-prod
vmware-nsx health alarms --target nsx-lab
Modo de Uso
| Cenário | Recomendado | Porquê |
|---|---|---|
| Modelos locais/pequenos (Ollama, Qwen) | CLI | ~2K tokens vs ~8K para MCP |
| Modelos em nuvem (Claude, GPT-4o) | Qualquer | MCP fornece I/O JSON estruturado |
| Pipelines automatizados | MCP | Parâmetros type-safe, saída estruturada |
Ferramentas MCP (33 — 20 leitura, 13 gravação)
Todas as ferramentas MCP aceitam um parâmetro opcional target para selecionar qual NSX Manager conectar.
| Categoria | Ferramenta | Tipo | Descrição |
|---|---|---|---|
| Segmento | list_segments | Leitura | Listar todos os segmentos com tipo, sub-rede, estado administrativo, contagem de portas |
get_segment | Leitura | Obter detalhes do segmento, incluindo portas e configuração de sub-rede | |
create_segment | Gravação | Criar segmento overlay ou VLAN com sub-rede e gateway | |
update_segment | Gravação | Atualizar propriedades do segmento (nome, sub-redes, link do gateway) | |
delete_segment | Gravação | Excluir um segmento (avisa sobre portas conectadas) | |
| GW Tier-0 | list_tier0_gateways | Leitura | Listar gateways Tier-0 com modo HA e sub-redes de trânsito |
get_tier0_gateway | Leitura | Obter detalhes do Tier-0: modo HA, failover, sub-redes de trânsito | |
get_bgp_neighbors | Leitura | Listar sessões de vizinhos BGP com estado, ASN, prefixos | |
configure_tier0_bgp | Gravação | Configurar BGP (AS local, ECMP, iBGP inter-SR) em um Tier-0 | |
| GW Tier-1 | list_tier1_gateways | Leitura | Listar gateways Tier-1 com Tier-0 vinculado e anúncio de rota |
get_tier1_gateway | Leitura | Obter detalhes do Tier-1: link Tier-0, anúncio de rota | |
create_tier1_gateway | Gravação | Criar gateway Tier-1 com cluster de borda e link Tier-0 | |
update_tier1_gateway | Gravação | Atualizar propriedades do Tier-1 (anúncio de rota, link Tier-0) | |
delete_tier1_gateway | Gravação | Excluir um gateway Tier-1 (remove o locale-service padrão primeiro) | |
| NAT | list_nat_rules | Leitura | Listar regras NAT em um gateway Tier-1 |
create_nat_rule | Gravação | Criar regra NAT SNAT/DNAT/reflexivo em um gateway | |
delete_nat_rule | Gravação | Excluir uma regra NAT | |
| Rotas Estáticas | list_static_routes | Leitura | Listar rotas estáticas em um gateway Tier-1 |
create_static_route | Gravação | Adicionar uma rota estática com rede e próximo salto | |
delete_static_route | Gravação | Remover uma rota estática | |
| Pools de IP | list_ip_pools | Leitura | Listar pools de IP com resumo de uso |
get_ip_pool_usage | Leitura | Mostrar uso de alocação para um pool | |
create_ip_pool | Gravação | Criar um novo pool de endereços IP com intervalos de alocação | |
delete_ip_pool | Gravação | Excluir permanentemente um pool de endereços IP | |
| Fabric | list_transport_zones | Leitura | Listar zonas de transporte com tipo (OVERLAY/VLAN) |
list_transport_nodes | Leitura | Listar nós de transporte com tipo de nó e status | |
list_edge_clusters | Leitura | Listar clusters de borda com contagem de membros e tipo de implantação | |
| Saúde | list_nsx_alarms | Leitura | Listar alarmes NSX ativos filtrados por severidade |
get_transport_node_status | Leitura | Conectividade do nó de transporte e status de configuração | |
get_edge_cluster_status | Leitura | Status dos membros do cluster de borda e configuração de failover | |
get_nsx_manager_status | Leitura | Saúde do cluster NSX Manager e papéis dos nós | |
| Solução de Problemas | get_logical_port_status | Leitura | Estado realizado de todas as portas em um segmento |
get_segment_port_for_vm | Leitura | Descobrir a qual segmento uma VM está conectada pelo nome de exibição |
Divisão leitura/gravação: 20 ferramentas são somente leitura, 12 modificam o estado. Ferramentas de gravação exigem parâmetros explícitos e são registradas em auditoria. A pré-visualização dry-run (--dry-run) é um recurso da CLI; as ferramentas MCP de gravação executam diretamente.
Referência Rápida da CLI
# Inventário (somente leitura)
vmware-nsx inventory list-segments [--target <nome>]
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
# Rede (somente leitura)
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>
# Gerenciamento de segmentos (gravação)
vmware-nsx segment create <id> --name <nome> --tz <tz-path> [--vlan '100' | '100-200'] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment update <id> [--name <nome>] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment delete <id> [--dry-run]
# Gerenciamento de gateways (gravação)
vmware-nsx gateway create-tier1 <id> --name <nome> [--tier0 <t0-path>] [--edge-cluster <ec-path>] [--dry-run]
vmware-nsx gateway update-tier1 <id> [--name <nome>] [--tier0 <t0-path>] [--advertise <tipos>] [--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 (gravação)
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]
# Rotas estáticas (gravação)
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 (gravação)
vmware-nsx ip-pool create <pool-id> --name <nome> --start <ip> --end <ip> --cidr <cidr> [--gateway <ip>] [--dry-run]
# Saúde e Solução de Problemas (somente leitura)
vmware-nsx health alarms [--severity CRITICAL]
vmware-nsx health transport-node-status <node-id>
vmware-nsx health edge-cluster-status <cluster-id>
vmware-nsx h
…
[truncado para tradução]