استكشاف أخطاء بوابة شبكة Azure الظاهرية الخاصة باستخدام سجلات التشخيص
تساعد هذه المقالة على فهم السجلات المختلفة المتوفرة لتشخيصات بوابة VPN وكيفية استخدامها لاستكشاف مشكلات بوابة VPN وإصلاحها بشكل فعال.
في حالة عدم معالجة مشكلة Azure في هذه المقالة، تفضل بزيارة منتديات Azure فيما يتعلق بـ Microsoft Q & A وتجاوز سعة مكدس الذاكرة المؤقتة. يمكنك نشر مشكلتك في هذه المنتديات، أو نشرها على @AzureSupport on Twitter. يمكنك أيضًا إرسال طلب دعم Azure. لإرسال طلب دعم، في صفحة دعم Azure ، حدد الحصول على دعم.
تتوفر السجلات التالية في Azure:
| الاسم | الوصف |
|---|---|
| سجل تشخيص البوابة | يحتوي على سجلات التشخيص لأحداث تكوين البوابة والتغييرات الأساسية وأحداث الصيانة. |
| سجل تشخيص النفق | يحتوي على أحداث تغيير حالة النفق. أحداث الاتصال/قطع الاتصال النفقي لها سبب ملخص لتغيير الحالة إذا كان ذلك ممكنًا. |
| سجل تشخيص المسار | يتغير السجلات إلى المسارات الثابتة وأحداث BGP التي تحدث على البوابة. |
| سجل تشخيص IKE | سجلات تتحكم IKE في الرسائل والأحداث على البوابة. |
| سجل تشخيص P2S | تسجيل رسائل التحكم من نقطة إلى موقع والأحداث على البوابة. |
لاحظ أن هناك العديد من الأعمدة المتوفرة في هذه الجداول. في هذه المقالة، نقدم فقط أكثرها صلة لتسهيل استهلاك السجل.
إعداد التسجيل
لمعرفة كيفية إعداد أحداث السجل التشخيصي من بوابة Azure VPN باستخدام Azure Log Analytics، راجع إعداد التنبيهات على أحداث السجل التشخيصي من بوابة VPN.
سجل تشخيص البوابة
تتم مراجعة تغييرات التكوين في جدول GatewayDiagnosticLog. قد يستغرق الأمر بضع دقائق قبل أن تنعكس التغييرات التي تنفذها في السجلات.
هنا لديك نموذج استعلام كمرجع.
AzureDiagnostics
| where Category == "GatewayDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
| sort by TimeGenerated asc
سيعرض لك هذا الاستعلام على GatewayDiagnosticLog أعمدة متعددة.
| الاسم | الوصف |
|---|---|
| وقت الإنشاء | الطابع الزمني لكل حدث، في المنطقة الزمنية بالتوقيت العالمي المنسق. |
| اسم العملية | الحدث الذي حدث. يمكن أن يكون إما من SetGatewayConfiguration, SetConnectionConfiguration, HostMaintenanceEvent, GatewayTenantPrimaryChanged, MigrateCustomerSubscription, GatewayResourceMove, ValidateGatewayConfiguration. |
| الرسالة | تفاصيل العملية التي تحدث، وتسرد نتائج النجاح / الفشل. |
يوضح المثال أدناه النشاط الذي تم تسجيله عند تطبيق تكوين جديد:
لاحظ أنه سيتم تسجيل تكوين SetGatewayConfiguration في كل مرة يتم فيها تعديل بعض التكوين على كل من بوابة VPN أو بوابة الشبكة المحلية. يمكن أن تساعدنا الإشارة إلى النتائج من جدول GatewayDiagnosticLog مع تلك الموجودة في جدول TunnelDiagnosticLog تحديد ما إذا كان قد تم بدء فشل اتصال نفق في نفس الوقت الذي تم تغيير تكوين أو حدث صيانة. إذا كان الأمر كذلك، فلدينا مؤشر كبير نحو السبب الجذري المحتمل.
سجل تشخيص النفق
يعد جدول TunnelDiagnosticLog مفيدًا جدًا لفحص حالات الاتصال التاريخية للنفق.
هنا لديك نموذج استعلام كمرجع.
AzureDiagnostics
| where Category == "TunnelDiagnosticLog"
| project TimeGenerated, OperationName, instance_s, Resource, ResourceGroup
| sort by TimeGenerated asc
سيعرض لك هذا الاستعلام على TunnelDiagnosticLog أعمدة متعددة.
| الاسم | الوصف |
|---|---|
| وقت الإنشاء | الطابع الزمني لكل حدث، في المنطقة الزمنية بالتوقيت العالمي المنسق. |
| اسم العملية | الحدث الذي حدث. يمكن أن يكون إما TunnelConnected أو TunnelDisconnected. |
| Instance_s | مثيل دور البوابة الذي أدى إلى تشغيل الحدث. يمكن أن يكون إما GatewayTenantWorker_IN_0 أو GatewayTenantWorker_IN_1، وهما اسمان لمثيلي البوابة. |
| المورد | يشير إلى اسم بوابة VPN. |
| ResourceGroup | يشير إلى مجموعة الموارد حيث توجد البوابة. |
مثال على الإخراج:
يعد TunnelDiagnosticLog مفيدًا جدًا لاستكشاف الأحداث السابقة حول قطع اتصال VPN غير المتوقع وإصلاحه. توفر طبيعتها خفيفة الوزن إمكانية تحليل نطاقات زمنية كبيرة على مدار عدة أيام بجهد قليل. فقط بعد تحديد الطابع الزمني لقطع الاتصال، يمكنك التبديل إلى التحليل الأكثر تفصيلًا لجدول IKEdiagnosticLog للتعمق في منطق قطع الاتصال إذا كانت مرتبطة ب IPsec.
بعض تلميحات استكشاف الأخطاء وإصلاحها:
- إذا رأيت حدث قطع اتصال على مثيل بوابة واحد، متبوعًا بحدث اتصال على مثيل بوابة مختلف في بضع ثوان، فأنت تنظر إلى تجاوز فشل البوابة. عادة ما يكون هذا سلوكًا متوقعًا بسبب الصيانة على مثيل بوابة. لمعرفة المزيد حول هذا السلوك، راجع حول تكرار بوابة Azure VPN.
- سيتم ملاحظة نفس السلوك إذا قمت عمدًا بتشغيل إعادة تعيين بوابة على جانب Azure - مما يؤدي إلى إعادة تشغيل مثيل البوابة النشط. لمعرفة المزيد حول هذا السلوك، راجع إعادة تعيين بوابة VPN.
- إذا رأيت حدث قطع اتصال على مثيل بوابة واحد، متبوعًا بحدث اتصال على نفس مثيل البوابة في بضع ثوان، فقد تكون بصدد النظر إلى خلل في الشبكة يتسبب في انتهاء مهلة DPD، أو انقطاع اتصال تم إرساله عن طريق الخطأ بواسطة الجهاز المحلي.
سجل تشخيص المسار
يتتبع جدول RouteDiagnosticLog نشاط المسارات المعدلة بشكل ثابت أو المسارات المستلمة عبر BGP.
هنا لديك نموذج استعلام كمرجع.
AzureDiagnostics
| where Category == "RouteDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
سيعرض لك هذا الاستعلام على RouteDiagnosticLog أعمدة متعددة.
| الاسم | الوصف |
|---|---|
| وقت الإنشاء | الطابع الزمني لكل حدث، في المنطقة الزمنية بالتوقيت العالمي المنسق. |
| اسم العملية | الحدث الذي حدث. يمكن أن يكون إما من StaticRouteUpdate, BgpRouteUpdate, BgpConnectedEvent, BgpDisconnectedEvent. |
| الرسالة | تفاصيل العملية التي تحدث. |
سيعرض الإخراج معلومات مفيدة حول أقران BGP المتصلين / غير المتصلين والطرق المتبادلة.
مثال:
سجل تشخيص IKE
يوفر جدول IKEDiagnosticLog تسجيل تصحيح مطول لـ IKE/IPsec. هذا مفيد جدًا للمراجعة عند استكشاف أخطاء قطع الاتصال وإصلاحها، أو الفشل في توصيل سيناريوهات VPN.
هنا لديك نموذج استعلام كمرجع.
AzureDiagnostics
| where Category == "IKEDiagnosticLog"
| extend Message1=Message
| parse Message with * "Remote " RemoteIP ":" * "500: Local " LocalIP ":" * "500: " Message2
| extend Event = iif(Message has "SESSION_ID",Message2,Message1)
| project TimeGenerated, RemoteIP, LocalIP, Event, Level
| sort by TimeGenerated asc
سيعرض لك هذا الاستعلام على IKEDiagnosticLog أعمدة متعددة.
| الاسم | الوصف |
|---|---|
| وقت الإنشاء | الطابع الزمني لكل حدث، في المنطقة الزمنية بالتوقيت العالمي المنسق. |
| RemoteIP | عنوان IP لجهاز VPN المحلي. في سيناريوهات العالم الحقيقي، من المفيد أن يتم التصفية حسب عنوان IP للجهاز المحلي ذي الصلة يجب أن يكون هناك أكثر من واحد. |
| LocalIP | عنوان IP الخاص ببوابة VPN التي نقوم باستكشاف الأخطاء وإصلاحها. في سيناريوهات العالم الحقيقي، من المفيد التصفية حسب عنوان IP لبوابة VPN ذات الصلة، ويجب أن يكون هناك أكثر من واحد في اشتراكك. |
| الحدث | يحتوي على رسالة تشخيصية مفيدة لاستكشاف الأخطاء وإصلاحها. وعادة ما تبدأ بكلمة رئيسية وتشير إلى الإجراءات التي تقوم بها بوابة Azure: يشير [SEND] إلى حدث ناتج عن حزمة IPSec مرسلة بواسطة بوابة Azure. يشير [RECEIVED] إلى حدث نتيجة لحزمة تم استلامها من جهاز محلي. يشير [LOCAL] إلى إجراء تم اتخاذه محليًا بواسطة بوابة Azure. |
لاحظ عدم وجود أعمدة RemoteIP و LocalIP و Event في قائمة الأعمدة الأصلية في قاعدة بيانات AzureDiagnostics، ولكن تمت إضافتها إلى الاستعلام عن طريق تحليل ناتج عمود "Message" لتبسيط تحليله.
نصائح استكشاف الأخطاء وإصلاحها:
لكي تتمكن من تحديد بداية التفاوض بشأن IPSec، ستحتاج إلى العثور على الرسالة SA_INIT الأولى. ويمكن إرسال هذه الرسالة على جانبي النفق. كل من يرسل الحزمة الأولى يسمى "initiator" في مصطلحات IPsec، في حين أن الجانب الآخر يصبح "responder". رسالة SA_INIT الأولى هي دائمًا الرسالة التي يكون فيها rCookie = 0.
إذا فشل نفق IPsec في الإنشاء، فسيستمر Azure في إعادة المحاولة كل بضع ثوان. لهذا السبب، يعد استكشاف مشكلات "VPN down" وإصلاحها أمرًا مريحًا للغاية على IKEdiagnosticLog لأنه لا يتعين عليك الانتظار لوقت محدد لإعادة إظهار المشكلة. أيضًا، سيكون الفشل دائمًا هو نفسه من الناحية النظرية في كل مرة نحاول فيها، لذا يمكنك فقط تكبير "sample" واحدة تفشل في التفاوض في أي وقت.
يحتوي SA_INIT على معلمات IPSec التي يريد النظير استخدامها لمفاوضات IPsec هذه. الوثيقة الرسمية
تسرد معلمات IPsec/IKE الافتراضية معلمات IPsec التي تدعمها بوابة Azure بالإعدادات الافتراضية.
سجل تشخيص P2S
آخر جدول متاح لتشخيص VPN هو P2SDiagnosticLog. يتتبع هذا الجدول نشاط الإشارة إلى الموقع (بروتوكولات IKEv2 وOpenVPN فقط).
هنا لديك نموذج استعلام كمرجع.
AzureDiagnostics
| where Category == "P2SDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
سيعرض لك هذا الاستعلام على P2SDiagnosticLog أعمدة متعددة.
| الاسم | الوصف |
|---|---|
| وقت الإنشاء | الطابع الزمني لكل حدث، في المنطقة الزمنية بالتوقيت العالمي المنسق. |
| اسم العملية | الحدث الذي حدث. سيكون P2SLogEvent. |
| الرسالة | تفاصيل العملية التي تحدث. |
سيعرض الإخراج جميع إعدادات الإشارة إلى الموقع التي طبقتها البوابة، بالإضافة إلى سياسات IPsec المعمول بها.
أيضًا، عندما يتصل العميل عبر IKEv2 أو OpenVPN Point to Site، سيقوم الجدول بتسجيل نشاط الحزمة ومحادثات EAP / RADIUS والنتائج الناجحة / الفاشلة من قبل المستخدم.
الخطوات التالية
لتكوين التنبيهات على سجلات موارد النفق، راجع إعداد التنبيهات على سجلات موارد بوابة VPN.