مشاركة عبر


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

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

السيناريو

تحاول الاتصال بجهاز ظاهري ولكن الاتصال يفشل. لتحديد سبب عدم تمكنك من الاتصال بالجهاز الظاهري، يمكنك عرض المسارات الفعالة لواجهة الشبكة باستخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI.

تفترض الخطوات التالية أن لديك جهازاً ظاهرياً حالياً لعرض المسارات الفعالة. إذا لم يكن لديك جهاز ظاهري موجود، قم أولاً بتوزيع جهاز ظاهري يعمل بنظام Linux أو Windows لإكمال المهام الواردة في هذه المقالة. الأمثلة في هذه المقالة هي لجهاز ظاهري يسمى vm-1 مع واجهة شبكة تسمى vm-1445. يوجد الجهاز الظاهري وواجهة الشبكة في مجموعة موارد تسمى test-rg، وهي في منطقة شرق الولايات المتحدة . قم بتغيير القيم في الخطوات، حسب الاقتضاء، للجهاز الظاهري الذي تقوم بتشخيص المشكلة له.

التشخيص باستخدام مدخل Azure

  1. تسجيل الدخول إلى مدخل Microsoft Azure باستخدام حساب Azure لديه الأذونات اللازمة.

  2. في الجزء العلوي من مدخل Microsoft Azure، أدخل اسم الجهاز الظاهري قيد التشغيل، في مربع البحث. عندما يظهر اسم الجهاز الظاهري في نتائج البحث، حدده.

  3. قم بتوسيع قسم Networking وحدد Network settings.

  4. لتحديد الواجهة، حدد اسمها.

    لقطة شاشة لواجهة الشبكة في إعدادات الجهاز الظاهري.

  5. في واجهة الشبكة، قم بتوسيع التعليمات. حدد المسارات الفعالة.

    لقطة شاشة للمسارات الفعالة لواجهة الشبكة.

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

على الرغم من عرض المسارات الفعالة من خلال الجهاز الظاهري في الخطوات السابقة، يمكنك أيضاً عرض المسارات الفعالة من خلال:

التشخيص باستخدام PowerShell

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

يمكنك تشغيل الأوامر التي تتبع في Azure Cloud Shellأو عن طريق تشغيل PowerShell من الكمبيوتر. Azure Cloud Shell هو واجهة تفاعلية مجانية. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك. إذا قمت بتشغيل PowerShell من جهاز الكمبيوتر، فأنت بحاجة إلى الوحدة Azure PowerShell، الإصدار 1.0.0 أو إصدار أحدث. شغّل Get-Module -ListAvailable Az على جهاز الكمبيوتر، للعثور على الإصدار المُثبت. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. إذا كنت تقوم بتشغيل PowerShell محليا، فستحتاج أيضا إلى تشغيل Connect-AzAccount لتسجيل الدخول إلى Azure باستخدام حساب لديه الأذونات اللازمة.

احصل على المسارات الفعالة لواجهة الشبكة باستخدام Get-AzEffectiveRouteTable. يحصل المثال التالي على المسارات الفعالة لواجهة شبكة تسمى vm-1445 في مجموعة موارد تسمى test-rg:

$Params = @{
  NetworkInterfaceName = "vm-1445"
  ResourceGroupName    = "test-rg"
}
Get-AzEffectiveRouteTable @Params | Format-Table

لفهم المعلومات التي تم إرجاعها في الإخراج، راجع نظرة عامة حول التوجيه. يتم إرجاع الإخراج فقط إذا كان الجهاز الظاهري في حالة التشغيل. إذا كانت هناك واجهات شبكة اتصال متعددة متصلة بالجهاز الظاهري، يمكنك مراجعة المسارات الفعّالة لكل واجهة شبكة اتصال. بما أن كل واجهة شبكة اتصال يمكن أن تكون في شبكة فرعية مختلفة، يمكن أن تكون لكل واجهة شبكة اتصال طُرق فعالة مختلفة. إذا كنت لا تزال تواجه مشكلة في الاتصال، فشاهد المزيد من التشخيصاتوالاعتبارات.

إذا كنت تعرف اسم الجهاز الظاهري ولكن ليس اسم واجهة الشبكة، فاستخدم الأوامر التالية لإرجاع معرف جميع واجهات الشبكة المرفقة بالجهاز الظاهري:

