إنشاء شبكة اتصال ظاهرية باستخدام اتصال VPN من موقع إلى موقع باستخدام CLI

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

Site-to-Site VPN Gateway cross-premises connection diagram

يتم استخدام اتصال بوابة VPN من موقع إلى موقع لتوصيل شبكتك المحلية بشبكة Azure الظاهرية عبر نفق VPN ببروتوكول IPsec/IKE (IKEv1 أو IKEv2). تعرف على كيفية استخدام Azure Virtual WAN لإنشاء اتصال VPN من موقع إلى موقع بـ Azure. لمزيد من التفاصيل حول بوابات VPN، راجع حول بوابة VPN.

قبل أن تبدأ

تحقق من أنك قد استوفيت المعايير التالية قبل بدء التكوين:

  • تأكد أن لديك جهاز VPN متوافق ولديك شخص قادر على تكوينه. لمزيد من المعلومات حول أجهزة VPN المتوافقة وتكوين الجهاز، راجع حول أجهزة VPN.
  • تحقق أن لديك عنوان IPv4 عام خارجياً لجهاز VPN الخاص بك.
  • إذا لم تكن على دراية بنطاقات عنوان IP الموجودة في تكوين شبكتك المحلية، فأنت بحاجة إلى التنسيق مع شخص يمكنه توفير هذه التفاصيل لك. عند إنشاء هذا التكوين، يجب عليك تحديد بادئات نطاق عناوين IP التي سيوجهها Azure إلى موقعك المحلي. لا يمكن لأي من الشبكات الفرعية لشبكتك المحلية أن تتداخل مع الشبكات الفرعية للشبكة الافتراضية التي تريد الاتصال بها.
  • وتتطلب هذه المقالة الإصدار 2.0 أو الإصدار الأحدث من واجهة مستوى الاستدعاء Azure. في حالة استخدام Azure Cloud Shell، يكون الإصدار الأخير مثبتًا بالفعل.

قيم الأمثلة

يمكنك استخدام القيم التالية لإنشاء بيئة اختبار، أو الرجوع إلى هذه القيم لفهم الأمثلة الواردة في هذه المقالة بشكل أفضل:

#Example values

VnetName                = TestVNet1 
ResourceGroup           = TestRG1 
Location                = eastus 
AddressSpace            = 10.11.0.0/16 
SubnetName              = Subnet1 
Subnet                  = 10.11.0.0/24 
GatewaySubnet           = 10.11.255.0/27 
LocalNetworkGatewayName = Site2 
LNG Public IP           = <VPN device IP address>
LocalAddrPrefix1        = 10.0.0.0/24
LocalAddrPrefix2        = 20.0.0.0/24   
GatewayName             = VNet1GW 
PublicIP                = VNet1GWIP 
VPNType                 = RouteBased 
GatewayType             = Vpn 
ConnectionName          = VNet1toSite2

1. الاتصال باشتراكك

إذا اخترت تشغيل CLI محلياً، فاتصل باشتراكك. إذا كنت تستخدم Azure Cloud Shell في المستعرض، فلن تحتاج إلى الاتصال باشتراكك. سيتم الاتصال تلقائياً في Azure Cloud Shell. ومع ذلك، قد تحتاج إلى التحقق من استخدام الاشتراك الصحيح بعد الاتصال.

سجل الدخول إلى اشتراكك في Azure باستخدام الأمر az login، واتبع الإرشادات التي تظهر على الشاشة. لمزيد من المعلومات حول تسجيل الدخول، راجع بدء العمل باستخدام Azure CLI.

az login

إذا كان لديك أكثر من اشتراك Azure واحد، فقم بإدراج اشتراكات الحساب.

az account list --all

حدد الاشتراك المراد استخدامه.

az account set --subscription <replace_with_your_subscription_id>

2. إنشاء مجموعة موارد

ينشئ المثال التالي مجموعة موارد تسمى TestRG1 في موقع "eastus". إذا كانت لديك بالفعل مجموعة موارد في المنطقة التي تريد إنشاء شبكتك الظاهرية فيها، يمكنك استخدام هذه المجموعة بدلاً من ذلك.

az group create --name TestRG1 --location eastus

3. إنشاء شبكة ظاهرية

إذا لم تكن لديك بالفعل شبكة ظاهرية، فأنشئ واحدة باستخدام الأمر az network vnet create. عند إنشاء شبكة اتصال ظاهرية، تأكد من أن مسافات العناوين التي تحددها لا تتداخل مع أي من مسافات العناوين الموجودة على الشبكة المحلية.

ملاحظة

