安全

vmware-nsx

试用

通过 33 个 CLI/MCP 工具管理 NSX-T 网段、Tier-0/Tier-1 网关、NAT、静态路由与 IP 池。

它能做什么

面向 VMware NSX-T / NSX 4.x Policy API 的网络管理技能,共提供 33 个工具(20 个只读 + 13 个写操作),覆盖网段生命周期、Tier-0 与 Tier-1 网关配置、BGP 邻居查询、NAT 规则、静态路由、IP 池管理、Fabric 清单与健康检查。同时提供 CLI(`vmware-nsx`)与 MCP 服务两种使用方式,通过 `--target` 参数支持多 NSX Manager 目标;写操作支持 dry-run 预览,且要求显式参数并写入审计日志。

什么时候用它

  • 为新应用搭建网络(网段 + Tier-1 + NAT)
  • 巡检 NSX Manager、传输节点与 Edge 集群健康状态
  • 定位 VM 到网段、或网关到上游之间的连通性问题
  • 管理 IP 池、子网分配以及静态路由

技能文档

VMware NSX

Disclaimer: This is a community-maintained open-source project and is not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom Inc. "VMware" and "NSX" are trademarks of Broadcom. Source code is publicly auditable at github.com/vmware-skills/VMware-NSX under the MIT license.

VMware NSX networking management — 33 MCP tools for segments, gateways, NAT, routing, and IPAM.

Domain-focused networking skill for NSX-T / NSX 4.x Policy API. Companion skills: vmware-nsx-security (DFW/firewall), vmware-aiops (VM lifecycle), vmware-monitor (read-only monitoring), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-aria (metrics/alerts/capacity), vmware-avi (AVI/ALB/AKO), vmware-harden (compliance baselines). | vmware-pilot (workflow orchestration) | vmware-policy (audit/policy)

What This Skill Does

CategoryToolsCountRead / Write
Segmentslist, get details, create, update, delete52R / 3W
Tier-0 Gatewayslist, get details, BGP neighbors, configure BGP43R / 1W
Tier-1 Gatewayslist, get details, create, update, delete52R / 3W
NATlist rules, create rule, delete rule31R / 2W
Static Routeslist, create, delete31R / 2W
IP Poolslist, get usage, create pool, delete pool42R / 2W
Fabric Inventorytransport zones, transport nodes, edge clusters33R / 0W
HealthNSX alarms, transport node status, edge cluster status, manager status44R / 0W
Troubleshootinglogical port status, VM-to-segment lookup22R / 0W

Total: 33 tools (20 read-only + 13 write)

Quick Install

uv tool install vmware-nsx-mgmt
vmware-nsx init      # guided setup: writes config + .env (chmod 600, password grep-safe), then verifies
vmware-nsx doctor

When to Use This Skill

  • List, create, or modify NSX segments (overlay / VLAN-backed)
  • Create or manage Tier-0 / Tier-1 gateways
  • Configure NAT rules (SNAT, DNAT, reflexive)
  • View or add static routes, check BGP neighbors
  • Manage IP pools and subnet allocations
  • Check NSX alarms, transport node health, edge cluster status
  • Find which segment a VM is connected to
  • Troubleshoot logical port status

Use companion skills for:

  • Distributed firewall, security groups, DFW rules, IDS/IPS → vmware-nsx-security
  • VM lifecycle, deployment, guest ops → vmware-aiops
  • vSphere inventory, health, alarms, events → vmware-monitor
  • Storage: iSCSI, vSAN, datastores → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • Load balancing, AVI/ALB, AKO, Ingress → vmware-avi
User IntentRecommended Skill
NSX networking: segments, gateways, NAT, routing, IPAMvmware-nsx ← this skill
NSX security: DFW rules, security groups, IDS/IPSvmware-nsx-security
Read-only vSphere monitoring, alarms, eventsvmware-monitor
VM lifecycle, deployment, guest opsvmware-aiops
Storage: iSCSI, vSAN, datastoresvmware-storage
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Aria Ops: metrics, alerts, capacity planningvmware-aria
Multi-step workflows with approvalvmware-pilot
Compliance baselines (CIS / 等保 / PCI-DSS), drift detection, LLM remediation advisorvmware-harden (uv tool install vmware-harden)
Load balancer, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Audit log queryvmware-policy (vmware-audit CLI)

