Azure IoT Edge for Linux on Windows 虛擬多個 NIC 設定
適用於: IoT Edge 1.5 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 的 Windows 裝置。 如需 EFLOW 安裝和設定的詳細資訊,請參閱使用對稱金鑰建立和佈建 Azure 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 指派了新端點,則應該會看到介面 eth1 與 inet addr: 192.168.0.103。
下一步
請遵循如何為 Azure IoT Edge for Linux on Windows 設定網路中的步驟,來確定您是否已正確套用所有網路設定。