لكي تتصل هذه الشبكة الظاهرية بموقع محلي، تحتاج إلى التنسيق مع مسؤول الشبكة المحلي لاقتطاع نطاق عنوان IP يمكنك استخدامه خصيصًا لهذه الشبكة الظاهرية. إذا تكرر نطاق عنوان IP في كل من جانبي اتصال VPN، فلن تُوجه نسبة استخدام الشبكة على النحو الذي تتوقعه. بالإضافة إلى ذلك، إذا كنت ترغب في اتصال شبكة ظاهرية بشبكة ظاهرية أخرى، لا يمكن أن تتداخل مساحة العنوان مع شبكة ظاهرية أخرى. احرص على تخطيط تكوين الشبكة وفقًا لذلك.

ينشئ المثال التالي شبكة ظاهرية باسم "TestVNet1" وشبكة فرعية باسم "Subnet1".

az network vnet create --name TestVNet1 --resource-group TestRG1 --address-prefix 10.11.0.0/16 --location eastus --subnet-name Subnet1 --subnet-prefix 10.11.0.0/24

4. إنشاء شبكة البوابة الفرعية

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

عند إنشاء الشبكة الفرعية للبوابة، يمكنك تحديد عدد عناوين بروتوكولات الإنترنت التي تحتوي عليها الشبكة الفرعية. يعتمد عدد عناوين "بروتوكولات الإنترنت" المطلوبة على تهيئة بوابة الـ VPN التي تريد إنشاؤها. تتطلب بعض التكوينات عناوين بروتوكولات الإنترنت أكثر من غيرها. نوصي بإنشاء شبكة بوابة فرعية تستخدم /27 أو /28.

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

استخدم الأمر az network vnet subnet create لإنشاء الشبكة الفرعية للبوابة.

az network vnet subnet create --address-prefix 10.11.255.0/27 --name GatewaySubnet --resource-group TestRG1 --vnet-name TestVNet1

هام

عند العمل مع الشبكات الفرعية للعبارة تجنب ربط مجموعة أمان شبكة اتصال (NSG) بالشبكة الفرعية للعبارة. قد يؤدي ربط مجموعة أمان شبكة اتصال بهذه الشبكة الفرعية إلى توقف عبارة الشبكة الظاهرية (VPN وعبارات Express Route) عن العمل كما متوقع. لمزيد من المعلومات حول مجموعات أمان الشبكة، يُرجى مراجعة ما هي مجموعة أمان الشبكة؟.

5. إنشاء بوابة الشبكة المحلية

تشير بوابة الشبكة المحلية عادةً إلى موقعك المحلي. أنت تعطي الموقع اسماً يمكن لـ Azure الرجوع إليه، ثم تحديد عنوان IP لجهاز VPN المحلي الذي ستنشئ اتصالاً به. يمكنك أيضًا تحديد بادئات عنوان IP المقرر توجيهها من خلال بوابة VPN إلى جهاز VPN. بادئات العنوان التي تحددها هي البادئات الموجودة على الشبكة المحلية الخاصة بك. إذا تغيرت شبكتك المحلية، يمكنك بسهولة تحديث البادئات.

استخدم القيم التالية:

  • يمثل --gateway-ip-address عنوان IP لجهاز VPN المحلي لديك.
  • تشير --local-address-prefixes إلى مساحات العناوين المحلية لديك.

استخدم الأمر az network-gateway create local gateway لإضافة بوابة شبكة محلية ذات بادئات عناوين متعددة:

az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 --resource-group TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24

6. طلب عنوان IP عام

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

استخدم الأمر az network-public-ip create لطلب عنوان IP عام ديناميكي.

az network public-ip create --name VNet1GWIP --resource-group TestRG1 --allocation-method Dynamic

7. إنشاء بوابة VPN

قم بإنشاء بوابة VPN للشبكة الظاهرية. قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتماداً على بوابة SKU المحددة.

استخدم القيم التالية:

  • يشير --gateway-type لتكوين اتصال من موقع إلى موقع إلى Vpn. يكون نوع البوابة دائمًا خاصًا بالتكوين الذي تقوم بتنفيذه. لمزيدٍ من المعلومات، راجع ⁧⁩أنواع البوابات⁧⁩.
  • يمكن أن يكون --vpn-type هو RouteBased (يُشار إليه على أنه البوابة الديناميكية في بعض الوثائق)، أو PolicyBased (يُشار إليه باسم البوابة الثابتة في بعض الوثائق). يختص الإعداد بمتطلبات الجهاز الذي تقوم بالاتصال به. لمزيد من المعلومات حول أنواع بوابات VPN، راجع حول إعدادات تكوين بوابة VPN.
  • حدد SKU للبوابة التي تريد استخدامها. هناك قيود التكوين لبعض وحدات SKU معينة. لمزيدٍ من المعلومات، يُرجى مراجعة Gateway SKUs.