$Params = @{
  Name              = "vm-1"
  ResourceGroupName = "test-rg"
}
$VM = Get-AzVM @Params
$VM.NetworkProfile

تتلقى إخراجاً مشابهاً للمثال التالي:

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/test-rg/providers/Microsoft.Network/networkInterfaces/vm-1445

في الإخراج السابق، اسم واجهة الشبكة هو vm-1445.

التشخيص باستخدام Azure CLI

يمكنك تشغيل الأوامر التالية في Azure Cloud Shell، أو عن طريق تشغيل CLI من جهاز الكمبيوتر الخاص بك. تتطلب هذه المقالة الإصدار 2.0.32 من Azure CLI أو إصدار أحدث. بادر بتشغيل az --version للعثور على الإصدار المثبت. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. إذا كنت تقوم بتشغيل Azure CLI محلياً، فستحتاج أيضاً إلى تشغيل az login لتسجيل الدخول إلى Azure بحساب لديه الأذونات اللازمة.

احصل على المسارات الفعالة لواجهة الشبكة باستخدام az network nic show-effective-route-table. يحصل الأمر التالي على المسارات الفعالة لواجهة شبكة الاتصال المسماة vm-1445 الموجودة في مجموعة موارد تسمى test-rg:

az network nic show-effective-route-table \
  --name vm-1445 \
  --resource-group test-rg

لفهم المعلومات التي تم إرجاعها في الإخراج، راجع نظرة عامة حول التوجيه. يتم إرجاع الإخراج فقط إذا كان الجهاز الظاهري في حالة التشغيل. إذا كانت هناك واجهات شبكة اتصال متعددة متصلة بالجهاز الظاهري، يمكنك مراجعة المسارات الفعّالة لكل واجهة شبكة اتصال. بما أن كل واجهة شبكة اتصال يمكن أن تكون في شبكة فرعية مختلفة، يمكن أن تكون لكل واجهة شبكة اتصال طُرق فعالة مختلفة. إذا كنت لا تزال تواجه مشكلة في الاتصال، فشاهد المزيد من التشخيصاتوالاعتبارات.

إذا كنت تعرف اسم الجهاز الظاهري ولكن ليس اسم واجهة الشبكة، فاستخدم الأوامر التالية لإرجاع معرف جميع واجهات الشبكة المرفقة بالجهاز الظاهري:

az vm show \
  --name vm-1 \
  --resource-group test-rg

حل المشكلة

عادة ما يتكون حل مشاكل التوجيه من الإجراءات التالية:

  • إضافة مسار مخصص لتجاوز أحد المسارات الافتراضية ل Azure. تعلم كيفية إضافة مسار مخصص.

  • تغيير مسار مخصص أو إزالته قد يتسبب في توجيه إلى موقع غير المرغوب فيه. تعلم كيفية تغيير أو حذف مسار مخصص.

  • تأكد من أن جدول التوجيه الذي يحتوي على أي مسارات مخصصة معرفة مقترن بالشبكة الفرعية التي توجد بها واجهة الشبكة. تعلم كيفية إقران جدول مسارات بشبكة فرعية.

  • تأكد من أن الأجهزة مثل بوابة Azure VPN أو الأجهزة الظاهرية للشبكة المنشورة قابلة للتشغيل. استخدم إمكانية تشخيصات VPN الخاصة بـ Network Watcher لتحديد أي مشكلات تتعلق ببوابة Azure VPN.

إذا كنت لا تزال تواجه مشكلات في الاتصال، فشاهد الاعتبارات والمزيد من التشخيصات.

الاعتبارات

