تدريب - استكشاف أخطاء شبكة واصلاحها باستخدام أدوات المراقبة والتشخيص لـ Network Watcher

مكتمل

يساعدك Azure Network Watcher في تشخيص أخطاء التكوين التي تمنع الأجهزة الظاهرية (VMs) من الاتصال.

افترض أن لديك جهازين VMs لا يمكنهم الاتصال. تريد تشخيص المشكلة وحلها بأسرع وقت ممكن. تريد استخدام Network Watcher للقيام بذلك.

هنا، سوف تقوم باستكشاف أخطاء الاتصال بين جهازين VMs في شبكات فرعية مختلفة وإصلاحها.

هام

تحتاج إلى اشتراك Azure الخاص بك لتشغيل هذا التمرين، وقد تتكبد رسوماً. إذا لم يكن لديك بالفعل اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.

تكوين شبكة ظاهرية وVMs

لنبدأ بإنشاء البنية الأساسية. سنقوم أيضاً عن قصد بإنشاء خطأ في التكوين:

  1. في المستعرض لديك، افتح جلسة Azure Cloud Shell.

  2. افتح الدليل الذي تريد إنشاء موارد فيه.

  3. حدد Bash في الجزء العلوي الأيسر من شريط قوائم Cloud Shell.

  4. اسرد المناطق المدعومة لاشتراكك.

    az account list-locations
    
  5. قم بإنشاء مجموعة موارد وتعيينها إلى اسم المتغير RG عن طريق تشغيل التعليمات البرمجية التالية، وتغيير <resource group name> باسم لمجموعة الموارد الخاصة بك، وتغيير <name>باسم المنطقة من الإخراج السابق.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. قم بإنشاء شبكة ظاهرية تسمى MyVNet1 مع شبكة فرعية تسمى FrontendSubnet عن طريق تشغيل هذا الأمر.

    az network vnet create \
        --resource-group $RG \
        --name MyVNet1 \
        --address-prefixes 10.10.0.0/16 \
        --subnet-name FrontendSubnet \
        --subnet-prefixes 10.10.1.0/24
    
  7. قم بإنشاء شبكة فرعية أخرى تسمى BackendSubnet عن طريق تشغيل هذا الأمر.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. قم بتوزيع جهاز ظاهري في FrontendSubnet عن طريق تشغيل هذا الأمر، وتغيير <password> بكلمة مرور معقدة من اختيارك.

    az vm create \
        --resource-group $RG \
        --name FrontendVM \
        --vnet-name MyVNet1 \
        --subnet FrontendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    

    إشعار

    إذا حصلت على الخطأ "partofthepassword: الحدث غير موجود"، قم بإنشاء كلمة مرور جديدة باستخدام الأحرف المسموح بها.

  9. قم بتثبيت IIS على FrontendVM عن طريق تشغيل التعليمات البرمجية التالية.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name FrontendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  10. قم بتوزيع جهاز ظاهري في BackendSubnet عن طريق تشغيل هذا الأمر، وتغيير <password> بكلمة مرور معقدة من اختيارك.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. قم بتثبيت IIS على BackendVM عن طريق تشغيل هذا الأمر.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name BackendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  12. قم بإنشاء مجموعة أمان شبكة (NSG) MyNsg بإدخال الأمر التالي.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. قم بإنشاء خطأ في التكوين يمنع الاتصال بين الأجهزة الظاهرية.

    az network nsg rule create \
        --resource-group $RG \
        --name MyNSGRule \
        --nsg-name MyNsg \
        --priority 4096 \
        --source-address-prefixes '*' \
        --source-port-ranges '*' \
        --destination-address-prefixes '*' \
        --destination-port-ranges 80 443 3389 \
        --access Deny \
        --protocol TCP \
        --direction Inbound \
        --description "Deny from specific IP address ranges on 80, 443 and 3389."
    
  14. قم بتشغيل الأمر التالي لإقران مجموعة أمان شبكة اتصال بشبكة فرعية.

    az network vnet subnet update \
        --resource-group $RG \
        --name BackendSubnet \
        --vnet-name MyVNet1 \
        --network-security-group MyNsg
    

تمكين Network Watcher للمنطقة الخاصة بك

الآن، دعنا نستخدم Azure CLI لإعداد مراقب الشبكة في نفس المنطقة مثل البنية الأساسية.

  1. قم بتمكين مراقب الشبكة عن طريق تشغيل هذا الأمر، وتغير <location> بمنطقة Azure التي استخدمتها عند إنشاء مجموعة الموارد الخاصة بك في بداية جلسة العمل هذه.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

