Share via


Windows üzerinde Linux için Azure IoT Edge'de ağ yapılandırması

Şunlar için geçerlidir:IoT Edge 1.4 onay işareti IoT Edge 1.4

Önemli

IoT Edge 1.5 LTS ve IoT Edge 1.4 desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

Bu makale, senaryonuz için en uygun ağ seçeneğini belirlemenize ve Windows üzerinde Linux için IoT Edge (EFLOW) yapılandırma gereksinimleriyle ilgili içgörüler sağlamanıza yardımcı olur.

Windows üzerinde Linux için IoT Edge (EFLOW) sanal makinesini bir ağ üzerinden konağınıza, Windows konağınızdaki diğer sanal makinelere ve dış ağdaki diğer cihazlara/konumlara bağlamak için sanal makine ağı buna uygun şekilde yapılandırılmalıdır.

Windows İstemcisi SKU'larında temel ağ oluşturmanın en kolay yolu, Windows Hyper-V özelliği etkinleştirilirken zaten oluşturulmuş olan varsayılan anahtarı kullanmaktır. Ancak Windows Server SKU'ları cihazlarında ağ iletişimi biraz daha karmaşıktır çünkü varsayılan anahtar yoktur. Windows Server için sanal anahtar oluşturma hakkında daha fazla bilgi için bkz . Windows üzerinde Linux için sanal anahtar oluşturma.

EFLOW ağ kavramları hakkında daha fazla bilgi için bkz . Windows ağı üzerinde Linux için IoT Edge.

VM sanal anahtarını yapılandırma

EFLOW sanal makinesini dağıtmadan önce ilk adım, kullandığınız sanal anahtar türünü belirlemektir. EFLOW tarafından desteklenen sanal anahtarlar hakkında daha fazla bilgi için bkz . EFLOW sanal anahtar seçenekleri. Kullanmak istediğiniz sanal anahtarın türünü belirledikten sonra, sanal anahtarı doğru oluşturduğunuzdan emin olun. Sanal anahtar oluşturma hakkında daha fazla bilgi için bkz . Hyper-V sanal makineleri için sanal anahtar oluşturma.

Not

Windows istemcisi kullanıyorsanız ve varsayılan anahtarı kullanmak istiyorsanız, anahtar oluşturmaya gerek yoktur ve hayır -vSwitchType ve -vSwitchName parametreler gereklidir.

Not

VMware altyapısı ve dış anahtar içinde bir Windows sanal makinesi kullanıyorsanız lütfen bkz . EFLOW iç içe sanallaştırma.

Sanal anahtarı oluşturduktan sonra ve dağıtımınıza başlamadan önce sanal anahtar adınızın ve türünüzün doğru ayarlandığından ve Windows ana bilgisayar işletim sistemi altında listelendiğinden emin olun. Windows ana bilgisayar işletim sisteminizdeki tüm sanal anahtarları listelemek için, yükseltilmiş bir PowerShell oturumunda aşağıdaki PowerShell cmdlet'ini kullanın:

Get-VmSwitch

Windows ana bilgisayarının sanal anahtarlarına bağlı olarak, çıktı aşağıdakine benzer olmalıdır:

Name           SwitchType NetAdapterInterfaceDescription
----           ---------- ------------------------------
Default Switch Internal
IntOff         Internal
EFLOW-Ext      External

Belirli bir sanal anahtarı (iç veya dış) kullanmak için doğru parametreleri belirttiğinizden emin olun: -vSwitchName ve vSwitchType. Örneğin, EFLOW VM'sini EFLOW-Ext adlı bir dış anahtarla dağıtmak istiyorsanız, yükseltilmiş bir PowerShell oturumunda aşağıdaki komutu kullanın:

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"

VM IP adresi ayırmayı yapılandırma

Kullandığınız sanal anahtarın türüne karar verdikten sonraki ikinci adım, sanal anahtarın IP adresi ayırma türünü belirlemektir. IP ayırma seçenekleri hakkında daha fazla bilgi için bkz . EFLOW tarafından desteklenen IP ayırmaları. Kullandığınız sanal anahtarın türüne bağlı olarak desteklenen bir IP adresi ayırma mekanizması kullandığınızdan emin olun.

Varsayılan olarak, statik IP adresi ayarlı değilse, EFLOW VM DHCP kullanarak sanal anahtara bir IP adresi ayırmaya çalışır. Sanal anahtar ağında bir DHCP sunucusu olduğundan emin olun; kullanılamıyorsa, EFLOW VM yüklemesi bir IP adresi ayıramıyor ve yükleme başarısız oluyor. Varsayılan anahtarı kullanıyorsanız , sanal anahtar varsayılan olarak DHCP'ye sahip olduğundan DHCP sunucusunu denetlemeniz gerekmez. Ancak, iç veya dış sanal anahtar kullanıyorsanız aşağıdaki adımları kullanarak kontrol edebilirsiniz:

  1. Komut istemi açın.
  2. Tüm IP yapılandırmalarını ve bilgilerini görüntüleme
    ipconfig /all
    
  3. Dış sanal anahtar kullanıyorsanız, sanal anahtarı oluşturmak için kullanılan ağ arabirimini denetleyin. İç sanal anahtar kullanıyorsanız, anahtar için kullanılan adı aramanız yeter. Anahtar bulunduktan sonra Evet veya Hayır deyince DHCP Enabledadresi kontrol edinDHCP server.

