你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure IoT Edge for Linux on Windows 虚拟多 NIC 配置
适用于: IoT Edge 1.5
IoT Edge 1.4
重要
IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是早期版本,请参阅更新 IoT Edge。
默认情况下,Azure IoT Edge for Linux on Windows (EFLOW) 虚拟机分配了单个网络接口卡 (NIC)。 但是,可以使用 EFLOW 支持来配置具有多个网络接口的 EFLOW VM,将多个网络接口附加到虚拟机。 在你可能会将网络划分或分离到不同的网络或区域中的情况下,此功能可能会很有用。 若要将 EFLOW 虚拟机连接到不同的网络,可能需要将不同的网络接口卡附加到 EFLOW 虚拟机。
本文介绍如如何配置 Azure IoT Edge for Linux on Windows VM 以支持多个 NIC 并连接到多个网络。 该过程分为以下步骤:
- 创建和分配虚拟交换机
- 创建和分配网络终结点
- 检查 VM 网络配置
有关网络概念和配置的详细信息,请参阅 Azure IoT Edge for Linux on Windows 网络以及如何配置 Azure IoT Edge for Linux on Windows 网络。
先决条件
- 设置了 EFLOW 的 Windows 设备。 有关 EFLOW 安装和配置的详细信息,请参阅使用对称密钥创建和预配 IoT Edge for Linux on Windows 设备。
- 与 EFLOW 安装期间使用的默认交换机不同的虚拟交换机。 有关创建虚拟交换机的详细信息,请参阅为 Azure IoT Edge for Linux on Windows 创建虚拟交换机。
创建和分配虚拟交换机
在 EFLOW VM 部署期间,VM 为 Windows 主机 OS 和虚拟机之间的所有通信分配了一个交换机。 始终将该交换机用于 VM 生命周期管理,无法将其删除。
本部分中的以下步骤演示如何将网络接口分配给 EFLOW 虚拟机。 确保虚拟交换机和网络配置与你的网络环境相符。 有关交换机类型、DHCP 和 DNS 等网络概念的详细信息,请参阅Azure IoT Edge for Linux on Windows 网络。
首先以管理员身份运行,打开提升的 PowerShell 会话。
检查分配给 EFLOW VM 的虚拟交换机是否可用。
Get-VMSwitch -Name "{switchName}" -SwitchType {switchType}
将虚拟交换机分配给 EFLOW VM。
Add-EflowNetwork -vSwitchName "{switchName}" -vSwitchType {switchType}
例如,如果想要分配名为 OnlineExt 的外部虚拟交换机,则应使用以下命令
Add-EflowNetwork -vSwitchName "OnlineExt" -vSwitchType "External"
检查是否已将虚拟交换机正确分配给 EFLOW VM。
Get-EflowNetwork -vSwitchName "{switchName}"
有关将虚拟交换机附加到 EFLOW VM 的详细信息,请参阅 Azure IoT Edge for Linux on Windows 的 PowerShell 函数。
创建和分配网络终结点
成功将虚拟交换机分配给 EFLOW VM 后,请创建分配给虚拟交换机的网络终结点,以完成网络接口创建。 如果使用静态 IP,请确保使用相应的参数:ip4Address、ip4GatewayAddress 和 ip4PrefixLength。
首先以管理员身份运行,打开提升的 PowerShell 会话。
创建 EFLOW VM 网络终结点
如果使用 DHCP,则不需要静态 IP 参数。
Add-EflowVmEndpoint -vSwitchName "{switchName}" -vEndpointName "{EndpointName}"
如果使用静态 IP
Add-EflowVmEndpoint -vSwitchName "{switchName}" -vEndpointName "{EndpointName}" -ip4Address "{staticIp4Address}" -ip4GatewayAddress "{gatewayIp4Address}" -ip4PrefixLength "{prefixLength}"
例如,如果要使用名为 OnlineExt 的外部虚拟交换机创建和分配 OnlineEndpoint 终结点,并且静态 IP 配置为(ip4Address=192.168.0.103,ip4GatewayAddress=192.168.0.1,ip4PrefixLength=24),则应使用以下命令:
Add-EflowVmEndpoint -vSwitchName "OnlineExt" -vEndpointName "OnlineEndpoint" -ip4Address "192.168.0.103" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"
检查是否已正确创建网络终结点并将其分配给 EFLOW VM。 应会看到已分配给虚拟机的两个网络接口。
Get-EflowVmEndpoint
有关创建网络终结点并将其附加到 EFLOW VM 的详细信息,请参阅 Azure IoT Edge for Linux on Windows 的 PowerShell 函数。
检查 VM 网络配置
最后一步是确保正确应用网络配置并且 EFLOW VM 配置了新的网络接口。 如果新接口是添加到 VM 的第一个额外接口,它会显示为“eth1”。
在提升的会话中打开 PowerShell。 为此,可在 Windows 上打开“开始”窗格并键入“PowerShell”。 右键单击显示的 Windows PowerShell 应用,并选择“以管理员身份运行”。
连接到 EFLOW VM。
Connect-EflowVm
在 VM 内部后,使用 ifconfig 命令检查网络接口及其配置。
ifconfig
默认接口 eth0 是用于所有 VM 管理的接口。 你应会看到另一个接口,例如 eth1,该接口是你分配给 VM 的新接口。 按照示例,如果之前使用静态 IP 192.168.0.103 分配了新终结点,则应会看到具有 inet addr: 192.168.0.103 的接口 eth1。
后续步骤
按照如何为 Azure IoT Edge for Linux on Windows 配置网络中的步骤确保已正确应用所有网络配置。