تشخيص مشكلة توجيه شبكة جهاز ظاهري - Azure PowerShell

في هذه المقالة، تقوم بنشر جهاز ظاهري (VM)، ثم تتحقق من التوصيلات بعنوان IP وعنوان URL. أنت تحدد سبب فشل الاتصال وكيف يمكنك حله.

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

Azure Cloud Shell

Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

إذا اخترت تثبيت PowerShell واستخدامه محليا، تتطلب هذه المقالة الوحدة النمطية Az PowerShell. لمزيد من المعلومات، راجع كيفية تثبيت Azure PowerShell. للعثور على الإصدار المثبت، قم بتشغيل Get-InstalledModule -Name Az. إذا قمت بتشغيل PowerShell محليا، فقم بتسجيل الدخول إلى Azure باستخدام الاتصال-AzAccount cmdlet.

قم بإنشاء جهاز ظاهري

قبل أن تتمكن من إنشاء جهاز ظاهري، ينبغي عليك إنشاء مجموعة موارد لاحتواء الجهاز الظاهري. قم بإنشاء مجموعة موارد باستخدام New-AzResourceGroup. في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

يُمكنك الآن إنشاء الجهاز الظاهري باستخدام New-AzVM. عند تشغيل هذه الخطوة، ستكون مطالَبًا ببيانات الاعتماد. تكوين القيم المُدخَلة كاسم المستخدم وكلمة المرور للجهاز الظاهري.

$vM = New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVm" `
    -Location "East US"

ويستغرق إنشاء جهاز ظاهري بضع دقائق. لا تتابع استكمال الخطوات ما لم تنشئ الجهاز الظاهري، ويستعيد PowerShell الإخراج.

اختبار اتصال شبكة ما

لاختبار اتصال الشبكة مع Network Watcher، ينبغي عليك أولاً تمكين Network Watcher في المنطقة التي يوجد فيها الجهاز الظاهري الذي تريد اختباره، ثم استخدام إمكانية الوثب التالية لـ Network Watcher لاختبار الاتصال.

تمكين مراقب الشبكة

إذا كان مراقب شبكة الاتصال مُفعَّلاً في منطقة شرق الولايات المتحدة، استخدم Get-AzNetworkWatcher لاسترداد Network Watcher. يقوم المثال التالي باسترداد مراقب شبكة موجود باسم NetworkWatcher_eastus الموجود في مجموعة الموارد NetworkWatcherRG:

$networkWatcher = Get-AzNetworkWatcher `
  -Name NetworkWatcher_eastus `
  -ResourceGroupName NetworkWatcherRG

إذا كان مراقب شبكة الاتصال مُفعلاً في منطقة شرق الولايات المتحدة، فاستخدم Get-AzNetworkWatcher لإنشاء مراقب شبكة في منطقة شرق الولايات المتحدة:

$networkWatcher = New-AzNetworkWatcher `
  -Name "NetworkWatcher_eastus" `
  -ResourceGroupName "NetworkWatcherRG" `
  -Location "East US"

استخدم القفزة التالية

ينشئ Azure تلقائيًا مسارات إلى الوجهات الافتراضية. يُمكنك إنشاء اتجاهات مخصصة تتجاوز التوجيهات الافتراضية. في بعض الأحيان، يمكن أن تتسبب التوجيهات المخصصة في فشل اتصال ما. ولاختبار التوجيه من جهاز ظاهري، استخدم Get-AzNetworkWatcherNextHop لتحديد وثب التوجيه التالي عندما يتم توجيه نسبة استخدام الشبكة إلى عنوان معين.

قم باختبار الاتصال الصادر من الجهاز الظاهري إلى أحد عناوين IP لموقع www.bing.com:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 13.107.21.200

وبعد بضع ثوانٍ، يعلمك الناتج بأن NextHopTypeهوالإنترنت، وأن routeTableIdهوSystem Route. ويتيح لك هذا الناتج معرفة أن هناك مسار نظام صالح إلى الوجهة.

اختبر الاتصال الصادر من الجهاز الظاهري إلى 172.31.0.100:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 172.31.0.100

فيعلمك الناتج الذي تم إرجاعه بأنNone هو NextHopType، وبأنRouteTableId هو أيضًاSystem Route. تتيح لك هذه النتيجة معرفة أنه، في حين يوجد مسار نظام صالح إلى الوجهة، لا توجد قفزة تالية لتوجيه حركة نقل البيانات إلى الوجهة.

عرض تفاصيل مسار ما

لتحليل التوجيه بشكل أكبر، راجع المسارات الفعالة لواجهة الشبكة مع الأمر «Get-AzEffectiveRouteTable»:

Get-AzEffectiveRouteTable `
  -NetworkInterfaceName myVm `
  -ResourceGroupName myResourceGroup |
  Format-table

يتم إرجاع الإخراج الذي يتضمن النص التالي:

Name State  Source  AddressPrefix           NextHopType NextHopIpAddress
---- -----  ------  -------------           ----------- ----------------
     Active Default {192.168.0.0/16}        VnetLocal   {}              
     Active Default {0.0.0.0/0}             Internet    {}              
     Active Default {10.0.0.0/8}            None        {}              
     Active Default {100.64.0.0/10}         None        {}              
     Active Default {172.16.0.0/12}         None        {}              

كما ترون في الإخراج السابق، مسارAddressPrefix من 0.0.0.0/0 يوجه كافة نسب استخدام الشبكة غير الموجهة للعناوين ضمن بادئات عنوان المسار الأخرى مع القفزة التالية من الإنترنت. كما ترى أيضًا في الإخراج، على الرغم من وجود مسار افتراضي إلى السابقة 172.16.0.0/12 التي تتضمن عنوان 172.31.0.100،nextHopTypeهوNone. وينشئ Azure مسارًا افتراضيًا إلى 172.16.0.0/12، إلا أنه لا يحدد نوع الوثب التالي إلى أن يوجد سبب لذلك. فإذا، على سبيل المثال، أضفت نطاق العنوان 172.16.0.0/12 إلى مساحة عنوان الشبكة الظاهرية، يغير AzurenextHopType إلى الشبكة الظاهريةللمسار. ثم، قد يظهر الفحصالشبكة الظاهريةكنوعnextHopType.

تنظيف الموارد

عند عدم الحاجة إليها، يمكنك استخدام Remove-AzResourceGroup لإزالة مجموعة الموارد وجميع الموارد ذات الصلة:

Remove-AzResourceGroup -Name myResourceGroup -Force

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

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

بالنسبة إلى اتصالات الجهاز الظاهري الصادرة، يمكنك أيضًا تحديد زمن الانتقال ونسبة استخدام الشبكة المسموح بها وغير المسموح بها بين الجهاز الظاهري ونقطة نهاية، باستخدام إمكانية استكشاف أخطاء الاتصال وإصلاحها في Network Watcher. يمكنك مراقبة الاتصال بين جهاز ظاهري ونقطة نهاية، مثل عنوان IP أو عنوان URL بمرور الوقت باستخدام إمكانية مراقبة اتصال Network Watcher. لمزيد من المعلومات، راجع مراقبة اتصال الشبكة.