استخدام Network Watcher لإظهار الطوبولوجيا

الآن، يمكنك استخدام مراقب الشبكة في مدخل Microsoft Azure لاستكشاف أخطاء الاتصال بين جهازين VMs في الشبكات الفرعية المختلفة وإصلاحها. قام زميلك بالإبلاغ عن مشكلة في الاتصال عبر HTTP/HTTPS بين جهازين VMs. أولًا، حقق في طوبولوجيا الشبكة.

  1. سجل دخولك إلى مدخل Azure.

  2. في البحث العام أدخِل Network Watcher واختر تلك الخدمة. يظهر جزء نظرة عامة على مراقب الشبكة، معددا مراقب الشبكة النشط.

  3. من قائمة Network Watcher ضمن Monitoring اختر Topology. يظهر جزء Network Watcher | Topology.

  4. من حقول القائمة المنسدلة اختر Subscription وResource Group لهذا التمرين. يعرض تخطيط الشبكة خاصة MyVNet1 واجهات VM الأمامية والخلفية. هذه هي الشبكة الظاهرية التي قمت بإنشائها في بداية هذا التمرين.

    Screenshot showing the exercise network topology.

استخدم Connection Monitor لتشغيل الاختبارات من الواجهة الخلفية إلى الواجهة الأمامية

يبدو أن الطوبولوجيا صحيح. للحصول على مزيد من المعلومات، دعنا نعد بعض الاختبارات في Connection Monitor. ابدأ بإنشاء اختبار من VM الخلفية إلى VM الأمامية.

  1. في قائمة مراقب الشبكة، ضمن Monitoring حدد Connection monitor. يظهر جزء نظرة عامة على Network Watcher | Connection monitor.

  2. من شريط الأوامر، اختر Create. تظهر صفحة Create Connection Monitor.

  3. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    اسم Connection Monitor اختبار HTTP من الخلفية إلى الأمامية
    الوصف اختر اشتراكك من القائمة المنسدلة
    منطقة حدد منطقة Azure التي وزعت مواردك فيها
    تكوين مساحة العمل تم فحص استخدام مساحة العمل التي أنشأها جهاز مراقبة الاتصال (افتراضي)
  4. حدد Next : Test groups. يظهر جزء Add test group details.

  5. بالنسبة إلى اسم مجموعة الاختبار، أدخل Back-to-front-HTTP-test-group.

  6. في المربع Sources، حدد Add sources. يظهر جزء Add Sources.

  7. في علامة التبويب نقاط نهاية Azure، حدد الشبكة الفرعية، وتأكد من تحديد اشتراكك، ثم حدد BackendSubnet من القائمة.

    Screenshot that shows enabling of Network Watcher backend subnet.

  8. حدد Add endpoints. في مربع المصادر مع معرف BackendSubnet كمصدر. حدد نقطة النهاية هذه، وحدد تحرير، وأعد تسميتها إلى BackendSubnet، ثم حدد حفظ.

    Screenshot that shows editing endpoint name.

  9. في المربع Test configurations حدد Add Test configuration. يظهر جزء "Add test group details".

  10. في علامة التبويب "New configuration"، أدخل القيم التالية لكل إعداد.

    الإعداد القيمة‬
    اسم تكوين الاختبار تكوين اختبار HTTP-من الخلفية إلى الأمامية
    بروتوكول HTTP
    منفذ الوجهة 80
    تردد الاختبار كل 30 ثانية
    احتفظ بالقيم الافتراضية للإعدادات المتبقية
  11. اختر Add Test configuration لإضافة تكوين الاختبار هذا إلى مجموعة الاختبار. تظهر Add test group details مرة أخرى مع تحديد تكوين الاختبار الخاص بك.

  12. في Destinations حدد Add destinations. يظهر جزء "Add Destinations".

  13. في علامة التبويب نقاط نهاية Azure، حدد الشبكة الفرعية، وتأكد من تحديد اشتراكك، ثم حدد FrontendSubnet من القائمة.

  14. حدد Add endpoints. تظهر Add test group details مرةً أخرى مع تحديد FrontendSubnet لتكون وجهتك.

  15. في الجزء السفلي من الجزء، حدد "Add Test Group". يظهر جزء Create Connection Monitor.

  16. في علامة التبويب Test groups، لاحظ أن مجموعة الاختبار الخاصة بك مدرجة مع المصدر كواجهة خلفية ووجهة كواجهة أمامية.

  17. حدد Review + create وCreate.

