تمرين - إنشاء بوابة VPN من موقع إلى موقع باستخدام أوامر Azure CLI

مكتمل

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

من الناحية المثالية، يجب إنشاء عناوين IP العامة وبوابات الشبكة الظاهرية قبل بوابات الشبكة الداخلية. في هذا التمرين، ستتعلم كيفية تحديث بوابات الشبكة المحلية. يمكنك استخدام الأوامر نفسها لتحديث أي عناصر تكوين في بوابات الشبكة الداخلية، مثل مساحات عناوين الشبكة البعيدة.

إشعار

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

إشعار

خلال هذا التمرين، استبدل myResourceGroupName في الأمثلة باسم مجموعة موارد موجودة، أو اسم مجموعة الموارد التي قمت بإنشائها لهذا التمرين.

إنشاء بوابة VPN من جانب Azure

أولا، قم بإنشاء بوابة VPN لنهاية Azure للاتصال. قد يستغرق إنشاء بوابة شبكة ظاهرية ما يصل إلى 45 دقيقة. لتوفير الوقت، يمكنك استخدام أوامر Azure CLI مع المعلمة --no-wait . تتيح لك هذه المعلمة إنشاء كلا بوابتي الشبكة الظاهرية في وقتٍ واحدٍ لتقليل الوقت الإجمالي المطلوب لإنشاء هذه الموارد.

  1. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء PIP-VNG-Azure-VNet-1 عنوان IP العام:

    az network public-ip create \
        --resource-group "myResourceGroupName" \
        --name PIP-VNG-Azure-VNet-1 \
        --allocation-method Static
    
  2. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء شبكة ظاهرية VNG-Azure-VNet-1:

    az network vnet create \
        --resource-group "myResourceGroupName" \
        --name VNG-Azure-VNet-1 \
        --subnet-name GatewaySubnet 
    
  3. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء بوابة الشبكة الظاهرية VNG-Azure-VNet-1:

    az network vnet-gateway create \
        --resource-group "myResourceGroupName" \
        --name VNG-Azure-VNet-1 \
        --public-ip-addresses PIP-VNG-Azure-VNet-1 \
        --vnet VNG-Azure-VNet-1 \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    

إنشاء بوابة VPN الداخلية

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

  1. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء عنوان IP العام PIP-VNG-HQ-Network:

    az network public-ip create \
        --resource-group "myResourceGroupName" \
        --name PIP-VNG-HQ-Network \
        --allocation-method Static
    
  2. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء شبكة ظاهرية VNG-HQ-Network:

    az network vnet create \
        --resource-group "myResourceGroupName" \
        --name VNG-HQ-Network \
        --subnet-name GatewaySubnet 
    
  3. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء بوابة الشبكة الظاهرية VNG-HQ-Network:

    az network vnet-gateway create \
        --resource-group "myResourceGroupName" \
        --name VNG-HQ-Network \
        --public-ip-addresses PIP-VNG-HQ-Network \
        --vnet VNG-HQ-Network \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    
  4. يستغرق إنشاء البوابة ما يقرب من 30 دقيقة حتى يكتمل. لمراقبة تقدم إنشاء البوابة، شغَّل الأمر التالي. نحن نستخدم الأمر Linux watch لتشغيل الأمر az network vnet-gateway list بشكل دوري، والذي يمكنك من مراقبة التقدم:

    watch -d -n 5 az network vnet-gateway list \
        --resource-group "myResourceGroupName" \
        --output table
    
  5. بعد أن تظهر كل بوابة VPN ProvisioningState حالة Succeeded، فأنت على استعداد للمتابعة. اضغط على Ctrl + C لإيقاف الأمر بعد إنشاء البوابة.

    ActiveActive    EnableBgp    EnablePrivateIpAddress   GatewayType    Location        Name              ProvisioningState    ResourceGroup                         ResourceGuid                          VpnType
    --------------  -----------  ------------------------ -------------  --------------  ----------------  -------------------  -----------------------------  ------------------------------------  ----------
    False           False        False                    Vpn            southcentralus  VNG-Azure-VNet-1  Succeeded            "myResourceGroupName"  48dc714e-a700-42ad-810f-a8163ee8e001  RouteBased
    False           False        False                    Vpn            southcentralus  VNG-HQ-Network    Succeeded            "myResourceGroupName"  49b3041d-e878-40d9-a135-58e0ecb7e48b  RouteBased
    

