IoT Edge für Linux unter Windows-Netzwerke
Gilt für: IoT Edge 1.4
Wichtig
Azure IoT Edge 1.5 LTS und IoT Edge 1.4 sind unterstützte Releases. IoT Edge 1.4 LTS erreicht das Dienstende am 12. November 2024. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
Dieser Artikel enthält Informationen zum Konfigurieren des Netzwerks zwischen dem Windows-Hostbetriebssystem und dem virtuellen IoT Edge für Linux unter Windows (EFLOW)-Computer. EFLOW verwendet einen virtuellen CBL-Mariner-Linux-Computer, um IoT Edge-Module auszuführen. Weitere Informationen zur EFLOW-Architektur finden Sie unter Was ist Azure IoT Edge für Linux unter Windows?.
Netzwerk
Um einen Kommunikationskanal zwischen dem Windows-Hostbetriebssystem und dem virtuellen EFLOW-Computer herzustellen, verwenden wir den Hyper-V-Netzwerkstapel. Weitere Informationen zu Hyper-V-Netzwerken finden Sie unter Hyper-V networking basics (Hyper-V-Netzwerkgrundlagen). Grundlegende Netzwerke in EFLOW sind einfach; es werden zwei Teile verwendet, ein virtueller Switch und ein virtuelles Netzwerk.
Die einfachste Art und Weise, grundlegende Netzwerke auf Windows-Client-SKUs einzurichten, ist die Verwendung des Standardswitches, der bereits durch das Feature Hyper-V erstellt wird. Wenn kein bestimmter virtueller Switch mit den Flags -vSwitchName
und -vSwitchType
angegeben wurde, wird der virtuelle Computer während der EFLOW-Bereitstellung mit dem Standardswitch erstellt.
Auf Windows Server-SKU-Geräten sind Netzwerke etwas komplizierter, da kein Standardswitch verfügbar ist. Es gibt jedoch einen umfassenden Leitfaden zur Erstellung eines virtuellen Switches für Azure IoT Edge für Linux unter Windows.
Um mit verschiedenen Netzwerktypen umzugehen, können Sie verschiedene Typen virtueller Switches verwenden und mehrere virtuelle Netzwerkadapter hinzufügen.
Auswahlmöglichkeiten für virtuelle Switches
EFLOW unterstützt zwei Typen virtueller Hyper-V-Switches: intern und extern. Sie wählen den gewünschten Typ bei der Erstellung aus, bevor Sie EFLOW bereitstellen. Sie können den Hyper-V-Manager oder das Hyper-V-Modul für Windows PowerShell verwenden, um virtuelle Switches zu erstellen und zu verwalten. Weitere Informationen zur Erstellung eines virtuellen Switches finden Sie unter Erstellen eines virtuellen Switches für virtuelle Hyper-V-Computer.
Sie können nach der Erstellung einige Änderungen an einem virtuellen Switch vornehmen. Beispielsweise ist es möglich, einen vorhandenen Switch in einen anderen Typ zu ändern, dies kann sich jedoch auf die Netzwerkfunktionen des virtuellen EFLOW-Computers auswirken, der mit diesem Switch verbunden ist. Es wird daher nicht empfohlen, die Konfiguration des virtuellen Switches zu ändern, es sei denn, Sie haben einen Fehler gemacht oder müssen etwas testen.
Abhängig davon, ob der virtuelle EFLOW-Computer auf einem Windows-Client-SKU-Gerät oder Windows Server-SKU-Gerät bereitgestellt wird, unterstützen wir verschiedene Typen von Switches, wie in der folgenden Tabelle dargestellt.
Typ des virtuellen Switches | Windows-Client-SKUs | Windows Server-SKUs |
---|---|---|
Extern | ||
Intern | - | |
Standardswitch | - |
Externer virtueller Switch: Stellt eine Verbindung mit einem kabelgebundenen, physischen Netzwerk durch Bindung an einen physischen Netzwerkadapter her. Er ermöglicht virtuellen Computern Zugriff auf ein physisches Netzwerk, um mit Geräten in einem externen Netzwerk zu kommunizieren. Darüber hinaus ermöglicht er es virtuellen Computern auf demselben Hyper-V-Server, miteinander zu kommunizieren.
Interner virtueller Switch: Stellt eine Verbindung mit einem Netzwerk her, das nur von den virtuellen Computern, die auf dem Host mit dem virtuellen Switch ausgeführt werden, und zwischen dem Host und den virtuellen Computern verwendet werden kann.
Hinweis
Der Standardswitch ist ein bestimmter interner virtueller Switch, der standardmäßig erstellt wird, sobald Hyper-V auf Windows-Client-SKUs aktiviert wird. Der virtuelle Switch verfügt bereits über einen DHCP-Server für IP-Zuweisungen sowie über eine NAT-Tabelle, und die Gemeinsame Nutzung der Internetverbindung (Internet Connection Sharing, ICS) ist bereits aktiviert. Für EFLOW-Zwecke ist der Standardswitch ein virtueller interner Switch, der ohne weitere Konfiguration verwendet werden kann.
IP-Adresszuweisungen
Damit für das Netzwerk des virtuellen EFLOW-Computers IP-Kommunikationen möglich sind, muss dem virtuellen Computer eine IP-Adresse zugewiesen werden. Es gibt zwei Methoden, diese IP-Adresse zu konfigurieren: Statische IP oder DHCP.
Abhängig vom Typ des verwendeten virtuellen Switches unterstützt der virtuelle EFLOW-Computer verschiedene IP-Zuweisungen, wie in der folgenden Tabelle dargestellt.
Typ des virtuellen Switches | Statische IP | DHCP |
---|---|---|
Extern | ||
Intern | ||
Standardswitch | - |
Statische IP: Diese IP-Adresse wird dem virtuellen EFLOW-Computer bei der Installation dauerhaft zugewiesen und wird bei Neustarts des virtuellen EFLOW-Computers oder des Windows-Hosts nicht geändert. Statische IP-Adressen verfügen in der Regel über zwei Versionen: IPv4 und IPv6; EFLOW unterstützt statische IP-Adressen jedoch nur für IPv4-Adressen. Bei Netzwerken, die statische IP-Adressen verwenden, weist jedes Gerät im Netzwerk eine eigene Adresse ohne Überschneidungen auf. Bei der EFLOW-Installation müssen Sie die IP4-Adresse des virtuellen EFLOW-Computers (
-ip4Address
), die IP4-Präfixlänge (-ip4PrefixLength
) und die IP4-Adresse des Standardgateways (-ip4GatewayAddress
) eingeben. Für eine korrekte Konfiguration müssen alle drei Parameter eingegeben werden.Wenn Sie beispielsweise den virtuellen EFLOW-Computer mit einem externen virtuellen Switch namens ExternalEflow mit der statischen IP-Adresse 192.168.0.100, dem Standardgateway 192.168.0.1 und einer Präfixlänge von 24 bereitstellen möchten, ist der folgende Bereitstellungsbefehl erforderlich.
Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
Warnung
Wenn Sie eine statische IP-Adresse verwenden, müssen die drei Parameter (
ip4Address
,ip4GatewayAddres
,ip4PrefixLength
) verwendet werden. Außerdem könnte die EFLOW-Installation fehlschlagen, wenn die IP-Adresse ungültig ist, von einem anderen Gerät im Netzwerk verwendet wird oder die Gatewayadresse falsch ist, da der virtuelle EFLOW-Computer keine IP-Adresse abrufen kann.DHCP: Im Gegensatz zu „Statische IP“ wird dem virtuellen EFLOW-Computer bei Verwendung von DHCP eine dynamische IP-Adresse zugewiesen, die sich ändern kann. Im Netzwerk muss ein DHCP-Server konfiguriert sein und ausgeführt werden, damit dynamische IP-Adressen zugewiesen werden können. Der DHCP-Server weist dem virtuellen EFLOW-Computer und anderen Geräten, die mit dem Netzwerk verbunden sind, eine freie IP-Adresse zu. Daher ist bei der Bereitstellung von EFLOW mit DHCP keine IP-Adresse, Gatewayadresse oder Präfixlänge erforderlich, da der DHCP-Server alle Informationen bereitstellt.
Warnung
Bei der Bereitstellung von EFLOW mit DHCP muss ein DHCP-Server im Netzwerk vorhanden sein, das mit dem virtuellen Switch des virtuellen EFLOW-Computers verbunden ist. Wenn kein DHCP-Server vorhanden ist, schlägt die EFLOW-Installation fehl, da der virtuelle Computer keine IP-Adresse abrufen kann.
Domain Name System
Domain Name System (DNS) übersetzt die für Menschen lesbaren Domänennamen (z. B. www.microsoft.com) in maschinenlesbare IP-Adressen (z. B. 192.0.2.44). Der virtuelle EFLOW-Computer verwendet systemd (System- und Service-Manager), sodass die DNS- oder Namensauflösungsdienste über den Dienst systemd-resolved für lokale Anwendungen und Dienste bereitgestellt werden.
Standardmäßig enthält die DNS-Konfigurationsdatei des virtuellen EFLOW-Computers den lokalen Stub 127.0.0.53 als einzigen DNS-Server. Dies wird an die Datei /etc/resolv.conf umgeleitet, mit der die vom System verwendeten Namenserver hinzugefügt werden. Der lokale Stub ist ein DNS-Server, der lokal ausgeführt wird, um DNS-Abfragen aufzulösen. In einigen Fällen werden diese Abfragen an einen anderen DNS-Server im Netzwerk weitergeleitet und dann lokal zwischengespeichert.
Es ist möglich, den virtuellen EFLOW-Computer so zu konfigurieren, dass ein bestimmter DNS-Server oder eine Liste von Servern verwendet wird. Hierzu können Sie das PowerShell-Cmdlet Set-EflowVmDnsServers
verwenden. Weitere Informationen zur DNS-Konfiguration finden Sie unter PowerShell-Funktionen für IoT Edge für Linux unter Windows.
Um die DNS-Server zu überprüfen, die dem virtuellen EFLOW-Computer zugewiesen sind, verwenden Sie auf dem virtuellen EFLOW-Computer den Befehl: resolvectl status
. Die Ausgabe des Befehls zeigt eine Liste der DNS-Server an, die für die einzelnen Schnittstellen konfiguriert sind. Insbesondere ist es wichtig, den Status der Schnittstelle eth0 zu überprüfen. Hierbei handelt es sich um die Standardschnittstelle für die Kommunikation des virtuellen EFLOW-Computers. Überprüfen Sie darüber hinaus unbedingt die IP-Adressen der Felder Current DNS Servers (Aktuelle DNS-Server) und DNS Servers (DNS-Server) der Liste. Wenn keine IP-Adresse vorhanden ist oder die IP-Adresse keine gültige IP-Adresse des DNS-Servers ist, funktioniert der DNS-Dienst nicht.
Statische MAC-Adresse
Hyper-V ermöglicht Ihnen die Erstellung von virtuellen Computern mit einer statischen oder dynamischen MAC-Adresse. Während der Erstellung des virtuellen EFLOW-Computers wird die MAC-Adresse zufällig generiert und lokal gespeichert, um dieselbe MAC-Adresse bei Neustarts des virtuellen Computers oder des Windows-Hosts beizubehalten. Um die MAC-Adresse des virtuellen EFLOW-Computers abzufragen, können Sie den folgenden Befehl verwenden.
Get-EflowVmAddr
Mehrere Netzwerkschnittstellenkarten (NICs)
Es gibt viele virtuelle Netzwerkgeräte und Szenarien, für die mehrere NICs erforderlich sind. Der virtuelle EFLOW-Computer unterstützt das Anfügen mehrerer NICs. Mit mehreren NICs können Sie Ihren Netzwerkdatenverkehr besser verwalten. Sie können darüber hinaus den Datenverkehr zwischen der Front-End-NIC und den Back-End-NICs isolieren oder den Datenverkehr auf Datenebene von der Kommunikation auf Verwaltungsebene trennen.
Beispielsweise gibt es zahlreiche Industrial IoT-Szenarien, in denen eine Verbindung des virtuellen EFLOW-Computers mit einer demilitarisierten Zone (DMZ) und mit dem Offlinenetzwerk erforderlich ist, in dem alle mit OPC UA kompatiblen Geräte verbunden sind. Dies ist nur eines der vielen Szenarien, die unterstützt werden können, indem mehrere NICs an den virtuellen EFLOW-Computer angefügt werden.
Weitere Informationen zu mehreren NICs finden Sie unter Multiple NICs support (Unterstützung mehrerer NICs).
Warnung
Wenn Sie das Feature mehrerer NICs mit EFLOW verwenden, möchten Sie möglicherweise die verschiedenen Routenprioritäten einrichten. Standardmäßig erstellt EFLOW eine Standardroute pro ehtX-Schnittstelle, die dem virtuellen Computer zugewiesen ist, und weist eine zufällige Priorität zu. Wenn alle Schnittstellen mit dem Internet verbunden sind, sind zufällige Prioritäten möglicherweise kein Problem. Wenn jedoch eine der NICs mit einem Offlinenetzwerk verbunden ist, können Sie der Online-NIC eine höhere Priorität als der Offline-NIC einräumen, damit die EFLOW-VM mit dem Internet verbunden wird. Weitere Informationen zum benutzerdefinierten Routing finden Sie unter EFLOW routing (EFLOW-Routing).
Nächste Schritte
Erfahren Sie mehr über die Sicherheit bei Azure IoT Edge für Linux unter Windows.
Erfahren Sie, wie Sie EFLOW-Netzwerke verwalten Netzwerkkonfiguration für Azure IoT Edge für Linux unter Windows.