Dela via


Nätverkskonfiguration för Azure IoT Edge för Linux på Windows

Gäller för:Bockmarkering för IoT Edge 1.4 IoT Edge 1.4

Viktigt!

IoT Edge 1.5 LTS och IoT Edge 1.4 stöds. IoT Edge 1.4 LTS upphör 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:

  1. Öppna kommandotolken.
  2. Visa alla IP-konfigurationer och information
    ipconfig /all
    
  3. 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 kontrollerar DHCP server adressen.

Om du använder en statisk IP-adress måste du ange tre parametrar under EFLOW-distributionen: -ip4Addressoch ip4GatewayAddressip4PrefixLength. 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.