استكشاف أخطاء اتصال شبكة VPN مختلطة وإصلاحها

Azure Virtual Network
Azure VPN Gateway

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

تحقق من أن جهاز بشبكة VPN يعمل بشكل صحيح

التوصيات التالية مفيدة لتحديد ما إذا كان الجهاز المتصل بشبكة VPN المحلية يعمل بشكل صحيح.

تحقق من أي ملفات سجل تم إنشاؤها بواسطة جهاز VPN بحثًا عن أخطاء أو حالات فشل. سيساعدك هذا في تحديد ما إذا كان الجهاز المتصل بشبكة VPN يعمل بشكل صحيح. سيختلف موقع هذه المعلومات وفقًا لجهازك. على سبيل المثال، إذا كنت تستخدم RRAS على خادم Windows 2012، يمكنك استخدام أمر PowerShell التالي لعرض معلومات حدث الخطأ لخدمة RRAS:

Get-EventLog -LogName System -EntryType Error -Source RemoteAccess | Format-List -Property *

توفر خاصية الرسالة لكل إدخال وصفًا للخطأ. فيما يلي بعض الأمثلة الشائعة:

  • عدم التمكن من الاتصال، ربما يكون بسبب عنوان IP غير صحيح محدد لبوابة Azure VPN في تكوين واجهة شبكة RRAS VPN.

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {41, 3, 0, 0}
    Index              : 14231
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: The network connection between your computer and
                            the VPN server could not be established because the remote server is not responding. This could
                            be because one of the network devices (for example, firewalls, NAT, routers, and so on) between your computer
                            and the remote server is not configured to allow VPN connections. Please contact your
                            Administrator or your service provider to determine which device may be causing the problem.
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, The network connection between
                            your computer and the VPN server could not be established because the remote server is not
                            responding. This could be because one of the network devices (for example, firewalls, NAT, routers, and so on)
                            between your computer and the remote server is not configured to allow VPN connections. Please
                            contact your Administrator or your service provider to determine which device may be causing the
                            problem.}
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:26:02 PM
    TimeWritten        : 3/18/2016 1:26:02 PM
    UserName           :
    Site               :
    Container          :
    
  • يتم تحديد المفتاح المشترك الخاطئ في تكوين واجهة شبكة RRAS VPN.

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {233, 53, 0, 0}
    Index              : 14245
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: Internet key exchange (IKE) authentication credentials are unacceptable.
    
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, IKE authentication credentials are
                            unacceptable.
                            }
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:34:22 PM
    TimeWritten        : 3/18/2016 1:34:22 PM
    UserName           :
    Site               :
    Container          :
    

يمكنك أيضًا الحصول على معلومات سجل الأحداث حول محاولات الاتصال عبر خدمة RRAS باستخدام أمر PowerShell التالي:

Get-EventLog -LogName Application -Source RasClient | Format-List -Property *

في حالة فشل الاتصال، سيحتوي السجل هذا على أخطاء تشبه ما يلي:

EventID            : 20227
MachineName        : on-premises-vm
Data               : {}
Index              : 4203
Category           : (0)
CategoryNumber     : 0
EntryType          : Error
Message            : CoId={B4000371-A67F-452F-AA4C-3125AA9CFC78}: The user SYSTEM dialed a connection named
                        AzureGateway that has failed. The error code returned on failure is 809.
Source             : RasClient
ReplacementStrings : {{B4000371-A67F-452F-AA4C-3125AA9CFC78}, SYSTEM, AzureGateway, 809}
InstanceId         : 20227
TimeGenerated      : 3/18/2016 1:29:21 PM
TimeWritten        : 3/18/2016 1:29:21 PM
UserName           :
Site               :
Container          :

تحقق من الاتصال

