Community写作与编辑github.com

VMware NSX 网络管理

VMware NSX 网络管理:分段、网关、NAT、路由、IPAM — 32 个 MCP 工具

VMware NSX 网络管理 是什么?

此技能为 VMware NSX 网络管理提供了一套全面的 MCP 工具,共 33 个工具(20 个只读,13 个写入),用于管理分段、网关、NAT、路由和 IPAM。它专为 NSX-T / NSX 4.x 策略 API 设计,支持通过 CLI 和 MCP 协议执行操作。该技能还通过故障排除工作流(如检查逻辑端口状态和 VM 到分段查找)辅助诊断网络连接问题。开发者可以利用它创建应用网络、监控网络健康状态、排查 VM 连接故障,并通过 `--target` 参数支持多 NSX Manager 操作。

兼容平台✓Claude Code~Codex CLI✓Cursor
npx skills add zw008/VMware-NSX

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

VMware NSX

免责声明:这是一个社区维护的开源项目,与 VMware, Inc. 或 Broadcom Inc. 无关联、不经其认可亦非由其赞助。“VMware”和“NSX”是 Broadcom 的商标。源代码在 github.com/zw008/VMware-NSX MIT 许可下公开可审计。

VMware NSX 网络管理 — 用于分段、网关、NAT、路由和 IPAM 的 32 个 MCP 工具。

面向域的网络技能,适用于 NSX-T / NSX 4.x 策略 API。 配套技能:vmware-nsx-security(DFW/防火墙)、vmware-aiops(VM 生命周期)、vmware-monitor(只读监控)、vmware-storage(iSCSI/vSAN)、vmware-vks(Tanzu Kubernetes)、vmware-aria(指标/告警/容量)、vmware-avi(AVI/ALB/AKO)、vmware-harden(合规基准)。 | vmware-pilot(工作流编排)| vmware-policy(审计/策略)|

此技能的功能

类别工具数量读/写
分段列出、获取详情、创建、更新、删除52R / 3W
Tier-0 网关列出、获取详情、BGP 邻居、配置 BGP43R / 1W
Tier-1 网关列出、获取详情、创建、更新、删除52R / 3W
NAT列出规则、创建规则、删除规则31R / 2W
静态路由列出、创建、删除31R / 2W
IP 池列出、获取使用情况、创建池、删除池42R / 2W
架构清单传输区域、传输节点、边缘集群33R / 0W
健康NSX 告警、传输节点状态、边缘集群状态、管理器状态44R / 0W
故障排除逻辑端口状态、VM 到分段查找22R / 0W

总计:33 个工具(20 个只读 + 13 个写入)

快速安装

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

何时使用此技能

  • 列出、创建或修改 NSX 分段(覆盖 / VLAN 方式)
  • 创建或管理 Tier-0 / Tier-1 网关
  • 配置 NAT 规则(SNAT、DNAT、反射)
  • 查看或添加静态路由,检查 BGP 邻居
  • 管理 IP 池和子网分配
  • 检查 NSX 告警、传输节点健康、边缘集群状态
  • 查找 VM 连接到的分段
  • 排查逻辑端口状态

使用配套技能处理:

  • 分布式防火墙、安全组、DFW 规则、IDS/IPS → vmware-nsx-security
  • VM 生命周期、部署、来宾操作 → vmware-aiops
  • vSphere 清单、健康、告警、事件 → vmware-monitor
  • 存储:iSCSI、vSAN、数据存储 → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • 负载均衡、AVI/ALB、AKO、Ingress → vmware-avi

相关技能 — 技能路由

用户意图推荐技能
NSX 网络:分段、网关、NAT、路由、IPAMvmware-nsx ← 此技能
NSX 安全:DFW 规则、安全组、IDS/IPSvmware-nsx-security
只读 vSphere 监控、告警、事件vmware-monitor
VM 生命周期、部署、来宾操作vmware-aiops
存储:iSCSI、vSAN、数据存储vmware-storage
Tanzu Kubernetes(vSphere 8.x+)vmware-vks
Aria Ops:指标、告警、容量规划vmware-aria
带审批的多步骤工作流vmware-pilot
合规基准(CIS / 等保 / PCI-DSS)、漂移检测、LLM 修复建议vmware-harden(uv tool install vmware-harden)
负载均衡器、AVI、ALB、AKO、Ingressvmware-avi(uv tool install vmware-avi)
审计日志查询vmware-policy(vmware-audit CLI)