Statik IP kullanıyorsanız, EFLOW dağıtımı sırasında üç parametre belirtmeniz gerekir: -ip4Addressve ip4GatewayAddressip4PrefixLength. Bir parametre eksik veya yanlışsa, EFLOW VM yüklemesi bir IP adresi ayıramıyor ve yükleme başarısız oluyor. EFLOW VM dağıtımı hakkında daha fazla bilgi için bkz . Windows üzerinde Linux için IoT Edge için PowerShell işlevleri. Örneğin, EFLOW VM'sini EFLOW-Ext adlı bir dış anahtar ve IP adresi 192.168.0.2'ye eşit bir statik IP yapılandırmasıyla, ağ geçidi IP adresi 192.168.0.1'e eşit ve IP ön eki uzunluğu 24'e eşit bir şekilde dağıtmak istiyorsanız, yükseltilmiş bir PowerShell oturumunda aşağıdaki komutu kullanın:

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"

İpucu

EFLOW VM, yeniden başlatmalar arasında ana sanal anahtar (dağıtım sırasında kullanılır) için aynı MAC adresini tutar. DHCP MAC adresi ayırma kullanıyorsanız, PowerShell cmdlet'ini kullanarak ana sanal anahtar MAC adresini alabilirsiniz: Get-EflowVmAddr.

IP ayırmayı denetleme

EFLOW VM'sine ayrılan IP adresini denetlemenin birden çok yolu vardır. İlk olarak, yükseltilmiş bir PowerShell oturumu kullanarak EFLOW cmdlet'ini kullanın:

Get-EflowVmAddr

Çıktı aşağıdakine benzer olmalıdı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

Bir diğer yol da Connect-Eflow cmdlet'ini kullanarak VM'ye uzaktan bağlanmaktır ve ardından bash komutunu kullanarak ifconfig eth0 eth0 arabirimini de kontrol edebilirsiniz. Çıktının aşağıdakine benzer olması gerekir:

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 sunucularını yapılandırma

Varsayılan olarak, EFLOW sanal makinesinin DNS yapılandırması yoktur. DHCP kullanan dağıtımlar, DHCP sunucusu tarafından yayılan DNS yapılandırmasını almaya çalışır. Statik IP kullanıyorsanız DNS sunucusunun el ile ayarlanması gerekir. EFLOW VM DNS hakkında daha fazla bilgi için bkz . EFLOW DNS yapılandırması.

Varsayılan arabirim (eth0) tarafından kullanılan DNS sunucularını denetlemek için aşağıdaki komutu kullanabilirsiniz:

resolvectl | grep eth0 -A 8

Çıkış aşağıdakine benzer olmalıdır. Listenin "Geçerli DNS Sunucuları" ve "DNS Sunucuları" alanlarının IP adreslerini denetleyin. IP adresi yoksa veya IP adresi geçerli bir DNS sunucusu IP adresi değilse, DNS hizmeti çalışmaz.

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

DNS sunucusu adreslerini el ile ayarlamanız gerekiyorsa, EFLOW PowerShell cmdlet'ini Set-EflowVmDNSServerskullanabilirsiniz. EFLOW VM DNS yapılandırması hakkında daha fazla bilgi için bkz . Windows üzerinde Linux için IoT Edge için PowerShell işlevleri.

DNS çözümlemeyi denetleme

DNS çözümlemesini denetlemenin birden çok yolu vardır.

İlk olarak, EFLOW VM'sinin içinden komutunu kullanarak belirli bir URL'yi sorgular resolvectl query . Örneğin, adres microsoft.com ad çözümlemesinin çalışıp çalışmadiğini denetlemek için şunu kullanın:

resolvectl query microsoft.com

Çıktının aşağıdakine benzer olması gerekir:

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

Belirli bir URL'yi dig sorgulamak için komutunu da kullanabilirsiniz. Örneğin, adres microsoft.com ad çözümlemesinin çalışıp çalışmadiğini denetlemek için şunu kullanın:

dig microsoft.com

Çıktının aşağıdakine benzer olması gerekir:

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

Sonraki adımlar

Windows Güvenliği üzerinde Linux için Azure IoT Edge hakkında daha fazla bilgi edinin.

Windows üzerinde Linux için En son IoT Edge güncelleştirmeleriyle güncel kalın.