تحقق من الاتصال والتوجيه عبر بوابة VPN. قد لا يقوم جهاز VPN بتوجيه نسبة استخدام الشبكة بشكل صحيح عبر بوابة Azure VPN Gateway. استخدم أداة مثل PsPing للتحقق من الاتصال والتوجيه عبر بوابة VPN. على سبيل المثال، لاختبار الاتصال من جهاز محلي إلى خادم ويب موجود على VNet، قم بتشغيل الأمر التالي (مع استبدال <<web-server-address>> عنوان خادم الويب):

PsPing -t <<web-server-address>>:80

إذا كان بإمكان الجهاز المحلي توجيه نسبة استخدام الشبكة إلى خادم الويب، فسترى إخراجًا مشابهًا لما يلي:

D:\PSTools> psping -t 10.20.0.5:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.0.5:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.0.5:80 (warmup): 6.21ms
Connecting to 10.20.0.5:80: 3.79ms
Connecting to 10.20.0.5:80: 3.44ms
Connecting to 10.20.0.5:80: 4.81ms

    Sent = 3, Received = 3, Lost = 0 (0% loss),
    Minimum = 3.44ms, Maximum = 4.81ms, Average = 4.01ms

إذا تعذر على الجهاز المحلي الاتصال بالوجهة المحددة، فسوف ترى رسائل مثل هذه:

D:\PSTools>psping -t 10.20.1.6:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.1.6:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.1.6:80 (warmup): This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80:
    Sent = 3, Received = 0, Lost = 3 (100% loss),
    Minimum = 0.00ms, Maximum = 0.00ms, Average = 0.00ms

تحقق من أن جدار الحماية المحلي يسمح لنسبة استخدام الشبكة VPN بالمرور وأن المنافذ الصحيحة مفتوحة.

تحقق من أن جهاز VPN المحلي يستخدم طريقة تشفير متوافقة مع بوابة Azure VPN. بالنسبة للتوجيه المستند إلى النهج، تدعم بوابة Azure VPN خوارزميات التشفير AES256 وAES128 و3DES. البوابات المستندة إلى المسار تدعم AES256 و3DES. للمزيد من المعلومات، راجع حول أجهزة VPN ومعلمات IPsec/IKE لاتصالات عبارة VPN من موقع إلى موقع.

تحقق من وجود مشاكل في بوابة Azure VPN

فيما يلي توصيات مفيدة لتحديد ما إذا كانت هناك مشكلة في بوابة Azure VPN:

افحص سجلات تشخيص بوابة Azure VPN بحثًا عن المشكلات المحتملة. لمزيد من المعلومات، راجع خطوة بخطوة: التقاط سجلات تشخيص بوابة VNet الخاصة بإدارة Azure Resource Manager.

تحقق من تكوين بوابة Azure VPN وجهاز VPN المحلي باستخدام مفتاح المصادقة المشتركة نفسه. يمكنك عرض المفتاح المشترك المخزن بواسطة بوابة Azure VPN باستخدام أمر واجهة Azure CLI التالي:

azure network vpn-connection shared-key show <<resource-group>> <<vpn-connection-name>>

استخدم الأمر المناسب لجهاز VPN المحلي الخاص بك لإظهار المفتاح المشترك الذي تم تكوينه لهذا الجهاز.

تحقق من عدم ارتباط الشبكة الفرعية GatewaySubnet التي تحتفظ ببوابة Azure VPN بمجموعة NSG.

يمكنك عرض تفاصيل الشبكة الفرعية باستخدام أمر Azure CLI الذي يلي:

azure network vnet subnet show -g <<resource-group>> -e <<vnet-name>> -n GatewaySubnet

تأكد من عدم وجود حقل بيانات يسمى معرّف مجموعة أمان الشبكة. يوضح المثال التالي نتائج مثيل GatewaySubnet الذي يحتوي على مجموعة NSG المعينة (بوابة VPN-Gateway-Group). يمكن أن يمنع هذا البوابة من العمل بشكل صحيح إذا كانت هناك أي قواعد محددة لمجموعة NSG هذه.

