Netwerkconfiguratie voor Azure IoT Edge voor Linux op Windows
Van toepassing op: IoT Edge 1.4
Belangrijk
Azure IoT Edge 1.5 LTS en IoT Edge 1.4 worden ondersteund. IoT Edge 1.4 LTS bereikt het einde van de service op 12 november 2024. Raadpleeg IoT Edge bijwerkenals u een eerdere release gebruikt.
Dit artikel helpt u te bepalen welke netwerkoptie het beste is voor uw scenario en inzicht te bieden in de configuratievereisten voor IoT Edge voor Linux in Windows (EFLOW).
Als u de virtuele Machine van IoT Edge voor Linux op Windows (EFLOW) via een netwerk wilt verbinden met uw host, met andere virtuele machines op uw Windows-host en met andere apparaten/locaties in een extern netwerk, moet het netwerk van de virtuele machine dienovereenkomstig worden geconfigureerd.
De eenvoudigste manier om basisnetwerken op Windows Client-SKU's tot stand te brengen, is met behulp van de standaardswitch, die al wordt gemaakt bij het inschakelen van de Windows Hyper-V-functie. Op Apparaten met Windows Server-SKU's is het netwerken echter iets ingewikkelder omdat er geen standaardswitch beschikbaar is. Zie Virtuele switch maken voor Linux in Windows voor meer informatie over het maken van virtuele switches voor Windows.
Zie IoT Edge voor Linux op Windows-netwerken voor meer informatie over EFLOW-netwerkconcepten.
Virtuele VM-switch configureren
De eerste stap voordat u de virtuele EFLOW-machine implementeert, is om te bepalen welk type virtuele switch u gebruikt. Zie de opties voor virtuele EFLOW-switches voor meer informatie over door EFLOW ondersteunde virtuele switches. Zodra u het type virtuele switch hebt bepaald dat u wilt gebruiken, moet u ervoor zorgen dat u de virtuele switch correct maakt. Zie Een virtuele switch maken voor virtuele Hyper-V-machines voor meer informatie over het maken van een virtuele switch.
Notitie
Als u windows-client gebruikt en u de standaardswitch wilt gebruiken, hoeft u geen switch te maken en zijn er geen -vSwitchType
-vSwitchName
parameters nodig.
Notitie
Als u een virtuele Windows-machine in de VMware-infrastructuur en externe switch gebruikt, raadpleegt u geneste EFLOW-virtualisatie.
Nadat u de virtuele switch hebt gemaakt en voordat u de implementatie start, moet u ervoor zorgen dat de naam en het type van de virtuele switch correct zijn ingesteld en worden vermeld onder het Windows-hostbesturingssystemen. Als u alle virtuele switches in uw Windows-hostbesturingssystemen wilt weergeven, gebruikt u in een PowerShell-sessie met verhoogde bevoegdheid de volgende PowerShell-cmdlet:
Get-VmSwitch
Afhankelijk van de virtuele switches van de Windows-host moet de uitvoer er ongeveer als volgt uitzien:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Default Switch Internal
IntOff Internal
EFLOW-Ext External
Als u een specifieke virtuele switch (intern of extern) wilt gebruiken, moet u de juiste parameters opgeven: -vSwitchName
en vSwitchType
. Als u bijvoorbeeld de EFLOW-VM wilt implementeren met een externe switch met de naam EFLOW-Ext, gebruikt u in een PowerShell-sessie met verhoogde bevoegdheid de volgende opdracht:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"
TOEWIJZING van VM-IP-adressen configureren
De tweede stap na het bepalen van het type virtuele switch dat u gebruikt, is het bepalen van het type IP-adrestoewijzing van de virtuele switch. Zie voor meer informatie over IP-toewijzingsopties EFLOW ondersteunde IP-toewijzingen. Afhankelijk van het type virtuele switch dat u gebruikt, moet u een ondersteund MECHANISME voor IP-adrestoewijzing gebruiken.
Als er geen statisch IP-adres is ingesteld, probeert de EFLOW-VM standaard een IP-adres toe te wijzen aan de virtuele switch met DHCP. Zorg ervoor dat er een DHCP-server op het virtuele switchnetwerk staat; als deze niet beschikbaar is, kan de installatie van de EFLOW-VM geen IP-adres toewijzen en mislukt de installatie. Als u de standaardswitch gebruikt, hoeft u niet te controleren op een DHCP-server, omdat de virtuele switch al DHCP heeft. Als u echter een interne of externe virtuele switch gebruikt, kunt u de volgende stappen uitvoeren:
- Open een opdrachtprompt.
- Alle IP-configuraties en -informatie weergeven
ipconfig /all
- Als u een externe virtuele switch gebruikt, controleert u de netwerkinterface die wordt gebruikt voor het maken van de virtuele switch. Als u een interne virtuele switch gebruikt, zoekt u gewoon naar de naam die voor de switch wordt gebruikt. Zodra de switch zich bevindt, controleert u of
DHCP Enabled
Ja of Nee is opgegeven en controleert u hetDHCP server
adres.
Als u een statisch IP-adres gebruikt, moet u drie parameters opgeven tijdens de EFLOW-implementatie: -ip4Address
en ip4GatewayAddress
ip4PrefixLength
. Als er één parameter ontbreekt of onjuist is, kan de installatie van de EFLOW-VM geen IP-adres toewijzen en mislukt de installatie. Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie over de implementatie van EFLOW-VM's. Als u bijvoorbeeld de EFLOW-VM wilt implementeren met een externe switch met de naam EFLOW-Ext en een statische IP-configuratie, met een IP-adres dat gelijk is aan 192.168.0.2, is het IP-adres van de gateway gelijk aan 192.168.0.1 en de lengte van het IP-voorvoegsel gelijk aan 24 en gebruikt u in een PowerShell-sessie met verhoogde bevoegdheid de volgende opdracht:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"
Tip
De EFLOW-VM behoudt hetzelfde MAC-adres voor de hoofdswitch (gebruikt tijdens de implementatie) tijdens het opnieuw opstarten. Als u DHCP MAC-adresreservering gebruikt, kunt u het hoofdadres van de virtuele switch ophalen met behulp van de PowerShell-cmdlet: Get-EflowVmAddr
IP-toewijzing controleren
Er zijn meerdere manieren om het IP-adres te controleren dat is toegewezen aan de EFLOW-VM. Gebruik eerst een PowerShell-sessie met verhoogde bevoegdheid de EFLOW-cmdlet:
Get-EflowVmAddr
De uitvoer moet er ongeveer als volgt uitzien:
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
Een andere manier is het gebruik van de Connect-Eflow
cmdlet om op afstand naar de virtuele machine te gaan en vervolgens kunt u de ifconfig eth0
bash-opdracht gebruiken en controleren op de eth0-interface . De uitvoer moet er ongeveer als volgt uitzien:
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)
VM DNS-servers configureren
De virtuele EFLOW-machine heeft standaard geen DNS-configuratie. Implementaties die DHCP gebruiken, proberen de DNS-configuratie te verkrijgen die wordt doorgegeven door de DHCP-server. Als u een statisch IP-adres gebruikt, moet de DNS-server handmatig worden ingesteld. Zie EFLOW DNS-configuratie voor meer informatie over EFLOW VM DNS.
Als u de DNS-servers wilt controleren die worden gebruikt door de standaardinterface (eth0), kunt u de volgende opdracht gebruiken:
resolvectl | grep eth0 -A 8
De uitvoer moet er ongeveer als volgt uitzien. Controleer de IP-adressen van de velden 'Huidige DNS-servers' en 'DNS-servers' van de lijst. Als er geen IP-adres is of als het IP-adres geen geldig IP-adres van de DNS-server is, werkt de DNS-service niet.
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
Als u de DNS-serveradressen handmatig moet instellen, kunt u de EFLOW PowerShell-cmdlet Set-EflowVmDNSServers
gebruiken. Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie over de DNS-configuratie van EFLOW-VM's.
DNS-omzetting controleren
Er zijn meerdere manieren om de DNS-omzetting te controleren.
Gebruik eerst vanuit de EFLOW-VM de resolvectl query
opdracht om een query uit te voeren op een specifieke URL. Als u bijvoorbeeld wilt controleren of de naamomzetting werkt voor het adres microsoft.com, gebruikt u:
resolvectl query microsoft.com
De uitvoer moet er ongeveer als volgt uitzien:
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
U kunt ook de dig
opdracht gebruiken om een query uit te voeren op een specifieke URL. Als u bijvoorbeeld wilt controleren of de naamomzetting werkt voor het adres microsoft.com, gebruikt u:
dig microsoft.com
De uitvoer moet er ongeveer als volgt uitzien:
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
Volgende stappen
Lees meer over Azure IoT Edge voor Linux op Windows-beveiliging.
Blijf up-to-date met de nieuwste Updates voor IoT Edge voor Linux in Windows.