قم بإنشاء بوابة VPN باستخدام الأمر az network vnet-gateway create. إذا قمت بتشغيل هذا الأمر باستخدام المعلمة "--no-wait"، فلن ترى أي ملاحظات أو مخرجات. تسمح هذه المعلمة للبوابة للإنشاء في الخلفية. يستغرق إنشاء بوابة 45 دقيقة أو أكثر.

az network vnet-gateway create --name VNet1GW --public-ip-address VNet1GWIP --resource-group TestRG1 --vnet TestVNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait 

8. تكوين جهاز VPN

تتطلب اتصالات موقع إلى موقع بشبكة محلية جهاز VPN. في هذه الخطوة، تقوم بتكوين جهاز VPN الخاص بك. عند تكوين جهاز VPN، تحتاج إلى ما يلي:

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

  • عنوان IP العام لبوابة الشبكة الافتراضية الخاصة بك. يمكنك عرض عنوان IP العام باستخدام مدخل Microsoft Azure أو PowerShell أو CLI. للعثور على عنوان IP العام لبوابة الشبكة الظاهرية، استخدم الأمر az network-public-ip list. لسهولة القراءة، يتم تنسيق الإخراج لعرض قائمة عناوين IP العامة بتنسيق جدول.

    az network public-ip list --resource-group TestRG1 --output table
    

⁩تنزيل البرامج النصية لتكوين جهاز VPN⁧

اعتمادًا على جهاز الشبكة الظاهرية خاصتك، قد تتمكن من تنزيل برنامج نصي لتكوين جهاز الشبكة الظاهرية. لمزيد من المعلومات، راجع ⁧⁩تنزيل البرامج النصية لتكوين جهاز VPN⁧⁩.

راجع الارتباطات التالية للحصول على معلومات تكوين إضافية:

9. إنشاء اتصال VPN

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

أنشئ الاتصال باستخدام الأمر az network vpn-connection create.

az network vpn-connection create --name VNet1toSite2 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site2

بعد فترة قصيرة، سيتم تأسيس الاتصال.

10. التحقق من اتصال VPN

يمكنك التحقق من نجاح اتصالك باستخدام الأمر az network-vpn-connection show. في المثال، يشير '--name' إلى اسم الاتصال الذي تريد اختباره. عندما يكون الاتصال في طور الإنشاء، تعرض حالة الاتصال الخاصة به "قيد الاتصال". بمجرد إنشاء الاتصال، تتغير الحالة إلى "متصل". عدل المثال التالي بقيم بيئتك.

az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>

إذا كنت تريد استخدام طريقة أخرى للتحقق من اتصالك، فراجع التحقق من اتصال بوابة VPN.