C:\>azure network vnet subnet show -g profx-prod-rg -e profx-vnet -n GatewaySubnet
    info:    Executing command network vnet subnet show
    + Looking up virtual network "profx-vnet"
    + Looking up the subnet "GatewaySubnet"
    data:    Id                              : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/virtualNetworks/profx-vnet/subnets/GatewaySubnet
    data:    Name                            : GatewaySubnet
    data:    Provisioning state              : Succeeded
    data:    Address prefix                  : 10.20.3.0/27
    data:    Network Security Group id       : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/networkSecurityGroups/VPN-Gateway-Group
    info:    network vnet subnet show command OK

تحقق من تكوين الأجهزة الظاهرية في Azure VNet للسماح بدخول نسبة استخدام الشبكة من خارج VNet. تحقق من أي قواعد لمجموعة NSG مرتبطة بالشبكات الفرعية التي تحتوي على هذه الأجهزة الظاهرية. يمكنك عرض جميع قواعد NSG باستخدام أمر Azure CLI الذي يلي:

azure network nsg show -g <<resource-group>> -n <<nsg-name>>

تحقق من أن بوابة Azure VPN متصلة. يمكنك استخدام أمر Azure PowerShell الذي يلي للتحقق من الحالة الحالية لاتصال Azure VPN. المعلمة <<connection-name>> هي اسم اتصال Azure VPN الذي يربط بوابة الشبكة الظاهرية والبوابة المحلية.

Get-AzureRmVirtualNetworkGatewayConnection -Name <<connection-name>> - ResourceGroupName <<resource-group>>

تُبرز القصاصات البرمجية التالية الإخراج الناتج إذا كانت البوابة متصلة (المثال الأول)، وغير متصلة (المثال الثاني):

PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : Connected
EgressBytesTransferred     : 55254803
IngressBytesTransferred    : 32227221
ProvisioningState          : Succeeded
...
PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection2 -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : NotConnected
EgressBytesTransferred     : 0
IngressBytesTransferred    : 0
ProvisioningState          : Succeeded
...

مشاكل متنوعة

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

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

  • تحقق من أن حجم نسبة استخدام الشبكة ليس قريبًا من حد النطاق الترددي المتاح لبوابة Azure VPN. تعتمد كيفية التحقق من ذلك على تشغيل جهاز VPN محليًا. على سبيل المثال، إذا كنت تستخدم RRAS على خادم Windows 2012، يمكنك استخدام مراقبة الأداء لتعقب حجم البيانات التي يتم تلقيها وإرسالها عبر اتصال VPN. باستخدام عنصر إجمالي RAS، حدد عدّادات البايت المستلمة/ الثانية والبايت المرسلة/ الثانية:

    عدادات الأداء لمراقبة نسبة استخدام شبكة VPN

    يجب مقارنة النتائج بالنطاق الترددي المتوفر لبوابة VPN (من 100 ميجابت في الثانية لوحدة SKU الأساسية إلى 1.25 جيجابت في الثانية لوحدة VpnGw3 SKU):

    مثال على الرسم البياني لأداء شبكة VPN

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

    يمكنك استخدام Azure DDoS Protection للمساعدة في الحماية من استنفاد الموارد الضارة. توفر حماية Azure DDoS، جنبا إلى جنب مع أفضل ممارسات تصميم التطبيق، ميزات تخفيف DDoS محسنة لتوفير المزيد من الدفاع ضد هجمات DDoS. يجب تمكين Azure DDOS Protection على أي شبكة ظاهرية محيطية.

  • تحقق من استخدام التطبيق لموارد السحابة بكفاءة. تعليمة تطبيق الأداة البرمجية التي تعمل على كل جهاز ظاهري لتحديد ما إذا كانت التطبيقات تستخدم الموارد على أفضل وجه. يمكن استخدام أدوات مثل Application Insights.

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

وثائق المنتج:

وحدات Microsoft Learn النمطية: