تكوين VPN على جهاز Azure Stack Edge Mini R عبر Azure PowerShell

يوفر خيار VPN طبقة ثانية من التشفير للبيانات المتحركة عبر TLS من جهاز Azure Stack Edge Mini R أو Azure Stack Edge Pro R إلى Azure. يمكنك تكوين VPN على جهاز Azure Stack Edge Mini R الخاص بك عبر مدخل Azure أو عبر Azure PowerShell.

توضح هذه المقالة الخطوات المطلوبة لتكوين VPN من نقطة إلى موقع (P2S) على جهاز Azure Stack Edge Mini R باستخدام برنامج نصي Azure PowerShell لإنشاء التكوين في السحابة. يتم التكوين على جهاز Azure Stack Edge عبر واجهة المستخدم المحلية.

حول إعداد VPN

يتيح لك اتصال بوابة P2S VPN إنشاء اتصال آمن بشبكتك الافتراضية من كمبيوتر عميل فردي أو جهاز Azure Stack Edge Mini R الخاص بك. بدء تشغيل اتصال P2S من الكمبيوتر العميل أو الجهاز. يستخدم اتصال P2S في هذه الحالة IKEv2 VPN ، وهو حل IPsec VPN قائم على المعايير.

يتضمن تدفق العمل النموذجي الخطوات التالية:

  1. تكوين المتطلبات الأساسية.
  2. قم بإعداد الموارد الضرورية على Azure.
    1. إنشاء وتكوين شبكة ظاهرية وشبكات فرعية مطلوبة.
    2. إنشاء بوابة Azure VPN وتكوينها (بوابة شبكة افتراضية).
    3. قم بإعداد جدار حماية Azure وإضافة قواعد الشبكة والتطبيق.
    4. إنشاء جداول توجيه Azure وإضافة مسارات.
    5. تمكين نقطة إلى موقع في بوابة VPN.
      1. إضافة مجموعة عنوان العميل.
      2. تكوين نوع النفق.
      3. تكوين نوع المصادقة.
      4. إنشاء شهادة.
      5. شهادة Upload.
    6. تنزيل دليل الهاتف.
  3. قم بإعداد VPN في واجهة مستخدم الويب المحلية للجهاز.
    1. تقديم دليل الهاتف.
    2. توفير ملف علامات الخدمة (json).

يتم توفير الخطوات التفصيلية في الأقسام التالية.

تكوين المتطلبات الأساسية

  • يجب أن يكون لديك حق الوصول إلى جهاز Azure Stack Edge Mini R المثبت وفقا للإرشادات الواردة في تثبيت جهاز Azure Stack Edge Mini R. سيقوم هذا الجهاز بإنشاء اتصال P2S مع Azure.

  • يجب أن يكون لديك حق الوصول إلى اشتراك Azure صالح تم تمكينه لخدمة Azure Stack Edge في Azure. استخدم هذا الاشتراك لإنشاء مورد مطابق في Azure لإدارة جهاز Azure Stack Edge Mini R.

  • يمكنك الوصول إلى عميل Windows ستستخدمه للوصول إلى جهاز Azure Stack Edge Mini R الخاص بك. ستستخدم هذا العميل لإنشاء التكوين برمجيا في السحابة.

    1. لتثبيت الإصدار المطلوب من PowerShell على عميل Windows، قم بتشغيل الأوامر التالية:

      Install-Module -Name Az -AllowClobber -Scope CurrentUser 
      Import-Module Az.Accounts
      
    2. للاتصال بحساب Azure واشتراكك، قم بتشغيل الأوامر التالية:

      Connect-AzAccount 
      Set-AzContext -Subscription "<Your subscription name>"
      

      قم بتوفير اسم اشتراك Azure الذي تستخدمه مع جهاز Azure Stack Edge Mini R لتكوين VPN.

    3. قم بتنزيل البرنامج النصي المطلوب لإنشاء تكوين في السحابة. سيكون البرنامج النصي:

      • إنشاء شبكة Azure الظاهرية والشبكات الفرعية التالية: GatewaySubnetوAzureFirewallSubnet.
      • إنشاء بوابة Azure VPN وتكوينها.
      • إنشاء بوابة شبكة Azure محلية وتكوينها.
      • قم بإنشاء اتصال Azure VPN وتكوينه بين بوابة Azure VPN وبوابة الشبكة المحلية.
      • أنشئ جدار حماية Azure وأضف قواعد الشبكة وقواعد التطبيق.
      • قم بإنشاء جدول توجيه Azure وإضافة مسارات إليه.
    4. قم بإنشاء مجموعة الموارد في مدخل Azure الذي تريد إنشاء موارد Azure ضمنه. انتقل إلى قائمة الخدمات في مدخل Azure، وحدد مجموعة الموارد ، ثم حدد + إضافة. قم بتوفير معلومات الاشتراك واسم مجموعة الموارد الخاصة بك، ثم حدد إنشاء. إذا انتقلت إلى مجموعة الموارد هذه ، فيجب ألا تحتوي على أي موارد تحتها في الوقت الحالي.

      Azure resource group

    5. ستحتاج إلى الحصول على شهادة Base 64 مشفرة بالتنسيق .cer لجهاز Azure Stack Edge Mini R الخاص بك. يجب تحميل هذه الشهادة إلى جهاز Azure Stack Edge الخاص بك كما هو الحال pfx مع مفتاح خاص. يجب أيضا تثبيت هذه الشهادة في الجذر الموثوق به للمخزن على العميل الذي يحاول إنشاء اتصال P2S.