Common Workflows

Create an App Network (Segment + T1 Gateway + NAT)

Pre-flight (judgment, not blind sequence):

  • Subnet conflict check: scan inventory list-segments and networking list-ip-pools for any overlap with the proposed CIDR. Overlapping subnets cause asymmetric routing or silent blackholing — NSX will not warn you.
  • Edge cluster capacity: confirm chosen --edge-cluster is healthy (inventory list-edge-clusters + health edge-cluster-status ) and not at SR (Service Router) limit. A fully-loaded edge cluster will accept the T1 creation but routing will fail.
  • T0 uplink: the parent T0 must already be configured with BGP/static routes upstream — otherwise SNAT works internally but external traffic goes nowhere.
  • NAT IP: --translated IP must be from a routable address pool announced by T0; using a random IP creates a half-working network.
  • Always --dry-run first — once a segment is attached to running VMs, deleting it requires detaching every port.

Steps:

  1. vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster --tier0 --dry-run → review, then run for real
  2. vmware-nsx segment create app-web-seg --name app-web-seg --tz --subnet
  3. vmware-nsx nat create-rule --tier1 app-t1 --rule-id snat-1 --action SNAT --source --translated
  4. Verify end-to-end: inventory list-segments, networking list-nat-rules app-t1, AND test with a VM attached to the new segment
  5. On failure: a connection error or HTTP error prints a single teaching line (e.g. 403 → check NSX role privileges; 404 → run the matching list command for the exact ID). Run vmware-nsx doctor to verify connectivity and credentials, fix, and re-run the failed step — earlier completed steps are idempotent PUTs and safe to re-apply.

Check Network Health

Judgment: don't just enumerate health endpoints — correlate them. The order below maps cause to symptom: if manager is down, transport nodes will look down too (false positive); fix top-down.

  1. vmware-nsx health manager-status — if any manager node is DEGRADED or DOWN, stop here and resolve before trusting downstream signals
  2. vmware-nsx inventory list-transport-nodes then health transport-node-status for any node not UP — flag nodes down ≥ 5 min; transient blips are normal
  3. vmware-nsx inventory list-edge-clusters then health edge-cluster-status — verify SR placement is balanced; one edge holding 80% of SRs is a single point of failure
  4. vmware-nsx health alarms --severity HIGH (repeat with CRITICAL) — severity filter is exact-match, not "and above"
  5. Cross-check with vmware-monitor for vSphere host events — a host losing connection to vCenter often masquerades as an NSX problem

Troubleshoot VM Connectivity

Judgment: connectivity failures happen at one of three layers. Identify which layer first, then drill — don't probe randomly.

  • Layer 1 — VM-to-segment: VM has no segment, wrong vNIC, or port admin-down → troubleshoot vm-segment + troubleshoot port-status
  • Layer 2 — segment-to-gateway: segment not attached to T1, T1 not connected to T0 → inventory get-tier1 shows no Tier-0 path
  • Layer 3 — gateway-to-upstream: T0 BGP/static missing or SNAT not configured → networking bgp-neighbors, networking list-nat-rules

Steps (stop as soon as the failing layer is identified):

  1. Layer 1: troubleshoot vm-segment my-vm-01 → if no port, check vSphere vNIC binding first
  2. Layer 1: troubleshoot port-status → admin-down or DFW-blocked? If DFW, jump to vmware-nsx-security
  3. Layer 2: inventory get-tier1 app-t1 → Tier-0 path present and route advertisement enabled? If not, T1↔T0 link broken
  4. Layer 3: networking bgp-neighbors tier0-gw → all neighbors ESTABLISHED? Flapping → upstream issue
  5. Layer 3: networking list-nat-rules app-t1 → SNAT rule covers the source CIDR? Mis-typed CIDR is the most common cause

