تكوين الشبكات ل Azure IoT Edge ل Linux على Windows

ينطبق على: علامة اختيار IoT Edge 1.4 IoT Edge 1.4

هام

IoT Edge 1.5 LTS وIoT Edge 1.4 هي إصدارات مدعومة. IoT Edge 1.4 LTS هو نهاية العمر الافتراضي في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.

تساعدك هذه المقالة على تحديد خيار الشبكات الأفضل للسيناريو الخاص بك وتوفير رؤى حول متطلبات تكوين IoT Edge ل Linux على Windows (EFLOW).

لتوصيل الجهاز الظاهري IoT Edge ل Linux على Windows (EFLOW) عبر شبكة إلى المضيف الخاص بك، بأجهزة ظاهرية أخرى على مضيف Windows الخاص بك، والأجهزة/المواقع الأخرى على شبكة خارجية، يجب تكوين شبكة الجهاز الظاهري وفقا لذلك.

أسهل طريقة لإنشاء شبكة أساسية على وحدات SKU لعميل Windows هي باستخدام مفتاح التبديل الافتراضي، الذي تم إنشاؤه بالفعل عند تمكين ميزة Windows Hyper-V. ومع ذلك، على أجهزة Windows Server SKUs، فإن الشبكات أكثر تعقيدا قليلا حيث لا يتوفر رمز تبديل افتراضي. لمزيد من المعلومات حول إنشاء التبديل الظاهري ل Windows Server، راجع إنشاء مفتاح ظاهري ل Linux على Windows.

لمزيد من المعلومات حول مفاهيم شبكة EFLOW، راجع IoT Edge for Linux على شبكة Windows.

تكوين مفتاح ظاهري للجهاز الظاهري

الخطوة الأولى قبل نشر الجهاز الظاهري EFLOW هي تحديد نوع المفتاح الظاهري الذي تستخدمه. لمزيد من المعلومات حول مفاتيح EFLOW الظاهرية المدعومة، راجع خيارات التبديل الظاهري EFLOW. بمجرد تحديد نوع المفتاح الظاهري الذي تريد استخدامه، تأكد من إنشاء المفتاح الظاهري بشكل صحيح. لمزيد من المعلومات حول إنشاء رمز التبديل الظاهري، راجع إنشاء مفتاح ظاهري لأجهزة Hyper-V الظاهرية.

إشعار

إذا كنت تستخدم عميل Windows وتريد استخدام المفتاح الافتراضي، فلن تكون هناك حاجة إلى إنشاء رمز تبديل ولا -vSwitchType -vSwitchName حاجة إلى معلمات.

إشعار

إذا كنت تستخدم جهازا ظاهريا يعمل بنظام Windows داخل البنية الأساسية ل VMware ومفاتيح التبديل الخارجية، فيرجى مراجعة EFLOW الظاهرية المتداخلة.

بعد إنشاء مفتاح التبديل الظاهري وقبل بدء النشر، تأكد من إعداد اسم المفتاح الظاهري ونوعه بشكل صحيح وإدراجه ضمن نظام التشغيل المضيف ل Windows. لسرد جميع مفاتيح التبديل الظاهرية في نظام التشغيل المضيف Windows، في جلسة عمل PowerShell غير مقيدة، استخدم أمر PowerShell cmdlet التالي:

Get-VmSwitch

اعتمادا على التبديلات الظاهرية لمضيف Windows، يجب أن يكون الإخراج مشابها للآتي:

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

لاستخدام مفتاح ظاهري معين (داخلي أو خارجي)، تأكد من تحديد المعلمات الصحيحة: -vSwitchName وvSwitchType. على سبيل المثال، إذا كنت ترغب في نشر EFLOW VM مع مفتاح خارجي يسمى EFLOW-Ext، ثم في جلسة عمل PowerShell مرتفعة استخدم الأمر التالي:

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

تكوين تخصيص عنوان IP للجهاز الظاهري

الخطوة الثانية بعد تحديد نوع المفتاح الظاهري الذي تستخدمه هي تحديد نوع تخصيص عنوان IP للتبديل الظاهري. لمزيد من المعلومات حول خيارات تخصيص IP، راجع تخصيصات IP المدعومة من EFLOW. اعتمادا على نوع المفتاح الظاهري الذي تستخدمه، تأكد من استخدام آلية تخصيص عنوان IP المدعومة.