للاتصال بجهاز ظاهري

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

  1. حدد موقع عنوان بروتوكول الإنترنت الخاص بك. يمكنك العثور على عنوان بروتوكول الإنترنت الخاص بأي جهاز افتراضي، إما عن طريق البحث في خصائص الجهاز الافتراضي في مدخل Azure، أو باستخدام PowerShell.

    • مدخل Azure - حدد موقع الجهاز الافتراضي في مدخل Azure. اعرض خصائص الجهاز الافتراضي. أدرج عنوان بروتوكول الإنترنت الخاص.

    • PowerShell - استخدم المثال لعرض قائمة الأجهزة الافتراضية، وعناوين بروتوكول الإنترنت الخاصة من مجموعات الموارد الخاصة بك. لا تحتاج إلى تعديل هذا المثال قبل استخدامه.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where VirtualMachine -ne $null
      
      foreach($Nic in $Nics)
      {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. تحقق من اتصالك بشبكة ظاهرية.

  3. افتح⁧⁧⁩⁩Remote Desktop Connection⁧⁧⁩⁩من خلال كتابة "RDP" أو "Remote Desktop Connection" في مربع البحث في شريط المهام، ثم حدد Remote Desktop Connection. يمكنك أيضًا فتح "Remote Desktop Connection" باستخدام الأمر "mstsc" في PowerShell.

  4. في الاتصال بسطح المكتب البعيد أدخل عنوان بروتوكول الإنترنت الخاص بالجهاز الافتراضي. يمكنك تحديد "إظهار الخيارات" لضبط الإعدادات الإضافية، ثم الاتصال.

⁧⁧⁩⁩استكشاف أخطاء الاتصال وإصلاحها⁧⁧⁩⁩

إذا كنت تواجه مشكلة في الاتصال بجهاز ظاهري عبر اتصال VPN، فتحقق مما يلي:

  • تحقق من نجاح اتصال VPN الخاص بك.

  • تحقق من الاتصال بعنوان IP الخاص بالجهاز الظاهري.

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

  • للمزيد من المعلومات حول اتصالات بروتوكول سطح المكتب البعيد، راجع⁧⁧⁩⁩اكتشاف أخطاء اتصال سطح المكتب البعيد بأي جهاز افتراضي⁧⁧⁩⁩.

المهام المشتركة

يحتوي هذا القسم على أوامر شائعة مفيدة عند العمل مع تكوينات من موقع إلى موقع. للحصول على القائمة الكاملة لأوامر شبكة CLI، راجع Azure CLI - الشبكات.

لعرض بوابات الشبكة المحلية

لعرض قائمة ببوابات الشبكة المحلية، استخدم الأمر az network-gateway list.

az network local-gateway list --resource-group TestRG1

لتعديل بادئات عنوان IP لبوابة الشبكة المحلية - لا يوجد اتصال بوابة

إذا لم يكن لديك اتصال بوابة وتريد إضافة بادئات عنوان IP أو إزالتها، فستستخدم نفس الأمر الذي تستخدمه لإنشاء بوابة الشبكة المحلية، az network local-gateway create. يمكنك أيضًا استخدام هذا الأمر لتحديث عنوان IP للبوابة لجهاز VPN. للكتابة فوق الإعدادات الحالية، استخدم الاسم الحالي لبوابة الشبكة المحلية. إذا كنت تستخدم اسمًا مختلفًا، يمكنك إنشاء بوابة شبكة محلية جديدة، بدلاً من الكتابة فوق البوابة الموجودة.

في كل مرة تقوم فيها بإجراء تغيير، يجب تحديد قائمة البادئات بأكملها، وليس فقط البادئات التي تريد تغييرها. حدد البادئات التي تريد الاحتفاظ بها فقط. في هذه الحالة، 10.0.0.0/24 و20.0.0.0/24

az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24

لتعديل بادئات عنوان IP لبوابة الشبكة المحلية - يوجد اتصال بوابة

إذا كان لديك اتصال بوابة وتريد إضافة بادئات عنوان IP أو إزالتها، يمكنك تحديث البادئات باستخدام az network local-gateway update. يؤدي هذا الإجراء إلى إحداث وقت تعطل لاتصال VPN لديك. عند تعديل بادئات عنوان IP، لن تحتاج إلى حذف بوابة VPN.

في كل مرة تقوم فيها بإجراء تغيير، يجب تحديد قائمة البادئات بأكملها، وليس فقط البادئات التي تريد تغييرها. في هذا المثال، 10.0.0.0/24 و20.0.0.0/24 موجودان بالفعل. نضيف البادئات 30.0.0.0/24 و40.0.0.0/24، ونحدد جميع البادئات الأربع عند التحديث.

az network local-gateway update --local-address-prefixes 10.0.0.0/24 20.0.0.0/24 30.0.0.0/24 40.0.0.0/24 --name VNet1toSite2 -g TestRG1

لتعديل بوابة الشبكة المحلية "gatewayIpAddress"

إذا كان جهاز VPN الذي تريد الاتصال به قام بتغيير عنوان IP العام، فأنت بحاجة إلى تعديل بوابة الشبكة المحلية لتعكس هذا التغيير. يمكن تغيير عنوان IP للبوابة دون إزالة اتصال بوابة VPN موجود (إذا كان لديك واحد). لتعديل عنوان IP للبوابة، استبدل القيم "Site2" و"TestRG1" بالقيمة الخاصة بك باستخدام أمر az network local-gateway update.

az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1

تحقق من صحة عنوان IP في الإخراج:

"gatewayIpAddress": "23.99.222.170",

للتحقق من صحة قيم المفاتيح المشتركة

تحقق من أن قيمة المفتاح المشترك هي نفس القيمة التي استخدمتها لتكوين جهاز VPN. إذا لم يكن كذلك، فقم إما بتشغيل الاتصال مرة أخرى باستخدام القيمة من الجهاز، أو قم بتحديث الجهاز بالقيمة من النتيجة المرتجعة. يجب أن تتطابق القيم. لعرض المفتاح المشترك، استخدم az network vpn-connection-list.

az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1

لعرض عنوان IP العام لبوابة VPN

للعثور على عنوان IP العام لبوابة الشبكة الظاهرية، استخدم الأمر az network-public-ip list. لسهولة القراءة، يتم تنسيق الإخراج لعرض قائمة عناوين IP العامة بتنسيق جدول.

az network public-ip list --resource-group TestRG1 --output table

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