共用方式為


Azure IoT Edge for Linux on Windows 虛擬多個 NIC 設定

適用於: IoT Edge 1.5 核取記號 IoT Edge 1.5 IoT Edge 1.4 核取記號 IoT Edge 1.4

重要

IoT Edge 1.5 LTS 是 支援的版本。 自 2024 年 11 月 12 日起,IoT Edge 1.4 LTS 已結束生命週期。 如果您是舊版,請參閱更新 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 VM 部署期間,VM 為 Windows 主機 OS 和虛擬機器之間的所有通訊指派了交換器。 您總是將交換器用於 VM 生命週期管理通訊,並且不可能將其删除。

本節中的下列步驟會說明如何將網路介面指派給 EFLOW 虛擬機器。 確保虛擬交換器和網路設定與您的網路環境保持一致。 如需網路概念的詳細資訊,例如交換器類型、DHCP 和 DNS,請參閱 Azure IoT Edge for Linux on Windows 網路

  1. 使用以系統管理員身分執行功能,開啟提高權限的 PowerShell 工作階段。

  2. 檢查您指派至 EFLOW VM 的虛擬交換器是否可用。

    Get-VMSwitch -Name "{switchName}" -SwitchType {switchType}
    
  3. 將虛擬交換器指派給 EFLOW VM。

    Add-EflowNetwork -vSwitchName "{switchName}" -vSwitchType {switchType}
    

    例如,如果您想要指派名為 OnlineExt 的外部虛擬交換器,請使用下列命令

    Add-EflowNetwork -vSwitchName "OnlineExt" -vSwitchType "External"
    

    EFLOW 連結虛擬交換器

  4. 檢查您指派給 EFLOW VM 的虛擬交換器是否可用。

    Get-EflowNetwork -vSwitchName "{switchName}"
    

如需將虛擬交換器連結至 EFLOW VM 的詳細資訊,請參閱適用於 Azure IoT Edge for Linux on Windows 的 PowerShell 函式

建立和指派網路端點

成功將虛擬交換器指派給 EFLOW VM 後,建立指派給虛擬交換器的網路端點,以完成網路介面建立。 如果您使用靜態 IP,請務必使用適當的參數:ip4Addressip4GatewayAddressip4PrefixLength

  1. 使用以系統管理員身分執行功能,開啟提高權限的 PowerShell 工作階段。

  2. 建立 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 連結網路端點

  3. 檢查您是否正確建立了網路端點並將其指派給 EFLOW VM。 您應該會看到有兩個網路介面指派給虛擬機器。

    Get-EflowVmEndpoint
    

    EFLOW 取得連結的網路介面

如需建立網路端點並將其連結至 EFLOW VM 的詳細資訊,請參閱適用於 Azure IoT Edge for Linux on Windows 的 PowerShell 函式

檢查 VM 網路設定

最後一個步驟是確定是否已正確套用網路設定,以及 EFLOW VM 是否已設定新的網路介面。 如果新介面是第一個新增至 VM 的額外介面,則顯示為「eth1」

  1. 在提高權限工作階段中開啟 PowerShell。 您可以在 Windows 上開啟 [開始] 窗格,然後輸入 "PowerShell"。 以滑鼠右鍵按一下顯示的 Windows PowerShell 應用程式,然後選取 [以系統管理員身分執行]

  2. 連線到 EFLOW VM。

    Connect-EflowVm
    
  3. 進入 VM 內部後,使用 ifconfig 命令檢查網路介面及其設定。

    ifconfig
    

    預設介面 eth0 是用於所有 VM 管理的介面。 您應該會看到另一個介面,例如 eth1,這是您指派給 VM 的新介面。 遵循範例,如果您先前使用靜態 IP 192.168.0.103 指派了新端點,則應該會看到介面 eth1inet addr: 192.168.0.103

    EFLOW 虛擬機器網路介面的螢幕擷取畫面。

下一步

請遵循如何為 Azure IoT Edge for Linux on Windows 設定網路中的步驟,來確定您是否已正確套用所有網路設定。