بشكل افتراضي، إذا لم يتم إعداد عنوان IP ثابت، يحاول الجهاز الظاهري EFLOW تخصيص عنوان IP للتبديل الظاهري باستخدام DHCP. تأكد من وجود خادم DHCP على شبكة التبديل الظاهرية؛ إذا لم يكن متوفرا، يفشل تثبيت EFLOW VM في تخصيص عنوان IP ويفشل التثبيت. إذا كنت تستخدم مفتاح التبديل الافتراضي، فلن تكون هناك حاجة للتحقق من وجود خادم DHCP، حيث يحتوي المفتاح الظاهري بالفعل على DHCP بشكل افتراضي. ومع ذلك، إذا كنت تستخدم مفتاحا ظاهريا داخليا أو خارجيا، يمكنك التحقق باستخدام الخطوات التالية:

  1. افتح موجه الأوامر.
  2. عرض جميع تكوينات IP ومعلوماته
    ipconfig /all
    
  3. إذا كنت تستخدم مفتاحا ظاهريا خارجيا، فتحقق من واجهة الشبكة المستخدمة لإنشاء مفتاح التبديل الظاهري. إذا كنت تستخدم مفتاحا ظاهريا داخليا ، فما عليك سوى البحث عن الاسم المستخدم للتبديل. بمجرد تحديد موقع المفتاح، تحقق مما إذا كان DHCP Enabled يقول نعم أو لا، وتحقق من DHCP server العنوان.

إذا كنت تستخدم IP ثابتا، يجب عليك تحديد ثلاث معلمات أثناء نشر EFLOW: -ip4Addressوip4GatewayAddress.ip4PrefixLength إذا كانت إحدى المعلمات مفقودة أو غير صحيحة، يفشل تثبيت EFLOW VM في تخصيص عنوان IP ويفشل التثبيت. لمزيد من المعلومات حول نشر EFLOW VM، راجع وظائف PowerShell ل IoT Edge ل Linux على Windows. على سبيل المثال، إذا كنت تريد نشر EFLOW VM مع مفتاح خارجي يسمى EFLOW-Ext، وتكوين IP ثابت، مع عنوان IP يساوي 192.168.0.2، عنوان IP للبوابة يساوي 192.168.0.1 وطول بادئة IP يساوي 24، ثم في جلسة عمل PowerShell مرتفعة استخدم الأمر التالي:

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

تلميح

سيحتفظ الجهاز الظاهري EFLOW بنفس عنوان MAC للتبديل الظاهري الرئيسي (المستخدم أثناء النشر) عبر عمليات إعادة التشغيل. إذا كنت تستخدم حجز عنوان DHCP MAC، يمكنك الحصول على عنوان MAC للتبديل الظاهري الرئيسي باستخدام PowerShell cmdlet: Get-EflowVmAddr.

التحقق من تخصيص IP

هناك طرق متعددة للتحقق من عنوان IP الذي تم تخصيصه ل EFLOW VM. أولا، باستخدام جلسة عمل PowerShell غير مقيدة، استخدم EFLOW cmdlet:

Get-EflowVmAddr

يجب أن يكون الإخراج مشابها للآتي:

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

طريقة أخرى، هي استخدام Connect-Eflow cmdlet للتحكم عن بعد في الجهاز الظاهري، ومن ثم يمكنك استخدام ifconfig eth0 الأمر bash، والتحقق من واجهة eth0 . يجب أن يبدو الإخراج مشابهًا لما يلي:

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)

تكوين خوادم DNS للجهاز الظاهري

بشكل افتراضي، لا يحتوي الجهاز الظاهري EFLOW على تكوين DNS. تحاول عمليات التوزيع باستخدام DHCP الحصول على تكوين DNS الذي تم نشره بواسطة خادم DHCP. إذا كنت تستخدم عنوان IP ثابتا، فيجب إعداد خادم DNS يدويا. لمزيد من المعلومات حول EFLOW VM DNS، راجع تكوين EFLOW DNS.

للتحقق من خوادم DNS المستخدمة من قبل الواجهة الافتراضية (eth0)، يمكنك استخدام الأمر التالي:

resolvectl | grep eth0 -A 8

يجب أن يكون الإخراج شيئا مشابها للآتي. تحقق من عناوين IP لحقول "خوادم DNS الحالية" و"خوادم DNS" في القائمة. إذا لم يكن هناك عنوان IP، أو لم يكن عنوان IP عنوان IP صالحا لخادم DNS، فلن تعمل خدمة DNS.

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 يدويا، يمكنك استخدام EFLOW PowerShell cmdlet Set-EflowVmDNSServers. لمزيد من المعلومات حول تكوين EFLOW VM DNS، راجع وظائف PowerShell ل IoT Edge ل Linux على Windows.

التحقق من دقة DNS

هناك طرق متعددة للتحقق من دقة DNS.

أولا، من داخل الجهاز الظاهري EFLOW، استخدم resolvectl query الأمر للاستعلام عن عنوان URL معين. على سبيل المثال، للتحقق مما إذا كان تحليل الاسم يعمل microsoft.com العنوان، استخدم:

resolvectl query microsoft.com

يجب أن يبدو الإخراج مشابهًا لما يلي:

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

يمكنك أيضا استخدام dig الأمر للاستعلام عن عنوان URL معين. على سبيل المثال، للتحقق مما إذا كان تحليل الاسم يعمل microsoft.com العنوان، استخدم:

dig microsoft.com

يجب أن يبدو الإخراج مشابهًا لما يلي:

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

الخطوات التالية

اقرأ المزيد حول Azure IoT Edge ل Linux على أمن Windows.

ابق على اطلاع بأحدث IoT Edge لنظام التشغيل Linux على تحديثات Windows.