您可以使用端口镜像分析网络流量以进行调试或故障排除。通过端口镜像,可以将分段端口(或整个分段)上出现的所有网络数据包或特定数据包复制到另一个分段端口。

您可以创建以下端口镜像会话类型:
  • 本地 SPAN
  • 远程 SPAN
  • 远程 L3 SPAN
  • 逻辑 SPAN

请注意,仅覆盖网络逻辑交换机支持逻辑 SPAN,而 VLAN 逻辑交换机则不支持。

如果将大量流量镜像到一个监控虚拟机,则驱动程序的缓冲区环可能会变满并丢弃数据包。为了缓解该问题,您可以采取下面的一个或多个措施:

  • 增加接收缓冲区环大小。
  • 为虚拟机分配更多 CPU 资源。
  • 使用数据平面开发工具包 (Data Plane Development Kit, DPDK) 提高数据包处理性能。
注: 请确保监控虚拟机的 MTU 设置足够大,能够处理数据包。这对于封装的数据包特别重要,因为封装增加了数据包大小。否则,可能会丢弃数据包。具有 VMXNET3 网卡的 ESXi 虚拟机不会出现该问题,但其他类型的网卡可能会出现该问题。

NSX 4.2 之前,ENS 快速路径仅支持远程 L3 SPAN。如果创建了本地 SPAN 或远程 SPAN (Remote SPAN, RSPAN) 会话,生产数据包将通过 pktHandle 慢速路径。从 NSX 4.2 开始,ENS 快速路径同时支持本地 SPAN 和 RSPAN。

该功能具有以下限制:

  • 源镜像端口不能位于多个镜像会话中。
  • 对于本地 SPAN 会话,镜像会话源和目标端口必须位于同一主机 vSwitch 上。因此,如果通过 vMotion 将具有源或目标端口的虚拟机移到另一个主机,则无法再镜像该端口上的流量。
  • 对于本地 SPAN 和 RSPAN 目标会话,不允许镜像目标端口上的正常流量。
  • 在 ESXi 上,如果在上行链路上启用了镜像,则 VDL2 使用 Geneve 协议将原始生产 TCP 数据包封装为 UDP 数据包。支持 TSO(TCP 分段卸载)的物理网卡可以更改这些数据包,并使用 MUST_TSO 标记来标记这些数据包。在具有 VMXNET3 或 E1000 vNIC 的监控虚拟机上,该驱动程序将数据包视为常规 UDP 数据包,而无法处理 MUST_TSO 标记并丢弃这些数据包。
  • IPFIX 不会对镜像数据包进行采样,而且流跟踪和实时流量分析不会跟踪镜像数据包。
  • 如果您计划创建 RSPAN 会话,建议在整个网络中预留一些 VLAN 以用作 RSPAN VLAN。不要为这些 VLAN 分配分段端口。RSPAN VLAN 必须是专用 VLAN,不应用作交换 VLAN 或传输 VLAN。如果您已将 RSPAN VLAN 作为传输、交换或中继 VLAN 包含在会话中,则在升级到 NSX 4.2 期间,您会收到错误,而无法更新 RSPAN 源和目标会话中的这些 RSPAN VLAN。
  • 您最多可以为 RSPAN 目标会话创建 16 个 RSPAN VLAN。
  • 不能将一个 VLAN 作为跨多个 RSPAN 目标会话的镜像源包含在会话中。
  • RSPAN 目标不会监控 vNIC 输入流量。
  • 您必须在 RSPAN 源上实施镜像筛选,而不能在 RSPAN 目标上实施,因为 RSPAN 目标用于接收镜像数据包。如果在升级到 NSX 4.2 之前已为 RSPAN 目标配置了镜像筛选,则必须移除镜像筛选配置。

前提条件

确认在 NSX Manager 用户界面中选择了管理器模式。请参见NSX Manager。如果看不到策略管理器模式按钮,请参见配置用户界面设置

过程

  1. 使用 admin 特权登录到 NSX Manager
  2. 选择安全规划和故障排除 > 端口镜像 > 端口镜像会话
  3. 单击添加并选择会话类型。
    可用类型为 本地 SPAN远程 SPAN远程 L3 SPAN逻辑 SPAN
  4. 输入会话名称和可选描述。
  5. 提供其他参数。
    会话类型 参数
    本地 SPAN
    • 传输节点 - 选择一个传输节点。
    • 方向 - 选择双向输入输出
    • 数据包截断 - 选择一个数据包截断值。
    远程 SPAN
    • 会话类型 - 选择 RSPAN 源会话RSPAN 目标会话
    • 传输节点 - 选择一个传输节点。
    • 方向 - 选择双向输入输出
    • 数据包截断 - 选择一个数据包截断值。
    • 封装VLAN ID - 指定一个封装 VLAN ID。
    • 保留原始VLAN - 选择是否保留原始 VLAN ID。
    远程 L3 SPAN
    • 封装 - 选择 GREERSPAN IIERSPAN III
    • GRE 密钥 - 如果封装为 GRE,则指定一个 GRE 密钥。ERSPAN ID - 如果封装为 ERSPAN IIERSPAN III,则指定一个 ERSPAN ID。
    • 方向 - 选择双向输入输出
    • 数据包截断 - 选择一个数据包截断值。
    逻辑 SPAN
    • 逻辑交换机 - 选择一个逻辑交换机。
    • 方向 - 选择双向输入输出
    • 数据包截断 - 选择一个数据包截断值。
  6. 单击下一步
  7. 提供源信息。
    会话类型 参数
    本地 SPAN
    • 选择 VDS。
    • 选择物理接口。
    • 启用或禁用封装数据包。
    • 选择虚拟机。
    • 选择虚拟接口。
    远程 SPAN
    • 选择虚拟机。
    • 选择虚拟接口。
    远程 L3 SPAN
    • 选择虚拟机。
    • 选择虚拟接口。
    • 选择逻辑交换机。
    逻辑 SPAN
    • 选择逻辑端口。
  8. 单击下一步
  9. 提供目标信息。
    会话类型 参数
    本地 SPAN
    • 选择虚拟机。
    • 选择虚拟接口。
    远程 SPAN
    • 选择 VDS。
    • 选择物理接口。
    远程 L3 SPAN
    • 指定一个 IPv4 地址。
    逻辑 SPAN
    • 选择逻辑端口。
  10. 单击保存
    保存端口镜像会话后,无法更改源或目标。