Multi-Target Operations

All commands accept --target to operate against a specific NSX Manager from your config (default: the first target in config.yaml), e.g. vmware-nsx inventory list-segments --target nsx-prod.

Usage Mode

ScenarioRecommendedWhy
Local/small models (Ollama, Qwen)CLI~2K tokens vs ~8K for MCP
Cloud models (Claude, GPT-4o)EitherMCP gives structured JSON I/O
Automated pipelinesMCPType-safe parameters, structured output

MCP Tools (33 — 20 read, 13 write)

All MCP tools accept an optional target parameter to select which NSX Manager to connect to.

CategoryToolTypeDescription
Segmentlist_segmentsReadList all segments with type, subnet, admin state, port count
get_segmentReadGet segment details including ports and subnet config
create_segmentWriteCreate overlay or VLAN segment with subnet and gateway
update_segmentWriteUpdate segment properties (name, subnets, gateway link)
delete_segmentWriteDelete a segment (warns on connected ports)
Tier-0 GWlist_tier0_gatewaysReadList Tier-0 gateways with HA mode and transit subnets
get_tier0_gatewayReadGet Tier-0 details: HA mode, failover, transit subnets
get_bgp_neighborsReadList BGP neighbor sessions with state, ASN, prefixes
configure_tier0_bgpWriteConfigure BGP (local AS, ECMP, inter-SR iBGP) on a Tier-0
Tier-1 GWlist_tier1_gatewaysReadList Tier-1 gateways with linked Tier-0 and route advertisement
get_tier1_gatewayReadGet Tier-1 details: Tier-0 link, route advertisement
create_tier1_gatewayWriteCreate Tier-1 gateway with edge cluster and Tier-0 link
update_tier1_gatewayWriteUpdate Tier-1 properties (route advertisement, Tier-0 link)
delete_tier1_gatewayWriteDelete a Tier-1 gateway (removes default locale-service first)
NATlist_nat_rulesReadList NAT rules on a Tier-1 gateway
create_nat_ruleWriteCreate SNAT/DNAT/reflexive NAT rule on a gateway
delete_nat_ruleWriteDelete a NAT rule
Static Routeslist_static_routesReadList static routes on a Tier-1 gateway
create_static_routeWriteAdd a static route with network and next-hop
delete_static_routeWriteRemove a static route
IP Poolslist_ip_poolsReadList IP pools with usage summary
get_ip_pool_usageReadShow allocation usage for a pool
create_ip_poolWriteCreate a new IP address pool with allocation ranges
delete_ip_poolWritePermanently delete an IP address pool
Fabriclist_transport_zonesReadList transport zones with type (OVERLAY/VLAN)
list_transport_nodesReadList transport nodes with node type and status
list_edge_clustersReadList edge clusters with member count and deployment type
Healthlist_nsx_alarmsReadList active NSX alarms filtered by severity
get_transport_node_statusReadTransport node connectivity and config status
get_edge_cluster_statusReadEdge cluster member status and failover config
get_nsx_manager_statusReadNSX Manager cluster health and node roles
Troubleshootget_logical_port_statusReadRealized state of all ports on a segment
get_segment_port_for_vmReadFind which segment a VM is connected to by display name

Write tools require explicit parameters and are audit-logged. Dry-run preview (--dry-run) is a CLI feature; MCP write tools execute directly.

List results are envelopes — read truncated before you summarise

Every list-returning tool above returns {items, returned, limit, total, truncated, hint}, not a bare array. Rows live under items: empty items with truncated: false means the query genuinely matched nothing — report that, not a tool failure. truncated: true means more rows exist — never describe the result as the complete set; re-query as hint instructs. Field semantics, total sourcing, and an example payload: references/capabilities.md.

Local & Small Models

Running with local or small models? See references/agent-guardrails.md for explicit operating rules that keep tool calls reliable.

CLI Quick Reference