إذا لم يظهر الاختبار في جزء الاتصال ion Monitor، فحدد الزر Refresh. يجب أن تُظهر نتائج اختبار Back-to-front-HTTP أنه نظرًا لأن مجموعة NSG مرتبطة بالشبكة الفرعية للواجهة الخلفية، فإن نسبة استخدام الشبكة تتدفق دون مشاكل من الواجهة الافتراضية VM إلى الواجهة الافتراضية VM.

استخدم Connection Monitor لتشغيل الاختبارات من الواجهة الأمامية إلى الواجهة الخلفية

قم بتشغيل نفس الاختبار في الاتجاه المعاكس. لنُعِد اختبار آخر في Connection Monitor. ابدأ بإنشاء اختبار من VM الأمامية إلى VM الخلفية.

  1. في الجزء Connection Monitor، حدد Create.

  2. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    اسم Connection Monitor اختبار HTTP من الأمامية إلى الخلفية
    الوصف اختر اشتراكك من القائمة المنسدلة
    منطقة حدد منطقة Azure التي وزعت مواردك فيها
  3. حدد Next : Test groups. يظهر جزء Add test group details.

  4. في Test group name، أدخِل Front-to-back-HTTP-test-group، ثم في مربع "Sources"، حدد Add sources. يظهر جزء Add Sources.

  5. في علامة التبويب نقاط نهاية Azure، حدد الشبكة الفرعية، وتأكد من تحديد اشتراكك، ثم حدد FrontSubnet من القائمة.

  6. حدد Add endpoints. في مربع المصادر مع معرف BackendSubnet كمصدر. حدد نقطة النهاية هذه، وحدد تحرير، وأعد تسميتها إلى FrontendSubnet، ثم حدد حفظ.

  7. في المربع Test configurations حدد Add Test configuration. يظهر جزء "Add test group details".

  8. في علامة التبويب "New configuration"، أدخل القيم التالية لكل إعداد.

    الإعداد القيمة‬
    اسم تكوين الاختبار تكوين اختبار HTTP من الأمامية إلى الخلفية
    بروتوكول HTTP
    منفذ الوجهة 80
    تردد الاختبار كل 30 ثانية
    اقبل القيم الافتراضية للإعدادات المتبقية
  9. حدد Add Test configuration. تظهر Add test group details مرة أخرى مع تحديد تكوين الاختبار الخاص بك.

  10. في Destinations حدد Add destinations. يظهر جزء "Add Destinations".

  11. في علامة التبويب نقاط نهاية Azure، حدد الشبكة الفرعية، وتأكد من تحديد اشتراكك، ثم حدد BackendSubnet من القائمة.

  12. حدد Add endpoints. ظهر جزء Add test group details مرة أخرى مع "BackendSubnet" المحدد كوجهة خاصة بك.

  13. في الجزء السفلي من الجزء، حدد "Add Test Group". يظهر جزء "Create Connection Monitor".

  14. في علامة التبويب Test groups، لاحظ أن "Front-to-back-HTTP-test-group" الخاصة بك معروضة الآن.

  15. حدد Review + create وCreate.

إذا لم يظهر الاختبار في جزء الاتصال ion Monitor، فحدد الزر Refresh. يجب أن تُظهر نتائج اختبار Front-to-back-HTTP أنه، نظرًا لأن NSG مرتبط بالشبكة الفرعية الخلفية، لا تتدفق نسبة استخدام الشبكة من الواجهة VM إلى الواجهة الخلفية VM.

استخدام التحقق من تدفق IP لاختبار الاتصال

لنستخدم أداة التحقق من تدفق IP للحصول على مزيد من المعلومات.

  1. حدد Network Watcher، وفي قائمة الموارد أسفل Network diagnostic tools، حدد IP flow verify.

  2. كون الاختبار عن طريق إدخال القيم التالية لكل إعداد، ثم حدد Check.

    الإعداد القيمة‬
    الوصف حدد اشتراكك
    مجموعة الموارد تحديد مجموعة الموارد
    جهاز ظاهري BackendVM
    واجهة الشبكة BackendVMVMNic
    بروتوكول TCP
    الاتجاه وارد
    عنوان IP المحلي 10.10.2.4
    المنفذ المحلي 3389
    IP البعيد 10.10.1.4
    منفذ بعيد 3389

    Screenshot showing an IP flow test.

  3. تُظهر النتيجة رفض الوصول بسبب NSG وقواعد الأمان.

في هذا التدريب، استخدمت أدوات Network Watcher بنجاح لاكتشاف مشكلة الاتصال بين الشبكتين الفرعيتين. يسمح للاتصال بطريقة واحدة ولكن يمنع في الاتجاه الآخر بسبب قواعد NSG.