خذ بعين الاعتبار النقاط التالية عند استكشاف مشكلات الاتصال وإصلاحها:

  • يستخدم التوجيه أطول مطابقة بادئة (LPM) لتحديد أفضل مسار من مسارات النظام وBGP والمسارات المخصصة. إذا كانت مسارات متعددة تشترك في نفس تطابق LPM، يحدد Azure واحدا استنادا إلى ترتيب الأولوية في نظرة عامة على التوجيه. تظهر المسارات الفعالة المسارات المتطابقة مع LPM فقط، مما يسهل تحديد المسارات التي تؤثر على اتصال الجهاز الظاهري واستكشاف الأخطاء وإصلاحها.

  • إذا كانت التوجيهات المخصصة توجه نسبة استخدام الشبكة مباشرة إلى جهاز ظاهري للشبكة (NVA) مع الجهاز الظاهري كنوع القفزة التالية، فتأكد من تمكين إعادة توجيه IP ل NVA؛ وإلا، يتم إسقاط الحزم. تعرف على كيفية تمكين إعادة توجيه IP لواجهة شبكة وتكوين نظام التشغيل أو التطبيق الخاص ب NVA لإعادة توجيه نسبة استخدام الشبكة.

  • إذا تم إنشاء مسار إلى 0.0.0.0/0، يتم توجيه جميع حركة مرور الإنترنت الصادرة إلى القفزة التالية التي حددتها، مثل بوابة NVA أو VPN. غالباً ما يشار إلى إنشاء مثل هذا المسار باسم النفق القسري. قد لا تعمل الاتصالات البعيدة التي تستخدم بروتوكولات RDP أو SSH من الإنترنت إلى الجهاز الظاهري الخاص بك مع هذا المسار، اعتمادا على كيفية معالجة الوثبة التالية لحركة المرور. يمكن تمكين الاتصال النفقي القسري:

    • عند استخدام VPN من موقع إلى موقع، عن طريق إنشاء مسار مع نوع الوثبة التالية من بوابة VPN. تعرف على المزيد حول تكوين النفق القسري.
    • إذا تم الإعلان عن 0.0.0.0/0 (المسار الافتراضي) عبر BGP من خلال بوابة شبكة ظاهرية عند استخدام VPN من موقع إلى موقع، أو دائرة ExpressRoute. تعرف على المزيد حول استخدام BGP مع VPN من موقع إلى موقع أو ExpressRoute.
  • كي تعمل نسبة استخدام نظير الشبكة الظاهرية بشكل صحيح، يجب أن يوجد مسار نظام بنوع الوثبة التالية من نظير الشبكة الظاهرية لنطاق بادئة الشبكة الظاهرية النظيرة. إذا لم يكن هذا المسار موجودا، وكان ارتباط تناظر الشبكة الظاهرية متصلا:

  • على الرغم من أن Azure يعيّن المسارات الافتراضية لكل واجهة شبكة في Azure، إذا كانت لديك عدة واجهات شبكة متصلة بالجهاز الظاهري، يتم تعيين مسار افتراضي (0.0.0.0/0) فقط لواجهة الشبكة الأساسية، أو بوابة، داخل نظام تشغيل الجهاز الظاهري. تعرف على كيفية إنشاء مسار افتراضي لواجهات الشبكة الثانوية المرتبطة بجهاز ظاهري يعمل بنظام التشغيل Windows أو Linux. تعرف على المزيد حول واجهات الشبكة الأساسية والثانوية.

المزيد من التشخيصات

  • لتشغيل اختبار سريع لتحديد نوع الوثبة التالية لنسبة استخدام الشبكة الموجهة إلى موقع ما، استخدم إمكانية الوثبة التالية الخاصة بـ Azure Network Watcher. تخبرك الوثبة التالية بنوع الوثبة التالية لنسبة استخدام الشبكة الموجهة إلى موقع محدد.

  • إذا لم تكن هناك مسارات تتسبب في فشل اتصال شبكة VM، فقد تكون المشكلة بسبب تشغيل برنامج جدار الحماية داخل نظام تشغيل الجهاز الظاهري

  • إذا كنت تفرض نقل البيانات النفقية إلى جهاز محلي من خلال بوابة VPN، أو NVA، فقد لا تتمكن من الاتصال بجهاز ظاهري من الإنترنت، اعتمادا على كيفية تكوين التوجيه للأجهزة. تأكد من أن التوجيه الذي تم تكوينه للجهاز يوجه حركة المرور إلى عنوان IP عام أو خاص للجهاز الظاهري.

  • استخدم إمكانية استكشاف أخطاء الاتصال وإصلاحها في Network Watcher لتحديد التوجيه والتصفية وأسباب مشكلات الاتصال الصادر داخل نظام التشغيل.

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