# Inventory (read-only)
vmware-nsx inventory list-segments [--target ]
vmware-nsx inventory get-segment 
vmware-nsx inventory list-tier0s
vmware-nsx inventory get-tier0 
vmware-nsx inventory list-tier1s
vmware-nsx inventory get-tier1 
vmware-nsx inventory list-transport-zones
vmware-nsx inventory list-transport-nodes
vmware-nsx inventory list-edge-clusters

# Networking (read-only)
vmware-nsx networking list-nat-rules 
vmware-nsx networking bgp-neighbors 
vmware-nsx networking list-static-routes 
vmware-nsx networking list-ip-pools
vmware-nsx networking ip-pool-usage 

# Segment management (write; full option lists in references/cli-reference.md)
vmware-nsx segment create  --name  --tz  [--vlan|--subnet] [--dry-run]
vmware-nsx segment update  [--name|--subnet] [--dry-run]
vmware-nsx segment delete  [--dry-run]

# Gateway management (write)
vmware-nsx gateway create-tier1  --name  [--tier0|--edge-cluster] [--dry-run]
vmware-nsx gateway update-tier1  [--name|--tier0|--advertise] [--dry-run]
vmware-nsx gateway delete-tier1  [--dry-run]
vmware-nsx gateway configure-tier0-bgp  --local-as  [--ecmp] [--dry-run]

# NAT (write)
vmware-nsx nat create-rule --tier1  --rule-id  --action SNAT --source  --translated  [--dry-run]
vmware-nsx nat delete-rule --tier1  --rule-id  [--dry-run]

# Static routes (write)
vmware-nsx route create-static --tier1  --route-id  --network  --next-hop  [--dry-run]
vmware-nsx route delete-static --tier1  --route-id  [--dry-run]

# IP pools (write)
vmware-nsx ip-pool create  --name  --start  --end  --cidr  [--dry-run]

# Health & Troubleshooting (read-only)
vmware-nsx health alarms [--severity CRITICAL]
vmware-nsx health transport-node-status 
vmware-nsx health edge-cluster-status 
vmware-nsx health manager-status
vmware-nsx troubleshoot port-status 
vmware-nsx troubleshoot vm-segment 

# Diagnostics
vmware-nsx doctor [--skip-auth]

Full CLI reference with all options and output formats: see references/cli-reference.md

Troubleshooting

"Segment not found" when querying

Segment display names and Policy API IDs can differ. Use vmware-nsx inventory list-segments to get the exact ID. The Policy API uses the segment id field, not display_name. Common mistakes: using the display name with spaces instead of the hyphenated ID.

NAT rule creation fails with "gateway not found"

NAT rules are created on Tier-1 gateways (or Tier-0 for some topologies). Verify the gateway name with vmware-nsx inventory list-tier1s. The gateway must have an edge cluster assigned for NAT to function.

BGP neighbor shows "Connect" or "Active" state

The BGP session is not established. Common causes:

  1. Peer IP unreachable from the edge node — check physical uplinks and VLAN config
  2. ASN mismatch — compare local and remote ASN in bgp-neighbors output
  3. Firewall blocking TCP 179 — check edge node firewall rules (not NSX DFW)
  4. MD5 password mismatch — verify authentication settings on both sides

Transport node status "degraded"

A transport node in degraded state has partial connectivity. Steps:

  1. Check vmware-nsx health transport-nodes for the specific failure reason
  2. Common cause: tunnel endpoint (TEP) unreachable — verify underlay MTU (minimum 1600 for Geneve)
  3. Check NTP sync between NSX Manager and transport nodes
  4. If recently upgraded, verify the host switch config matches NSX Manager expectations

"Password not found" error

The password environment variable is missing. Variable names follow the pattern VMWARE_NSX__PASSWORD where hyphens become underscores. Example: target nsx-prod needs VMWARE_NSX_NSX_PROD_PASSWORD. Check your ~/.vmware-nsx/.env file.

