تمرين - إنشاء بوابة VPN من موقع إلى موقع باستخدام أوامر Azure CLI
أنت الآن مستعد لإكمال بوابة VPN من موقع إلى موقع خاصتك عن طريق إنشاء عناوين IP العامة وبوابات الشبكة الظاهرية والاتصالات. تذكر أنك استخدمت عناصر نائبة لمراجع عناوين IP العامة عندما أنشأت بوابات الشبكة الداخلية خاصتك. لذا فإن إحدى مهامك الآن هي تحديث هذه البوابات بعناوين IP العامة الفعلية المخصصة لبوابات الشبكة الافتراضية خاصتك.
من الناحية المثالية، يجب إنشاء عناوين IP العامة وبوابات الشبكة الظاهرية قبل بوابات الشبكة الداخلية. في هذا التمرين، سترى كيفية تحديث بوابات الشبكة الداخلية. يمكنك استخدام الأوامر نفسها لتحديث أي عناصر تكوين في بوابات الشبكة الداخلية، مثل مساحات عناوين الشبكة البعيدة.
إنشاء بوابة VPN من جانب Azure
أولًا، ستنشئ بوابة VPN لنهاية Azure للاتصال. قد يستغرق إنشاء بوابة شبكة ظاهرية ما يصل إلى 45 دقيقة. لتوفير الوقت، ستستخدم أوامر Azure CLI مع --no-wait المعلمة. تتيح لك هذه المعلمة إنشاء كلا بوابتي الشبكة الظاهرية في وقتٍ واحدٍ لتقليل الوقت الإجمالي المطلوب لإنشاء هذه الموارد.
تشغيل الأمر التالي في Cloud Shell لإنشاء عنوان IP العام PIP-VNG-Azure-VNet-1.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --allocation-method Dynamicتشغيل الأمر التالي في Cloud Shell لإنشاء الشبكة الظاهرية VNG-Azure-VNet-1.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-Azure-VNet-1 \ --subnet-name GatewaySubnetتشغيل الأمر التالي في Cloud Shell لإنشاء بوابة الشبكة الظاهرية VNG-Azure-VNet-1.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --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 داخلي.
تشغيل الأمر التالي في Cloud Shell لإنشاء عنوان IP العام PIP-VNG-HQ-Network.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --allocation-method Dynamicتشغيل الأمر التالي في Cloud Shell لإنشاء الشبكة الظاهرية VNG-HQ-Network.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-HQ-Network \ --subnet-name GatewaySubnetتشغيل الأمر التالي في Cloud Shell لإنشاء الشبكة الظاهرية VNG-HQ-Network.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --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يستغرق إنشاء البوابة ما يقرب من 30 دقيقة حتى يكتمل. لمراقبة تقدم إنشاء البوابة، شغَّل الأمر التالي. إننا نستخدم الأمر Linux
watchلتشغيلaz network vnet-gateway listالأمر دوريًا، مما يمكنك من مراقبة التقدم.watch -d -n 5 az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output tableبعد أن تظهر كل بوابة 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 <rgn>[sandbox resource group name]</rgn> 48dc714e-a700-42ad-810f-a8163ee8e001 RouteBased False False False Vpn southcentralus VNG-HQ-Network Succeeded <rgn>[sandbox resource group name]</rgn> 49b3041d-e878-40d9-a135-58e0ecb7e48b RouteBased
حدِّث مراجع IP الخاصة ببوابة الشبكة الداخلية
هام
يجب نشر بوابات الشبكة الظاهرية الخاصة بك بنجاح قبل أن تبدأ التمرين التالي. قد يستغرق إكمال البوابة ما يصل إلى 30 دقيقة. إذا لم تظهر ProvisioningState "Succeeded" حتى الآن، فأنت بحاجة إلى الانتظار.
في هذا القسم، ستحدث مراجع عنوان IP للبوابة البعيدة المحددة في بوابات الشبكة الداخلية. لا يمكنك تحديث بوابات الشبكة الداخلية حتى تنشئ بوابات VPN وتعيين عنوان IPv4 لها وربطها بها.
تشغيل أمر Azure CLI التالي للتحقق مما إذا كان جرى إنشاء كلا بوابتي الشبكة الظاهرية. ستظهر الحالة الأولية Updating. تريد أن ترى Succeeded على كل من VNG-Azure-VNet-1 وVNG-HQ-Network.
az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output tableName 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.
تشغيل الأمر التالي في Cloud Shell لاسترداد عنوان IPv4 المُعين إلى PIP-VNG-Azure-VNet-1 وتخزينه في متغير.
PIPVNGAZUREVNET1=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --query "[ipAddress]" \ --output tsv)تشغيل الأمر التالي في Cloud Shell لتحديث بوابة الشبكة المحلية LNG-Azure-VNet-1 بحيث تشير إلى عنوان IP العام المرفق ببوابة الشبكة الظاهرية VNG-Azure-VNet-1.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-Azure-VNet-1 \ --gateway-ip-address $PIPVNGAZUREVNET1تشغيل الأمر التالي في Cloud Shell لاسترداد عنوان IPv4 المُعين إلى PIP-VNG-HQ-Network وتخزينه في متغير.
PIPVNGHQNETWORK=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --query "[ipAddress]" \ --output tsv)تشغيل الأمر التالي في Cloud Shell لتحديث بوابة الشبكة المحلية LNG-HQ-Network بحيث تشير إلى عنوان IP العام المرفق ببوابة الشبكة الظاهرية VNG-HQ-Network.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-HQ-Network \ --gateway-ip-address $PIPVNGHQNETWORK
إنشاء الاتصالات
ستكمل الآن التكوين عن طريق إنشاء الاتصالات من كل بوابة VPN إلى بوابة الشبكة الداخلية التي تحتوي على مراجع عناوين IP العامة للشبكة البعيدة الخاصة بالبوابة.
إنشاء المفتاح المشترك لاستخدامه للاتصالات. في الأمر التالي، استخدم
<shared key>سلسلة نصية كبديل لاستخدامها من أجل مفتاح IPSec المشترك مسبقًا. المفتاح المشترك مسبقًا عبارة عن سلسلة من حروف الشفرة القياسية الأمريكية لتبادل المعلومات (ASCII) القابلة للطباعة والتي لا يزيد عددها عن 128 حرفًا. لا يمكن أن تحتوي على أحرف خاصة، مثل علامات الواصلة والتلدة. ستستخدم هذا المفتاح المشترك مسبقًا على كلا الاتصالين.ملاحظة
في هذا المثال، ستعمل أي مجموعة من الأرقام لمفتاح مشترك: SHAREDKEY = 123456789. في بيئات الإنتاج، نوصي باستخدام سلسلة من حروف الشفرة القياسية الأمريكية لتبادل المعلومات (ASCII) القابلة للطباعة والتي لا يزيد طولها عن 128 حرفاً بدون أحرف خاصة مثل علامات الواصلة والتلدة.
SHAREDKEY=<shared key>تذكر أن LNG-HQ-Network تحتوي على مرجع لعنوان IP على جهاز VPN الداخلي الذي جرى محاكاته. تشغيل الأمر التالي في Cloud Shell لإنشاء اتصال من VNG-Azure-VNet-1 إلى LNG-HQ-Network.
az network vpn-connection create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name Azure-VNet-1-To-HQ-Network \ --vnet-gateway1 VNG-Azure-VNet-1 \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-HQ-Networkتذكر أن 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 <rgn>[sandbox resource group name]</rgn> \ --name HQ-Network-To-Azure-VNet-1 \ --vnet-gateway1 VNG-HQ-Network \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-Azure-VNet-1
لقد انتهيت الآن من تكوين اتصال موقع إلى موقع. قد يستغرق هذا بضع دقائق، ولكن يجب أن تتصل الأنفاق تلقائيًا وتصبح نشطة.
خطوات التحقق
لنؤكد أن أنفاق VPN متصلة.
شغَّل الأمر التالي لتأكيد اتصال Azure-VNet-1-To-HQ-Network.
az network vpn-connection show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --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 بنجاح الآن.
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.