Nätverkskonfiguration för Azure IoT Edge för Linux på Windows
Gäller för: IoT Edge 1.4
Viktigt!
Azure IoT Edge 1.5 LTS och IoT Edge 1.4 stöds. IoT Edge 1.4 LTS når slutet av tjänsten den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
Den här artikeln hjälper dig att avgöra vilket nätverksalternativ som passar bäst för ditt scenario och ger insikter om konfigurationskrav för IoT Edge för Linux i Windows (EFLOW).
Om du vill ansluta den virtuella datorn IoT Edge för Linux på Windows (EFLOW) via ett nätverk till värden, till andra virtuella datorer på din Windows-värd och till andra enheter/platser i ett externt nätverk måste den virtuella datorns nätverk konfigureras i enlighet med detta.
Det enklaste sättet att upprätta grundläggande nätverk på Windows-klient-SKU:er är att använda standardväxeln, som redan har skapats när windows Hyper-V-funktionen aktiveras. Men på Windows Server-SKU:er är nätverk lite mer komplicerat eftersom det inte finns någon tillgänglig standardväxel . Mer information om hur du skapar virtuella växlar för Windows Server finns i Skapa virtuell växel för Linux i Windows.
Mer information om begrepp för EFLOW-nätverk finns i IoT Edge för Linux i Windows-nätverk.
Konfigurera virtuell datorväxel
Det första steget innan du distribuerar den virtuella EFLOW-datorn är att avgöra vilken typ av virtuell växel du använder. Mer information om virtuella EFLOW-växlar som stöds finns i Alternativ för virtuella EFLOW-växlar. När du har fastställt vilken typ av virtuell växel som du vill använda måste du skapa den virtuella växeln korrekt. Mer information om hur du skapar virtuella växlar finns i Skapa en virtuell växel för virtuella Hyper-V-datorer.
Kommentar
Om du använder Windows-klienten och vill använda standardväxeln behövs ingen växel och inga -vSwitchType
-vSwitchName
parametrar behövs.
Kommentar
Om du använder en virtuell Windows-dator i VMware-infrastrukturen och den externa växeln kan du läsa EFLOW-kapslad virtualisering.
När du har skapat den virtuella växeln och innan du startar distributionen kontrollerar du att namnet på den virtuella växeln och typen är korrekt konfigurerad och visas under Windows-värdoperativsystemet. Om du vill visa en lista över alla virtuella växlar i ditt Windows-värdoperativsystem använder du följande PowerShell-cmdlet i en upphöjd PowerShell-session:
Get-VmSwitch
Beroende på de virtuella växlarna för Windows-värden bör utdata se ut ungefär så här:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Default Switch Internal
IntOff Internal
EFLOW-Ext External
Om du vill använda en specifik virtuell växel (intern eller extern) kontrollerar du att du anger rätt parametrar: -vSwitchName
och vSwitchType
. Om du till exempel vill distribuera den virtuella EFLOW-datorn med en extern växel med namnet EFLOW-Ext använder du följande kommando i en upphöjd PowerShell-session:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"
Konfigurera VM IP-adressallokering
Det andra steget när du har bestämt vilken typ av virtuell växel du använder är att fastställa typen av IP-adressallokering för den virtuella växeln. Mer information om IP-allokeringsalternativ finns i IP-allokeringar som stöds av EFLOW. Beroende på vilken typ av virtuell växel du använder bör du använda en mekanism för IP-adressallokering som stöds.
Om ingen statisk IP-adress har konfigurerats försöker den virtuella EFLOW-datorn som standard allokera en IP-adress till den virtuella växeln med hjälp av DHCP. Kontrollera att det finns en DHCP-server i det virtuella växelnätverket. Om den inte är tillgänglig kan installationen av den virtuella EFLOW-datorn inte allokera en IP-adress och installationen misslyckas. Om du använder standardväxeln behöver du inte söka efter en DHCP-server eftersom den virtuella växeln redan har DHCP som standard. Men om du använder en intern eller extern virtuell växel kan du kontrollera med hjälp av följande steg:
- Öppna kommandotolken.
- Visa alla IP-konfigurationer och information
ipconfig /all
- Om du använder en extern virtuell växel kontrollerar du nätverksgränssnittet som används för att skapa den virtuella växeln. Om du använder en intern virtuell växel letar du bara efter namnet som används för växeln. När växeln har hittats kontrollerar du om
DHCP Enabled
det står Ja eller Nej och kontrollerarDHCP server
adressen.
Om du använder en statisk IP-adress måste du ange tre parametrar under EFLOW-distributionen: -ip4Address
och ip4GatewayAddress
ip4PrefixLength
. Om en parameter saknas eller är felaktig kan installationen av den virtuella EFLOW-datorn inte allokera en IP-adress och installationen misslyckas. Mer information om distribution av virtuella EFLOW-datorer finns i PowerShell-funktioner för IoT Edge för Linux i Windows. Om du till exempel vill distribuera den virtuella EFLOW-datorn med en extern växel med namnet EFLOW-Ext och en statisk IP-konfiguration, med en IP-adress som är lika med 192.168.0.2, använder gateway-IP-adressen lika med 192.168.0.1 och IP-prefixlängden är lika med 24, och i en upphöjd PowerShell-session använder du följande kommando:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"
Dricks
Den virtuella EFLOW-datorn behåller samma MAC-adress för den virtuella huvudväxeln (som används under distributionen) mellan omstarter. Om du använder DHCP MAC-adressreservation kan du hämta mac-adressen för den virtuella huvudväxeln med hjälp av PowerShell-cmdleten: Get-EflowVmAddr
.
Kontrollera IP-allokering
Det finns flera sätt att kontrollera IP-adressen som allokerades till den virtuella EFLOW-datorn. Använd först EFLOW-cmdleten med en upphöjd PowerShell-session:
Get-EflowVmAddr
Utdata bör se ut ungefär så här:
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
Ett annat sätt är att använda cmdleten Connect-Eflow
för att fjärransluta till den virtuella datorn, och sedan kan du använda ifconfig eth0
bash-kommandot och söka efter gränssnittet eth0 . Resultatet bör likna följande:
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)
Konfigurera DNS-servrar för virtuella datorer
Som standard har den virtuella EFLOW-datorn ingen DNS-konfiguration. Distributioner med DHCP försöker hämta DNS-konfigurationen som sprids av DHCP-servern. Om du använder en statisk IP-adress måste DNS-servern konfigureras manuellt. Mer information om EFLOW VM DNS finns i EFLOW DNS-konfiguration.
Om du vill kontrollera de DNS-servrar som används av standardgränssnittet (eth0) kan du använda följande kommando:
resolvectl | grep eth0 -A 8
Utdata bör vara något som liknar följande. Kontrollera IP-adresserna för fälten "Aktuella DNS-servrar" och "DNS-servrar" i listan. Om det inte finns någon IP-adress eller om IP-adressen inte är en giltig DNS-server-IP-adress fungerar inte DNS-tjänsten.
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
Om du behöver konfigurera DNS-serveradresserna manuellt kan du använda EFLOW PowerShell-cmdleten Set-EflowVmDNSServers
. Mer information om DNS-konfiguration för virtuella EFLOW-datorer finns i PowerShell-funktioner för IoT Edge för Linux i Windows.
Kontrollera DNS-matchning
Det finns flera sätt att kontrollera DNS-matchningen.
Börja med att använda resolvectl query
kommandot inifrån den virtuella EFLOW-datorn för att fråga efter en specifik URL. Om du till exempel vill kontrollera om namnmatchningen fungerar för adressen microsoft.com använder du:
resolvectl query microsoft.com
Resultatet bör likna följande:
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
Du kan också använda dig
kommandot för att fråga en specifik URL. Om du till exempel vill kontrollera om namnmatchningen fungerar för adressen microsoft.com använder du:
dig microsoft.com
Resultatet bör likna följande:
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ästa steg
Läs mer om Azure IoT Edge för Linux på Windows-säkerhet.
Håll dig uppdaterad med de senaste IoT Edge för Linux i Windows-uppdateringar.