Netzwerkkonfiguration für Azure IoT Edge für Linux unter Windows
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.
Die Informationen in diesem Artikel helfen Ihnen bei der Entscheidung, welche Netzwerkoption für Ihr Szenario am besten geeignet ist. Darüber hinaus gibt der Artikel Einblicke in die Konfigurationsanforderungen für IoT Edge für Linux unter Windows (EFLOW).
Um den virtuellen IoT Edge für Linux unter Windows (EFLOW)-Computer über ein Netzwerk mit Ihrem Host, mit anderen virtuellen Computern auf Ihrem Windows-Host und mit anderen Geräten/Standorten in einem externen Netzwerk zu verbinden, muss das Netzwerk für virtuelle Computer entsprechend konfiguriert werden.
Die einfachste Art und Weise, grundlegende Netzwerke auf Windows-Client-SKUs einzurichten, ist die Verwendung des Standardswitches, der bereits erstellt wird, wenn das Feature Windows Hyper-V aktiviert wird. Auf Windows Server-SKU-Geräten sind Netzwerke jedoch etwas komplizierter, da kein Standardswitch verfügbar ist. Weitere Informationen zur Erstellung eines virtuellen Switches für Windows Server finden Sie unter Erstellen eines virtuellen Switches für Linux unter Windows.
Weitere Informationen zu EFLOW-Netzwerkkonzepten finden Sie unter IoT Edge für Linux unter Windows-Netzwerke.
Konfigurieren des virtuellen Switches des virtuellen Computers
Der erste Schritt vor der Bereitstellung des virtuellen EFLOW-Computers besteht darin, zu bestimmen, welchen Typ des virtuellen Switches Sie verwenden möchten. Weitere Informationen zu unterstützten virtuellen EFLOW-Switches finden Sie unter EFLOW virtual switch choices (Auswahlmöglichkeiten für virtuelle EFLOW-Switches). Nachdem Sie den Typ des virtuellen Switches bestimmt haben, den Sie verwenden möchten, stellen Sie sicher, dass Sie den virtuellen Switch ordnungsgemäß erstellen. Weitere Informationen zur Erstellung eines virtuellen Switches finden Sie unter Erstellen eines virtuellen Switches für virtuelle Hyper-V-Computer.
Hinweis
Wenn Sie den Windows-Client verwenden und den Standardswitch verwenden möchten, ist keine Erstellung eines Switches erforderlich, und die Parameter -vSwitchType
und -vSwitchName
werden nicht benötigt.
Hinweis
Wenn Sie einen virtuellen Windows-Computer innerhalb der VMware-Infrastruktur und einen externen Switch verwenden, lesen Sie unter EFLOW Geschachtelte Virtualisierung nach.
Nachdem Sie den virtuellen Switch erstellt haben und bevor Sie mit Ihrer Bereitstellung beginnen, stellen Sie sicher, dass der Name und Typ Ihres virtuellen Switches korrekt eingerichtet sind und unter dem Windows-Hostbetriebssystem aufgeführt werden. Um alle virtuellen Switches in Ihrem Windows-Hostbetriebssystem aufzuführen, verwenden Sie in einer PowerShell-Sitzung mit erhöhten Rechten das folgende PowerShell-Cmdlet:
Get-VmSwitch
Je nach den virtuellen Switches des Windows-Hosts sollte die Ausgabe in etwa wie folgt aussehen:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Default Switch Internal
IntOff Internal
EFLOW-Ext External
Um einen bestimmten virtuellen Switch (intern oder extern) zu verwenden, stellen Sie sicher, dass Sie die richtigen Parameter angeben: -vSwitchName
und vSwitchType
. Wenn Sie beispielsweise den virtuellen EFLOW-Computer mit einem externen Switch namens EFLOW-Ext bereitstellen möchten, verwenden Sie in einer PowerShell-Sitzung mit erhöhten Rechten den folgenden Befehl:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"
Konfigurieren der Zuweisung von IP-Adressen der virtuellen Computer
Nachdem Sie entschieden haben, welchen Typ des virtuellen Switches Sie verwenden möchten, legen Sie in einem zweiten Schritt den Typ der IP-Adresszuweisung für den virtuellen Switch fest. Weitere Informationen zu IP-Zuweisungsoptionen finden Sie unter EFLOW supported IP allocations (In EFLOW unterstützte IP-Zuweisungen). Stellen Sie abhängig vom Typ des virtuellen Switches, den Sie verwenden, sicher, dass Sie einen unterstützten IP-Adresszuweisungsmechanismus verwenden.
Wenn keine statische IP-Adresse eingerichtet wurde, versucht die EFLOW-VM standardmäßig, dem virtuellen Switch eine IP-Adresse mit DHCP zuzuweisen. Stellen Sie sicher, dass ein DHCP-Server im Netzwerk des virtuellen Switches vorhanden ist. Falls kein DHCP-Server verfügbar ist, wird bei der Installation der EFLOW-VM keine IP-Adresse zugewiesen, und die Installation schlägt fehl. Wenn Sie den Standardswitch verwenden, müssen Sie nicht prüfen, ob ein DHCP-Server vorhanden ist, da der virtuelle Switch standardmäßig bereits über DHCP verfügt. Wenn Sie jedoch einen internen oder externen virtuellen Switch verwenden, können Sie mit den folgenden Schritten die Prüfung durchführen:
- Öffnen Sie eine Eingabeaufforderung.
- Zeigen Sie alle IP-Konfigurationen und Informationen an.
ipconfig /all
- Wenn Sie einen externen virtuellen Switch verwenden, überprüfen Sie die Netzwerkschnittstelle, die zum Erstellen des virtuellen Switches verwendet wird. Wenn Sie einen internen virtuellen Switch verwenden, suchen Sie einfach nach dem Namen, der für den Switch verwendet wird. Wenn Sie den Switch gefunden haben, überprüfen Sie, ob Yes oder No für
DHCP Enabled
angegeben ist, und überprüfen Sie dieDHCP server
-Adresse.
Wenn Sie eine statische IP-Adresse verwenden, müssen Sie drei Parameter während der EFLOW-Bereitstellung angeben: -ip4Address
, ip4GatewayAddress
und ip4PrefixLength
. Wenn ein Parameter fehlt oder falsch ist, wird bei der Installation der EFLOW-VM keine IP-Adresse zugewiesen, und die Installation schlägt fehl. Weitere Informationen zur Bereitstellung des virtuellen EFLOW-Computers finden Sie unter PowerShell-Funktionen für IoT Edge für Linux unter Windows. Wenn Sie z. B. den virtuellen EFLOW-Computer mit einem externen Switch namens EFLOW-Ext und einer statischen IP-Konfiguration, mit der IP-Adresse 192.168.0.2, der Gateway-IP-Adresse 192.168.0.1 und einer IP-Präfixlänge von 24, bereitstellen möchten, verwenden Sie in einer PowerShell-Sitzung mit erhöhten Rechten den folgenden Befehl:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"
Tipp
Der virtuelle EFLOW-Computer behält bei Neustarts dieselbe MAC-Adresse für den virtuellen Hauptswitch (der bei der Bereitstellung verwendet wird) bei. Wenn Sie die DHCP-MAC-Adressreservierung verwenden, können Sie die MAC-Adresse des virtuellen Hauptswitches über das PowerShell-Cmdlet abrufen: Get-EflowVmAddr
.
Überprüfen der IP-Zuweisung
Es gibt mehrere Möglichkeiten, die IP-Adresse zu überprüfen, die dem virtuellen EFLOW-Computer zugewiesen wurde. Verwenden Sie zunächst in einer PowerShell-Sitzung mit erhöhten Rechten das folgende EFLOW-Cmdlet:
Get-EflowVmAddr
Die Ausgabe sollte in etwa wie folgt aussehen:
C:\> Get-EflowVmAddr
[03/31/2022 12:54:31] Querying IP and MAC addresses from virtual machine (DESKTOP-EFLOW)
- Virtual machine MAC: 00:15:5d:4e:15:2c
- Virtual machine IP : 172.27.120.111 retrieved directly from virtual machine
00:15:5d:4e:15:2c
172.27.120.111
Eine andere Möglichkeit ist die Verwendung des Cmdlets Connect-Eflow
, um eine Remoteverbindung mit dem virtuellen Computer herzustellen; anschließend können Sie den Bash-Befehl ifconfig eth0
verwenden und nach der Schnittstelle eth0 suchen. Die Ausgabe sollte ähnlich der Folgenden aussehen:
eth0 Link encap:Ethernet HWaddr 00:15:5d:4e:15:2c
inet addr:172.27.120.111 Bcast:172.27.127.255 Mask:255.255.240.0
inet6 addr: fe80::215:5dff:fe4e:152c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5636 errors:0 dropped:0 overruns:0 frame:0
TX packets:2214 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:766832 (766.8 KB) TX bytes:427274 (427.2 KB)
Konfigurieren von DNS-Servern für virtuelle Computer
Standardmäßig verfügt der virtuelle EFLOW-Computer über keine DNS-Konfiguration. Bei Bereitstellungen mit DHCP wird versucht, die vom DHCP-Server weitergegebene DNS-Konfiguration abzurufen. Wenn Sie eine statische IP-Adresse verwenden, muss der DNS-Server manuell eingerichtet werden. Weitere Informationen zu DNS für virtuelle EFLOW-Computer finden Sie unter EFLOW DNS configuration (DNS-Konfiguration für EFLOW).
Um die von der Standardschnittstelle (eth0) verwendeten DNS-Server zu überprüfen, können Sie den folgenden Befehl verwenden:
resolvectl | grep eth0 -A 8
Die Ausgabe sollte in etwa wie folgt aussehen. Überprüfen Sie 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.
Link 2 (eth0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 172.27.112.1
DNS Servers: 172.27.112.1
Wenn Sie die DNS-Serveradressen manuell einrichten müssen, können Sie das EFLOW-PowerShell-Cmdlet Set-EflowVmDNSServers
verwenden. Weitere Informationen zur DNS-Konfiguration für den virtuellen EFLOW-Computer finden Sie unter PowerShell-Funktionen für IoT Edge für Linux unter Windows.
Überprüfen der DNS-Auflösung
Es gibt mehrere Möglichkeiten, die DNS-Auflösung zu überprüfen.
Verwenden Sie zunächst auf dem virtuellen EFLOW-Computer den Befehl resolvectl query
, um eine bestimmte URL abzufragen. Um beispielsweise zu überprüfen, ob die Namensauflösung für die Adresse microsoft.com funktioniert, verwenden Sie den folgenden Befehl:
resolvectl query microsoft.com
Die Ausgabe sollte ähnlich der Folgenden aussehen:
PS C:\> resolvectl query
microsoft.com: 40.112.72.205
40.113.200.201
13.77.161.179
104.215.148.63
40.76.4.15
-- Information acquired via protocol DNS in 1.9ms.
-- Data is authenticated: no
Sie können auch den Befehl dig
verwenden, um eine bestimmte URL abzufragen. Um beispielsweise zu überprüfen, ob die Namensauflösung für die Adresse microsoft.com funktioniert, verwenden Sie den folgenden Befehl:
dig microsoft.com
Die Ausgabe sollte ähnlich der Folgenden aussehen:
PS C:\> dig microsoft.com
; <<>> DiG 9.16.22 <<>> microsoft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36427
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;microsoft.com. IN A
;; ANSWER SECTION:
microsoft.com. 0 IN A 40.112.72.205
microsoft.com. 0 IN A 40.113.200.201
microsoft.com. 0 IN A 13.77.161.179
microsoft.com. 0 IN A 104.215.148.63
microsoft.com. 0 IN A 40.76.4.15
;; Query time: 11 msec
;; SERVER: 127.0
Nächste Schritte
Erfahren Sie mehr über die Sicherheit bei Azure IoT Edge für Linux unter Windows.
Bleiben Sie auf dem neuesten Stand mit den neuesten IoT Edge für Linux unter Windows-Updates.