استخدم البرنامج النصي

أولا يمكنك تعديل الملف لإدخال المعلمات parameters-p2s.json الخاصة بك. بعد ذلك، يمكنك تشغيل البرنامج النصي باستخدام ملف json المعدل.

تتم مناقشة كل خطوة من هذه الخطوات في الأقسام التالية.

تنزيل ملف علامات الخدمة

قد يكون لديك بالفعل ملف ServiceTags.json في المجلد الذي قمت بتنزيل البرنامج النصي منه. إذا لم يكن الأمر كذلك ، يمكنك تنزيل ملف علامات الخدمة.

قم بتنزيل علامات الخدمة من Azure إلى عميلك المحلي واحفظها كملف json في نفس المجلد الذي يحتوي على البرامج النصية: https://www.microsoft.com/download/details.aspx?id=56519.

يتم تحميل هذا الملف في واجهة مستخدم الويب المحلية في خطوة لاحقة.

تعديل ملف المعلمات

ستكون الخطوة الأولى هي parameters-p2s.json تعديل الملف وحفظ التغييرات.

بالنسبة لموارد Azure التي تقوم بإنشائها، ستوفر الأسماء التالية:

اسم المعلمة الوصف
virtualNetworks_vnet_name Azure Virtual Network name
azureFirewalls_firewall_name Azure Firewall name
routeTables_routetable_name اسم جدول مسار Azure
publicIPAddresses_VNGW_public_ip_name اسم عنوان IP العام لبوابة الشبكة الظاهرية
virtualNetworkGateways_VNGW_name Azure VPN gateway (بوابة الشبكة الظاهرية) الاسم
publicIPAddresses_firewall_public_ip_name اسم عنوان IP العام لجدار حماية Azure الخاص بك
الموقع هذه هي المنطقة التي تريد إنشاء شبكتك الافتراضية فيها. حدد نفس المنطقة المقترنة بجهازك.
RouteTables_routetable_onprem_name هذا هو اسم جدول المسارات الإضافي لمساعدة حزم جدار الحماية على توجيه الحزم مرة أخرى إلى جهاز Azure Stack Edge. يقوم البرنامج النصي بإنشاء مسارين إضافيين ويقترن افتراضيا و FirewallSubnet مع جدول المسارات هذا.

قم بتوفير عناوين IP التالية ومساحات العناوين لموارد Azure التي تم إنشاؤها بما في ذلك الشبكة الظاهرية والشبكات الفرعية المرتبطة بها (افتراضيوجدار حمايةوGatewaySubnet).