常见工作流

创建应用网络(分段 + T1 网关 + NAT)

预检(判断,而非盲目顺序):

  • 子网冲突检查:通过 inventory list-segments 和 networking list-ip-pools 扫描是否有任何覆盖与提议的 CIDR 重叠。重叠子网会导致非对称路由或静默黑洞 —— NSX 不会警告你。
  • 边缘集群容量:确认选择的 --edge-cluster 健康(inventory list-edge-clusters + health edge-cluster-status <id>)且未达到 SR(服务路由器)限制。满载的边缘集群会允许 T1 创建,但路由会失败。
  • T0 上行:父 T0 必须已配置 BGP/静态路由上游 —— 否则 SNAT 内部工作,但外部流量无法到达。
  • NAT IP:--translated IP 必须来自 T0 通告的可路由地址池;使用随机 IP 会创建半工作状态的网络。
  • 始终先执行 --dry-run —— 一旦分段连接到正在运行的 VM,删除它需要分离每个端口。

步骤:

  1. vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster <ec-path> --tier0 <t0-path> --dry-run → 审查,然后实际执行
  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. 端到端验证:inventory list-segments、networking list-nat-rules app-t1,并测试连接到新分段的 VM
  5. 失败时:连接错误或 HTTP 错误会打印一条教学行(例如,403 → 检查 NSX 角色权限;404 → 运行匹配的列表命令以获取确切 ID)。运行 vmware-nsx doctor 验证连接性和凭据,修复后重新运行失败步骤 —— 先前完成的步骤是幂等的 PUT,安全可重试。

检查网络健康

判断:不要只枚举健康端点 —— 关联它们。以下顺序映射原因到症状:如果管理器宕机,传输节点也会显示为宕机(误报);从上到下修复。

  1. vmware-nsx health manager-status —— 如果任何管理器节点处于 DEGRADED 或 DOWN,先停止在此处解决,再信任下游信号
  2. vmware-nsx inventory list-transport-nodes 然后 health transport-node-status <id> 查找任何不是 UP 的节点 —— 标记宕机 ≥ 5 分钟的节点;瞬时波动是正常的
  3. vmware-nsx inventory list-edge-clusters 然后 health edge-cluster-status <id> —— 验证 SR 放置是否平衡;一个边缘承载 80% 的 SR 是单点故障
  4. vmware-nsx health alarms --severity HIGH(重复执行 CRITICAL)—— 严重性过滤器是精确匹配,不是“及以上”
  5. 与 vmware-monitor 交叉检查 vSphere 主机事件 —— 主机失去 vCenter 连接通常伪装成 NSX 问题

排查 VM 连接问题

判断:连接故障发生在三个层之一。首先确定哪个层,然后深入排查 —— 不要胡乱尝试。

  • 第 1 层 — VM 到分段:VM 没有分段、错误的 vNIC 或端口管理性关闭 → troubleshoot vm-segment + troubleshoot port-status
  • 第 2 层 — 分段到网关:分段未连接到 T1,T1 未连接到 T0 → inventory get-tier1 显示没有 Tier-0 路径
  • 第 3 层 — 网关到上游:T0 BGP/静态缺失或 SNAT 未配置 → networking bgp-neighbors、networking list-nat-rules

步骤(一旦识别出故障层即停止):

  1. 第 1 层:troubleshoot vm-segment my-vm-01 → 如果没有端口,首先检查 vSphere vNIC 绑定
  2. 第 1 层:troubleshoot port-status <segment-id> → 管理性关闭或 DFW 阻止?如果是 DFW,跳转到 vmware-nsx-security
  3. 第 2 层:inventory get-tier1 app-t1 → Tier-0 路径存在且路由通告已启用?如果否,则 T1↔T0 链接断开
  4. 第 3 层:networking bgp-neighbors tier0-gw → 所有邻居 ESTABLISHED?波动 → 上游问题
  5. 第 3 层:networking list-nat-rules app-t1 → SNAT 规则覆盖源 CIDR?错误的 CIDR 是最常见原因

