تكوين الشبكات ل Azure IoT Edge ل Linux على Windows
ينطبق على: 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 بشكل افتراضي. ومع ذلك، إذا كنت تستخدم مفتاحا ظاهريا داخليا أو خارجيا، يمكنك التحقق باستخدام الخطوات التالية:
- افتح موجه الأوامر.
- عرض جميع تكوينات IP ومعلوماته
ipconfig /all
- إذا كنت تستخدم مفتاحا ظاهريا خارجيا، فتحقق من واجهة الشبكة المستخدمة لإنشاء مفتاح التبديل الظاهري. إذا كنت تستخدم مفتاحا ظاهريا داخليا ، فما عليك سوى البحث عن الاسم المستخدم للتبديل. بمجرد تحديد موقع المفتاح، تحقق مما إذا كان
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.