Safety

  • Read-heavy: 20 of 33 tools are read-only (list, get, status, health, troubleshoot)
  • Audit logging: All operations logged to ~/.vmware/audit.db (SQLite WAL, via vmware-policy) with timestamp, user, target, operation, parameters, and result
  • Double confirmation: CLI write commands require two separate confirmation prompts before executing
  • Dry-run mode: All CLI write commands support --dry-run to preview API calls without executing (MCP write tools execute directly and are audit-logged)
  • Dependency checks: Segment delete checks for connected ports; gateway delete checks for connected segments; prevents accidental cascade failures
  • Input validation: CIDR networks validated, IP addresses checked, gateway existence verified before NAT/route operations
  • Prompt injection defense: NSX object names returned from the API are sanitized via _sanitize() — strips control characters, truncates to 500 chars
  • Credential safety: Passwords loaded only from environment variables (.env file), never from config.yaml
  • No firewall operations: Cannot create, modify, or delete DFW rules, security groups, or IDS/IPS policies — that scope belongs to vmware-nsx-security

Setup

uv tool install vmware-nsx-mgmt
vmware-nsx init      # writes ~/.vmware-nsx/config.yaml + .env (chmod 600), then verifies
vmware-nsx doctor

All tools are automatically audited via vmware-policy. Audit logs: vmware-audit log --last 20

Full setup guide with multi-target config, MCP server setup, and Docker: see references/setup-guide.md

Architecture

User (natural language)
  |
AI Agent (Claude Code / Goose / Cursor)
  | reads SKILL.md
vmware-nsx CLI or MCP server (stdio transport)
  | NSX Policy API (REST/JSON over HTTPS)
NSX Manager
  |
Segments / Gateways / NAT / Routes / IP Pools / Transport Nodes

Audit & Safety

All operations are automatically audited via vmware-policy (@vmware_tool decorator):

  • Every tool call logged to ~/.vmware/audit.db (SQLite, framework-agnostic)
  • Policy rules enforced via ~/.vmware/rules.yaml (deny rules, maintenance windows, risk levels)
  • Risk classification: each tool tagged as low/medium/high/critical
  • View recent operations: vmware-audit log --last 20
  • View denied operations: vmware-audit log --status denied

vmware-policy is automatically installed as a dependency — no manual setup needed.

License

MIT — github.com/vmware-skills/VMware-NSX

常见问题

这个技能与 VMware 或 Broadcom 有官方关联吗?
没有。它是社区维护的开源项目,采用 MIT 协议;VMware 与 NSX 是 Broadcom 的商标,源代码在 GitHub 上公开可审计。
CLI 和 MCP 两种模式应该怎么选?
本地或小模型(如 Ollama、Qwen)推荐使用 CLI,token 占用约 2K;Claude、GPT-4o 等云端模型以及自动化流水线推荐使用 MCP,可获得结构化 JSON 输入输出。
它能处理 DFW 防火墙规则或负载均衡吗?
不能。分布式防火墙与安全组请交给配套技能 vmware-nsx-security;AVI/ALB 负载均衡请使用 vmware-avi。

相关技能

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

zw008 的更多技能

浏览全部技能

通过 33 个 MCP 工具查询 VMware Aria Operations 的指标、告警、容量、异常与报告。

作者 zw00853 次安装

通过 21 个 MCP 工具或配套 CLI,管理 NSX-T 分布式防火墙策略、安全组、VM 标签、Traceflow 与 IDPS。

作者 zw00854 次安装

用 28 个读写工具管理 AVI 虚拟服务、AKO Ingress 与后端成员,覆盖 NSX ALB 运维场景。

作者 zw00851 次安装

用自然语言管理 vSphere Kubernetes Service 的 Supervisor 集群、命名空间与 TKC 集群生命周期。

作者 zw00851 次安装

为 VMware 多步操作设计审批流程、追踪状态、失败时自动回滚的统一编排入口。

作者 zw00824 次安装1 星标

针对 vSphere/ESXi/NSX 环境的合规扫描与基线比对,覆盖 CIS、STIG、等保 2.0 三级、PCI-DSS、IT-Grundschutz、NIS2。

作者 zw00834 次安装