多目标操作

所有命令接受 --target <name> 以针对配置中的特定 NSX Manager 执行操作:

# 默认目标(config.yaml 中的第一个)
vmware-nsx inventory list-segments

# 特定目标
vmware-nsx inventory list-segments --target nsx-prod
vmware-nsx health alarms --target nsx-lab

使用模式

场景推荐原因
本地/小模型(Ollama、Qwen)CLI~2K tokens vs MCP 的 ~8K
云端模型(Claude、GPT-4o)任一MCP 提供结构化 JSON I/O
自动化流水线MCP类型安全参数,结构化输出

MCP 工具(33 个 — 20 读、13 写)

所有 MCP 工具接受可选的 target 参数以选择要连接的 NSX Manager。

类别工具类型描述
分段list_segments读列出所有分段,包括类型、子网、管理状态、端口计数
get_segment读获取分段详情,包括端口和子网配置
create_segment写创建覆盖或 VLAN 分段,包含子网和网关
update_segment写更新分段属性(名称、子网、网关链接)
delete_segment写删除分段(在连接的端口上发出警告)
Tier-0 GWlist_tier0_gateways读列出 Tier-0 网关,包含 HA 模式和传输子网
get_tier0_gateway读获取 Tier-0 详情:HA 模式、故障转移、传输子网
get_bgp_neighbors读列出 BGP 邻居会话,包含状态、ASN、前缀
configure_tier0_bgp写在 Tier-0 上配置 BGP(本地 AS、ECMP、SR 间 iBGP)
Tier-1 GWlist_tier1_gateways读列出 Tier-1 网关,包含链接的 Tier-0 和路由通告
get_tier1_gateway读获取 Tier-1 详情:Tier-0 链接、路由通告
create_tier1_gateway写创建 Tier-1 网关,包含边缘集群和 Tier-0 链接
update_tier1_gateway写更新 Tier-1 属性(路由通告、Tier-0 链接)
delete_tier1_gateway写删除 Tier-1 网关(首先移除默认本地服务)
NATlist_nat_rules读列出 Tier-1 网关上的 NAT 规则
create_nat_rule写在网关上创建 SNAT/DNAT/反射 NAT 规则
delete_nat_rule写删除 NAT 规则
静态路由list_static_routes读列出 Tier-1 网关上的静态路由
create_static_route写添加静态路由,包含网络和下一跳
delete_static_route写移除静态路由
IP 池list_ip_pools读列出 IP 池,包含使用情况摘要
get_ip_pool_usage读显示池的分配利用率
create_ip_pool写创建新的 IP 地址池,包含分配范围
delete_ip_pool写永久删除 IP 地址池
架构list_transport_zones读列出传输区域,包含类型(OVERLAY/VLAN)
list_transport_nodes读列出传输节点,包含节点类型和状态
list_edge_clusters读列出边缘集群,包含成员计数和部署类型
健康list_nsx_alarms读列出按严重性过滤的活动 NSX 告警
get_transport_node_status读传输节点连接性和配置状态
get_edge_cluster_status读边缘集群成员状态和故障转移配置
get_nsx_manager_status读NSX Manager 集群健康和节点角色
故障排除get_logical_port_status读分段上所有端口的实现状态
get_segment_port_for_vm读通过显示名称查找 VM 连接到的分段

读/写拆分:20 个工具是只读的,12 个修改状态。写入工具需要显式参数并由审计日志记录。--dry-run 预览是 CLI 功能;MCP 写入工具直接执行。

CLI 快速参考

# 清单(只读)
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

# 网络(只读)
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>

# 分段管理(写入)
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]

# 网关管理(写入)
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(写入)
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]

# 静态路由(写入)
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]

# IP 池(写入)
vmware-nsx ip-pool create <pool-id> --name <name> --start <ip> --end <ip> --cidr <cidr> [--gateway <ip>] [--dry-run]

# 健康与故障排除(只读)
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>

相关技能