حدِّث مراجع IP الخاصة ببوابة الشبكة الداخلية

هام

يجب نشر بوابات الشبكة الظاهرية الخاصة بك بنجاح قبل أن تبدأ التمرين التالي. قد تستغرق البوابة 30 دقيقة أو أكثر لإكمالها. إذا لم تظهر ProvisioningState "Succeeded" حتى الآن، فأنت بحاجة إلى الانتظار.

في هذا القسم، يمكنك تحديث مراجع عنوان IP للبوابة البعيدة التي تم تعريفها في بوابات الشبكة المحلية. لا يمكنك تحديث بوابات الشبكة الداخلية حتى تنشئ بوابات VPN وتعيين عنوان IPv4 لها وربطها بها.

  1. تشغيل أمر Azure CLI التالي للتحقق مما إذا كان جرى إنشاء كلا بوابتي الشبكة الظاهرية. تظهر الحالة الأولية التحديث. تريد أن ترى Succeeded على كل من VNG-Azure-VNet-1 وVNG-HQ-Network.

    az network vnet-gateway list \
        --resource-group "myResourceGroupName" \
        --output table
    
    Name              Location    GatewayType    VpnType     VpnGatewayGeneration    EnableBgp    EnablePrivateIpAddress    Active    ResourceGuid                        ProvisioningState    ResourceGroup
    ----------------  ----------  -------------  ----------  ----------------------  -----------  ------------------------  --------  ------------------------------------  -------------------  ------------------------------------------
    VNG-Azure-VNet-1  westus      Vpn            RouteBased  Generation1         False        False                     False     9a2e60e6-da57-4274-99fd-e1f8b2c0326d  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    VNG-HQ-Network    westus      Vpn            RouteBased  Generation1         False        False                     False     c36430ed-e6c0-4230-ae40-cf937a102bcd  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    

    تذكر أن تنتظر حتى إرجاع قوائم البوابات بنجاح. تذكر أيضًا أن موارد بوابة الشبكة الداخلية تحدد إعدادات البوابة البعيدة والشبكة التي سُميت باسمها. على سبيل المثال، تحتوي بوابة الشبكة الداخلية LNG-Azure-VNet-1 على معلومات مثل عنوان IP وشبكات Azure-VNet-1.

  2. قم بتشغيل الأمر التالي في Cloud Shell لاسترداد عنوان IPv4 المعين PIP-VNG-Azure-VNet-1 وتخزينه في متغير:

    PIPVNGAZUREVNET1=$(az network public-ip show \
        --resource-group "myResourceGroupName" \
        --name PIP-VNG-Azure-VNet-1 \
        --query "[ipAddress]" \
        --output tsv)
    
  3. قم بتشغيل الأمر التالي في Cloud Shell لتحديث بوابة الشبكة المحلية LNG-Azure-VNet-1 بحيث يشير إلى عنوان IP العام المرفق ببوابة الشبكة الظاهرية VNG-Azure-VNet-1:

    az network local-gateway update \
        --resource-group "myResourceGroupName" \
        --name LNG-Azure-VNet-1 \
        --gateway-ip-address $PIPVNGAZUREVNET1
    
  4. قم بتشغيل الأمر التالي في Cloud Shell لاسترداد عنوان IPv4 المعين PIP-VNG-HQ-Network وتخزينه في متغير:

    PIPVNGHQNETWORK=$(az network public-ip show \
        --resource-group "myResourceGroupName" \
        --name PIP-VNG-HQ-Network \
        --query "[ipAddress]" \
        --output tsv)
    
  5. قم بتشغيل الأمر التالي في Cloud Shell لتحديث بوابة الشبكة المحلية LNG-HQ-Network بحيث تشير إلى عنوان IP العام المرفق ببوابة الشبكة الظاهرية VNG-HQ-Network:

    az network local-gateway update \
        --resource-group "myResourceGroupName" \
        --name LNG-HQ-Network \
        --gateway-ip-address $PIPVNGHQNETWORK
    

