你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Hyper-V vSwitch 配置流量镜像

本文是介绍使用 Microsoft Defender for IoT 进行 OT 监视的部署路径的系列文章之一。

进度栏关系图,其中突出显示了网络级别部署。

本文介绍了如何在 Hyper-V Vswitch 环境中使用混杂模式作为配置流量镜像的解决方法,这与 SPAN 端口相类似。 交换机上的 SPAN 端口会将本地流量从交换机上的接口镜像到同一交换机上的其他接口。

有关详细信息,请参阅使用虚拟交换机进行流量镜像

必备条件

开始之前:

  • 请确保了解使用 Defender for IoT 进行网络监视的计划,以及要配置的 SPAN 端口。

    有关详细信息,请参阅用于 OT 监视的流量镜像方法

  • 确保没有任何虚拟设备实例正在运行。

  • 确保已在虚拟交换机的数据端口而非管理端口上启用“确保 SPAN”。

  • 确保数据端口 SPAN 的配置未配置 IP 地址。

创建新的 Hyper-V 虚拟交换机,将镜像流量中继到 VM

使用 PowerShell 创建新的虚拟交换机

New-VMSwitch -Name vSwitch_Span -NetAdapterName Ethernet -AllowManagementOS:$true

其中:

参数 说明
vSwitch_Span 新添加的 SPAN 虚拟交换机名称
以太网 物理适配器名称

了解如何使用 Hyper-V 创建和配置虚拟交换机

使用 Hyper-V 管理器创建新的虚拟交换机

  1. 打开虚拟交换机管理器。

  2. 在“虚拟交换机”列表中,选择“新建虚拟网络交换机”>“外部”作为专用跨区网络适配器类型。

    创建虚拟交换机之前选择新的虚拟网络和外部的屏幕截图。

  3. 选择“创建虚拟交换机”。

  4. 在“连接类型”区域中,选择“外部网络”,并确保选择了“允许管理操作系统共享此网络适配器”选项。 例如:

    “外部网络”选项的屏幕截图。

  5. 选择“确定”。

将 SPAN 虚拟接口附加到虚拟交换机

使用 Windows PowerShell 或 Hyper-V 管理器将 SPAN 虚拟接口附加到之前创建的虚拟交换机。

如果使用 PowerShell,则将新添加的适配器硬件的名称定义为 Monitor。 如果使用 Hyper-V 管理器,则将新添加的适配器硬件的名称设置为 Network Adapter

通过 PowerShell 将 SPAN 虚拟接口附加到虚拟交换机

  1. 选择之前创建的新添加的 SPAN 虚拟交换机,然后运行以下命令来添加新网络适配器:

    ADD-VMNetworkAdapter -VMName VK-C1000V-LongRunning-650 -Name Monitor -SwitchName vSwitch_Span
    
  2. 使用以下命令,为所选接口启用端口镜像作为跨度目标:

    Get-VMNetworkAdapter -VMName VK-C1000V-LongRunning-650 | ? Name -eq Monitor | Set-VMNetworkAdapter -PortMirroring Destination
    

    其中:

    参数 说明
    VK-C1000V-LongRunning-650 CPPM VA 名称
    vSwitch_Span 新添加的 SPAN 虚拟交换机名称
    监视 新添加的适配器名称
  3. 完成后,请选择“确定”。

通过 Hyper-V 管理器将 SPAN 虚拟接口附加到虚拟交换机

  1. 在 Hyper-V 管理器的“硬件”列表下,选择“网络适配器”。

  2. 在“虚拟交换机”字段中,选择“vSwitch_Span”。

    在虚拟交换机屏幕上选择以下选项的屏幕截图。

  3. 在“硬件”列表中的“网络适配器”下拉列表下,选择“高级功能”。 在“端口镜像”部分下,选择“目标”作为新虚拟接口的镜像模式。

    配置镜像模式所需的选项的屏幕截图。

  4. 选择“确定”

使用 PowerShell 启用 Microsoft NDIS 捕获扩展

之前创建的虚拟交换机启用对 Microsoft NDIS 捕获扩展的支持。

若要为新虚拟交换机启用 Microsoft NDIS 捕获扩展,请执行以下操作:

Enable-VMSwitchExtension -VMSwitchName vSwitch_Span -Name "Microsoft NDIS Capture"

使用 Hyper-V 管理器启用 Microsoft NDIS 捕获扩展

之前创建的虚拟交换机启用对 Microsoft NDIS 捕获扩展的支持。

若要为新虚拟交换机启用 Microsoft NDIS 捕获扩展,请执行以下操作:

  1. 在 Hyper-V 主机上打开虚拟交换机管理器。

  2. 在“虚拟交换机”列表中,展开虚拟交换机名称 vSwitch_Span 并选择“扩展”。

  3. 在“交换机扩展”字段中,选择“Microsoft NDIS 捕获”。

    通过从交换机扩展菜单中选择 Microsoft NDIS 来启用它的屏幕截图。

  4. 选择“确定”。

配置交换机的镜像模式

之前创建的虚拟交换机上配置镜像模式,以便将外部端口定义为镜像源。 这包括配置 Hyper-V 虚拟交换机 (vSwitch_Span),以将任何传入外部源端口的流量转发到一个配置为目标的虚拟网络适配器。

若要将虚拟交换机的外部端口设置为源镜像模式,请运行:

$ExtPortFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings"
$ExtPortFeature.SettingData.MonitorMode=2
Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName vSwitch_Span -VMSwitchExtensionFeature $ExtPortFeature

其中:

参数 说明
vSwitch_Span 之前创建的虚拟交换机的名称
MonitorMode=2
MonitorMode=1 目标
MonitorMode=0

若要验证监视模式状态,请运行:

Get-VMSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings" -SwitchName vSwitch_Span -ExternalPort | select -ExpandProperty SettingData
参数 说明
vSwitch_Span 新添加的 SPAN 虚拟交换机名称

为监视器适配器配置 VLAN 设置(如果需要)

如果 Hyper-V 服务器位于与镜像流量源自的 VLAN 不同的 VLAN 中,请将监视器适配器设置为接受来自镜像 VLAN 的流量。

使用此 PowerShell 命令使监视器适配器能够接受来自不同 VLAN 的受监视流量:

Set-VMNetworkAdapterVlan -VMName VK-C1000V-LongRunning-650 -VMNetworkAdapterName Monitor -Trunk -AllowedVlanIdList 1010-1020 -NativeVlanId 10

其中:

参数 说明
VK-C1000V-LongRunning-650 CPPM VA 名称
1010-1020 从中镜像 IoT 流量的 VLAN 范围
10 环境的本机 VLAN ID

详细了解 Set-VMNetworkAdapterVlan PowerShell cmdlet。

验证流量镜像

配置流量镜像后,可尝试从交换机 SPAN 或镜像端口接收记录的流量示例(PCAP 文件)。

示例 PCAP 文件将有助于:

  • 验证交换机配置
  • 确认通过交换机的流量与监视相关
  • 标识交换机检测到的带宽和预估设备数
  1. 使用网络协议分析器应用程序(如 Wireshark)记录 PCAP 样本文件几分钟时间。 例如,将笔记本电脑连接到配置了流量监视的端口。

  2. 检查记录流量中是否存在单播数据包。 单播流量是从地址发送到另一个地址的流量。

    如果大多数流量是 ARP 消息,则流量镜像配置不正确。

  3. 验证已分析的流量中是否存在 OT 协议。

    例如:

    Wireshark 验证的屏幕截图。

后续步骤