اسم المعلمة الوصف
VnetIPv4AddressSpace هذه هي مساحة العنوان المرتبطة بشبكتك الافتراضية. قم بتوفير نطاق Vnet IP كنطاق IP خاص (https://en.wikipedia.org/wiki/Private_network#Private_IPv4_addresses).
DefaultSubnetIPv4AddressSpace هذه هي مساحة العنوان المقترنة Default بالشبكة الفرعية لشبكتك الظاهرية.
جدار الحمايةSubnetIPv4AddressSpace هذه هي مساحة العنوان المقترنة Firewall بالشبكة الفرعية لشبكتك الظاهرية.
GatewaySubnetIPv4AddressSpace هذه هي مساحة العنوان المرتبطة بشبكتك الظاهرية GatewaySubnet .
GatewaySubnetIPv4bgpPeeringAddress هذا هو عنوان IP المحجوز لاتصال BGP ويستند إلى مساحة العنوان المرتبطة بالشبكة الظاهرية GatewaySubnet الخاصة بك.
العميلالعنوان تجمع يتم استخدام عنوان IP هذا لتجمع العناوين في تكوين P2S في مدخل Azure.
PublicCertData يتم استخدام بيانات الشهادة العامة بواسطة بوابة VPN لمصادقة عملاء P2S الذين يتصلون بها. للحصول على بيانات الشهادة، قم بتثبيت الشهادة الجذر. تأكد من ترميز الشهادة Base-64 بملحق .cer. افتح هذه الشهادة وانسخ النص الموجود في الشهادة بين ==START CERTIFICATE== و == END CERTIFICATE== في سطر واحد مستمر.

تشغيل البرنامج النصي

اتبع هذه الخطوات لاستخدام البرنامج النصي المعدل parameters-p2s.json وتشغيله لإنشاء موارد Azure.

  1. قم بتشغيل PowerShell. قم بالتبديل إلى الدليل حيث يوجد البرنامج النصي.

  2. قم بتشغيل البرنامج النصي.

    .\AzDeployVpn.ps1 -Location <Location> -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath "<Service tag json file>" -ResourceGroupName "<Resource group name>" -AzureDeploymentName "<Deployment name>" -NetworkRuleCollectionName "<Name for collection of network rules>" -Priority 115 -AppRuleCollectionName "<Name for collection of app rules>"

    ملاحظة

    في هذا الإصدار، يعمل البرنامج النصي في موقع شرق الولايات المتحدة فقط.

    ستحتاج إلى إدخال المعلومات التالية عند تشغيل البرنامج النصي:

    المعلمة الوصف
    ‏‏الموقع هذه هي المنطقة التي يجب إنشاء موارد Azure فيها.
    AzureAppRuleFilePath هذا هو مسار الملف ل appRule.json.
    AzureIPRangesFilePath هذا هو ملف json لعلامة الخدمة الذي قمت بتنزيله في الخطوة السابقة.
    ResourceGroupName هذا هو اسم مجموعة الموارد التي يتم إنشاء كافة موارد Azure ضمنها.
    AzureDeploymentName هذا هو اسم نشر Azure الخاص بك.
    NetworkRuleCollectionName هذا هو اسم مجموعة كافة قواعد الشبكة التي يتم إنشاؤها وإضافتها إلى جدار حماية Azure.
    أولوية هذه هي الأولوية المعينة لكافة قواعد الشبكة والتطبيق التي تم إنشاؤها.
    AppRuleCollectionName هذا هو اسم مجموعة كافة قواعد التطبيق التي تم إنشاؤها وإضافتها إلى جدار حماية Azure الخاص بك.

    يتم عرض عينة الإخراج أدناه.

    PS C:\Offline docs\AzureVpnConfigurationScripts> .\AzDeployVpn.ps1 -Location eastus -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath ".\ServiceTags_Public_20200203.json" -ResourceGroupName "mytmarg3" -AzureDeploymentName "tmap2stestdeploy1" -NetworkRuleCollectionName "testnrc1" -Priority 115 -AppRuleCollectionName "testarc2"
        validating vpn deployment parameters
        Starting vpn deployment
        C:\Offline docs\AzureVpnConfigurationScripts\parameters-p2s.json
        C:\Offline docs\AzureVpnConfigurationScripts\template-p2s.json
        vpn deployment: tmap2stestdeploy1 started and status: Running
        Waiting for vpn deployment completion....
        ==== CUT ==================== CUT ==============
        Adding route 191.236.0.0/18 for AzureCloud.eastus
        Adding route 191.237.0.0/17 for AzureCloud.eastus
        Adding route 191.238.0.0/18 for AzureCloud.eastus
        Total Routes:294, Existing Routes: 74, New Routes Added: 220
        Additional routes getting added
    

    هام

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

    بعد اكتمال البرنامج النصي، يتم إنشاء سجل نشر في نفس المجلد حيث يوجد البرنامج النصي.

التحقق من موارد Azure

بعد تشغيل البرنامج النصي بنجاح، تحقق من إنشاء كافة الموارد في Azure. انتقل إلى مجموعة الموارد التي أنشأتها. يجب أن تشاهد الموارد التالية:

Azure resources

قم بتنزيل دليل الهاتف لملف تعريف VPN

في هذه الخطوة ، ستقوم بتنزيل ملف تعريف VPN لجهازك.

  1. في مدخل Azure، انتقل إلى مجموعة الموارد ثم حدد بوابة الشبكة الظاهرية التي قمت بإنشائها في الخطوة السابقة.

    Azure virtual network gateway

  2. انتقل إلى تكوين الإعدادات > نقطة إلى موقع. حدد تنزيل عميل VPN.

    Enable P2S configuration 1

  3. احفظ ملف التعريف المضغوط واستخرج على عميل Windows الخاص بك.

    Enable P2S configuration 2

  4. انتقل إلى المجلد WindowsAmd64 ثم قم باستخراج .exe: VpnClientSetupAmd64.exe.

    Enable P2S configuration 3

  5. إنشاء مسار مؤقت. على سبيل المثال:

    C:\NewTemp\vnet\tmp

  6. قم بتشغيل PowerShell وانتقل إلى الدليل حيث .exe يوجد الموقع. لتنفيذ ، .exeاكتب:

    .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"

  7. سيحتوي المسار المؤقت على ملفات جديدة. هنا يوجد مخرجات العينة:

    
    PS C:\windows\system32> cd "C:\Users\Ase\Downloads\vngw5\WindowsAmd64"
    PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"
    PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> cd "C:\NewTemp\vnet"
    PS C:\NewTemp\vnet> ls .\tmp
    
        Directory: C:\NewTemp\vnet\tmp
    
    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    -a----         2/6/2020   6:18 PM            947 8c670077-470b-421a-8dd8-8cedb4f2f08a.cer
    -a----         2/6/2020   6:18 PM            155 8c670077-470b-421a-8dd8-8cedb4f2f08a.cmp
    -a----         2/6/2020   6:18 PM           3564 8c670077-470b-421a-8dd8-8cedb4f2f08a.cms
    -a----         2/6/2020   6:18 PM          11535 8c670077-470b-421a-8dd8-8cedb4f2f08a.inf
    -a----         2/6/2020   6:18 PM           2285 8c670077-470b-421a-8dd8-8cedb4f2f08a.pbk
    -a----         2/6/2020   6:18 PM           5430 azurebox16.ico
    -a----         2/6/2020   6:18 PM           4286 azurebox32.ico
    -a----         2/6/2020   6:18 PM         138934 azurevpnbanner.bmp
    -a----         2/6/2020   6:18 PM          46064 cmroute.dll
    -a----         2/6/2020   6:18 PM            196 routes.txt
    
    PS C:\NewTemp\vnet>
    
  8. ملف . pbk هو دليل الهاتف لملف تعريف VPN. ستستخدم هذا في واجهة المستخدم المحلية.

تكوين VPN على الجهاز

اتبع هذه الخطوات على واجهة المستخدم المحلية لجهاز Azure Stack Edge الخاص بك.

  1. في واجهة المستخدم المحلية، انتقل إلى صفحة VPN . ضمن حالة VPN، حدد تكوين.

    Configure VPN 1

  2. في جزء تكوين VPN:

    1. في ملف دفتر الهاتف Upload، أشر إلى ملف .pbk الذي قمت بإنشائه في الخطوة السابقة.
    2. في ملف تكوين قائمة IP العام Upload، قم بتوفير ملف JSON لنطاق IP لمركز بيانات Azure كإدخال. لقد قمت بتنزيل هذا الملف في خطوة سابقة من: https://www.microsoft.com/download/details.aspx?id=56519.
    3. حدد Eastus كمنطقة وحدد تطبيق.

    Configure VPN 2

  3. في القسم نطاقات عناوين IP التي سيتم الوصول إليها باستخدام VPN فقط ، أدخل نطاق Vnet IPv4 الذي اخترته لشبكة Azure الظاهرية.

    Configure VPN 3

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

  1. في مدخل Azure، انتقل إلى بوابة VPN.
  2. انتقل إلى تكوين الإعدادات > نقطة إلى موقع. ضمن عناوين IP المخصصة، يجب أن يظهر عنوان IP لجهاز Azure Stack Edge.

التحقق من صحة نقل البيانات من خلال VPN

للتأكد من أن VPN يعمل، انسخ البيانات إلى مشاركة SMB. اتبع الخطوات الواردة في إضافة مشاركة على جهاز Azure Stack Edge.

  1. انسخ ملفا، على سبيل المثال \data\pictures\waterfall.jpg إلى مشاركة SMB التي قمت بتثبيتها على نظام العميل.

  2. للتحقق من أن البيانات تمر عبر VPN ، أثناء نسخ البيانات:

    1. انتقل إلى بوابة VPN في مدخل Azure.

    2. انتقل إلى مقاييس المراقبة>.

    3. في الجزء الأيسر، اختر النطاق كبوابة VPN الخاصة بك، والمقياس كعرض النطاق الترددي P2S للبوابة، والتجميع كمتوسط.

    4. أثناء نسخ البيانات ، سترى زيادة في استخدام النطاق الترددي وعندما تكتمل نسخة البيانات ، سينخفض استخدام النطاق الترددي.

      Azure vpn metrics

  3. تحقق من ظهور هذا الملف في حساب التخزين الخاص بك على السحابة.

مشكلات تصحيح الأخطاء

لتصحيح أي مشكلات، استخدم الأوامر التالية:

Get-AzResourceGroupDeployment -DeploymentName $deploymentName -ResourceGroupName $ResourceGroupName

ويرد أدناه عرض لمخرجات العينة:

PS C:\Projects\TZL\VPN\Azure-VpnDeployment> Get-AzResourceGroupDeployment -DeploymentName "tznvpnrg14_deployment" -ResourceGroupName "tznvpnrg14"


DeploymentName          : tznvpnrg14_deployment
ResourceGroupName       : tznvpnrg14
ProvisioningState       : Succeeded
Timestamp               : 1/21/2020 6:23:13 PM
Mode                    : Incremental
TemplateLink            :
Parameters              :
                          Name                                         Type                       Value
                          ===========================================  =========================  ==========
                          virtualNetworks_vnet_name                    String                     tznvpnrg14_vnet
                          azureFirewalls_firewall_name                 String                     tznvpnrg14_firewall
                          routeTables_routetable_name                  String                     tznvpnrg14_routetable
                          publicIPAddresses_VNGW_public_ip_name        String                     tznvpnrg14_vngwpublicip
                          virtualNetworkGateways_VNGW_name             String                     tznvpnrg14_vngw
                          publicIPAddresses_firewall_public_ip_name    String                     tznvpnrg14_fwpip
                          localNetworkGateways_LNGW_name               String                     tznvpnrg14_lngw
                          connections_vngw_lngw_name                   String                     tznvpnrg14_connection
                          location                                     String                     East US
                          vnetIPv4AddressSpace                         String                     172.24.0.0/16
                          defaultSubnetIPv4AddressSpace                String                     172.24.0.0/24
                          firewallSubnetIPv4AddressSpace               String                     172.24.1.0/24
                          gatewaySubnetIPv4AddressSpace                String                     172.24.2.0/24
                          gatewaySubnetIPv4bgpPeeringAddress           String                     172.24.2.254
                          customerNetworkAddressSpace                  String                     10.0.0.0/18
                          customerPublicNetworkAddressSpace            String                     207.68.128.0/24
                          dbeIOTNetworkAddressSpace                    String                     10.139.218.0/24
                          azureVPNsharedKey                            String                     1234567890
                          dbE-Gateway-ipaddress                        String                     207.68.128.113

Outputs                 :
                          Name                     Type                       Value
                          =======================  =========================  ==========
                          virtualNetwork           Object                     {
                            "provisioningState": "Succeeded",
                            "resourceGuid": "dcf673d3-5c73-4764-b077-77125eda1303",
                            "addressSpace": {
                              "addressPrefixes": [
                                "172.24.0.0/16"
                              ]
================= CUT ============================= CUT ===========================
Get-AzResourceGroupDeploymentOperation -ResourceGroupName $ResourceGroupName -DeploymentName $AzureDeploymentName

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

قم بتكوين VPN عبر واجهة المستخدم المحلية على جهاز Azure Stack Edge الخاص بك.