إنشاء الاتصالات

هنا، يمكنك إكمال التكوين عن طريق إنشاء الاتصالات من كل بوابة VPN إلى بوابة الشبكة المحلية التي تحتوي على مراجع عنوان IP العام للشبكة البعيدة لتلك البوابة.

  1. إنشاء المفتاح المشترك لاستخدامه للاتصالات. في الأمر التالي، استبدل <shared key> بسلسلة نصية لاستخدامها لمفتاح IPSec المشترك مسبقا. المفتاح المشترك مسبقا هو سلسلة من أحرف ASCII القابلة للطباعة لا تزيد عن 128 حرفا. لا يمكن أن تحتوي على أحرف خاصة، مثل علامات الواصلة وعلامات التِلدة. يمكنك استخدام هذا المفتاح المشترك مسبقا على كلا الاتصالين.

    إشعار

    في هذا المثال، ستعمل أي مجموعة من الأرقام لمفتاح مشترك: SHAREDKEY = 123456789. في بيئات الإنتاج، نوصي باستخدام سلسلة من حروف الشفرة القياسية الأمريكية لتبادل المعلومات (ASCII) القابلة للطباعة والتي لا يزيد طولها عن 128 حرفاً بدون أحرف خاصة مثل علامات الواصلة والتلدة.

    SHAREDKEY=<shared key>
    
  2. تذكر أن LNG-HQ-Network تحتوي على مرجع لعنوان IP على جهاز VPN الداخلي الذي جرى محاكاته. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء اتصال من VNG-Azure-VNet-1 إلى LNG-HQ-Network:

    az network vpn-connection create \
        --resource-group "myResourceGroupName" \
        --name Azure-VNet-1-To-HQ-Network \
        --vnet-gateway1 VNG-Azure-VNet-1 \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-HQ-Network
    
  3. تذكر أن LNG-Azure-VNet-1 يحتوي على مرجع لعنوان IP العام المرتبطة ببوابة VPN VNG-Azure-VNet-1. عادةً ما يُنشأ هذا الاتصال من جهازك الداخلي. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء اتصال من VNG-HQ-Network إلى LNG-Azure-VNet-1:

    az network vpn-connection create \
        --resource-group "myResourceGroupName" \
        --name HQ-Network-To-Azure-VNet-1  \
        --vnet-gateway1 VNG-HQ-Network \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-Azure-VNet-1
    

لقد انتهيت الآن من تكوين الاتصال من موقع إلى موقع. قد يستغرق الأمر بضع دقائق، ولكن يجب أن تتصل الأنفاق تلقائيا وتصبح نشطة.

خطوات التحقق

لنؤكد أن أنفاق VPN متصلة.

  1. قم بتشغيل الأمر التالي لتأكيد اتصال Azure-VNet-1-To-HQ-Network:

    az network vpn-connection show \
        --resource-group "myResourceGroupName" \
        --name Azure-VNet-1-To-HQ-Network  \
        --output table \
        --query '{Name:name,ConnectionStatus:connectionStatus}'
    

    يجب أن تشاهد الإخراج كما يلي، مما يشير إلى نجاح الاتصال. ConnectionStatus إذا كان يظهر ك Connecting أو Unknown، فانتظر دقيقة أو دقيقتين، وأعد تشغيل الأمر. يمكن أن تستغرق الاتصالات بضع دقائق للاتصال الكامل.

    Name                        ConnectionStatus
    --------------------------  ------------------
    Azure-VNet-1-To-HQ-Network  Connected
    

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

رسم تخطيطي للموارد المنشورة أثناء تمرين الوحدة 4.