قم بتكوين اتصال بوابة VNet-to-VNet VPN باستخدام PowerShell

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

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

VNet to VNet diagram.

نبذة عن ربط الشبكات الظاهرية

هناك طرق متعددة لتوصيل VNets. تصف الأقسام التالية طرقا مختلفة لتوصيل الشبكات الظاهرية.

اتصالات من VNet إلى VNet

يعد تكوين اتصال VNet-to-VNet طريقة جيدة لتوصيل VNets بسهولة. يشبه توصيل شبكة افتراضية بشبكة افتراضية أخرى باستخدام نوع اتصال VNet-to-VNet (VNet2VNet) إنشاء اتصال Site-to-Site IPsec إلى موقع محلي. يستخدم كلا نوعي الاتصال بوابة VPN لتوفير نفق آمن باستخدام IPsec / IKE، ويعمل كلاهما بنفس الطريقة عند الاتصال. الفرق بين أنواع الاتصال هو الطريقة التي يتم بها تكوين بوابة الشبكة المحلية. عند إنشاء اتصال VNet-to-VNet، لا ترى مساحة عنوان بوابة الشبكة المحلية. يتم إنشاؤه تلقائيا وتعبئته. إذا قمت بتحديث مساحة العنوان لأحد الشبكات الظاهرية، فإن الأخرى تعرف تلقائيًا كيفية التوجيه إلى مساحة العنوان المحدثة. عادة ما يكون إنشاء اتصال VNet-to-VNet أسرع وأسهل من إنشاء اتصال من موقع إلى موقع بين الشبكات الظاهرية.

من موقع إلى موقع (IPsec)

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

اقتران VNet

قد تحتاج إلى التفكير في توصيل الشبكات الظاهرية الخاصة بك باستخدام تناظر VNet. لا يستخدم نظير الشبكة الظاهرية بوابة VPN وله قيود مختلفة. بالإضافة إلى ذلك، يتم حساب تسعير نظير VNet بشكل مختلف عن تسعير VNet-to-VNet VPN Gateway. لمزيد من المعلومات، راجع تناظر الشبكة الظاهرية.

لماذا إنشاء اتصال شبكة ظاهرية إلى شبكة ظاهرية؟

قد تحتاج إلى توصيل الشبكات الظاهرية باستخدام اتصال VNet-to-VNet للأسباب التالية:

  • التكرار الجغرافي عبر المناطق والوجود الجغرافي

    • يمكنك إعداد النسخ المتماثل الجغرافي أو المزامنة الخاصة بك مع اتصال آمن دون تجاوز نقاط النهاية لواجهة الإنترنت.
    • باستخدام Azure Traffic Manager وLoad Balancer، يمكنك إعداد عبء العمل المتوفر بشكل كبير مع التكرار الجغرافي عبر مناطق Azure المتعددة. أحد الأمثلة المهمة هو إعداد SQL Always On مع مجموعات قابلية وصول عالية التوفر AlwaysOn المنتشرة عبر مناطق Azure متعددة.
  • تطبيقات إقليمية متعددة المستويات مع عزل أو حدود إدارية

    • داخل نفس المنطقة، يمكنك إعداد تطبيقات متعددة المستويات مع شبكات افتراضية متعددة متصلة معا بسبب العزلة أو المتطلبات الإدارية.

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

ما هي خطوات VNet-to-VNet التي يجب أن أستخدمها؟

في هذه المقالة، سترى مجموعتين مختلفتين من الخطوات. مجموعة واحدة من الخطوات لـ VNets الموجودة في نفس الاشتراك وواحدة لـ VNets الموجودة في اشتراكات مختلفة. الفرق الرئيسي بين المجموعات هو أنه يجب عليك استخدام جلسات PowerShell منفصلة عند تكوين اتصالات VNets الموجودة في اشتراكات مختلفة.

في هذا التمرين، يمكنك دمج التكوينات أو اختيار التكوينات التي تريد العمل بها. تستخدم كافة التكوينات نوع اتصال VNet-to-VNet. تتدفق نسبة استخدام الشبكة بين VNets المتصلة مباشرة ببعضها البعض. في هذا التمرين، لا يتم توجيه حركة المرور من TestVNet4 إلى TestVNet5.

كيفية توصيل VNets الموجودة في نفس الاشتراك

يمكنك إكمال الخطوات التالية باستخدام Azure Cloud Shell. إذا كنت تفضل تثبيت أحدث إصدار من وحدة Azure PowerShell النمطية محليًا، فراجع كيفية تثبيت Azure PowerShell وتكوينه.

نظرا لأن إنشاء بوابة يستغرق 45 دقيقة أو أكثر، فإن Azure Cloud Shell ينفد بشكل دوري أثناء هذا التمرين. يمكنك إعادة تشغيل Cloud Shell بالنقر فوق الجزء العلوي الأيسر من terminal. تأكد من إعادة الإعلان عن أية متغيرات عند إعادة تشغيل terminal.

الخطوة 1 - تخطيط نطاقات عناوين IP الخاصة بك

في الخطوات التالية، يمكنك إنشاء شبكتين افتراضيتين مع الشبكات الفرعية والتكوينات الخاصة بالبوابة الخاصة بهما. ثم تقوم بإنشاء اتصال VPN بين جهازي VNets. من المهم تخطيط نطاقات عناوين IP لتكوين الشبكة. ضع في اعتبارك أنه يجب عليك التأكد من عدم تداخل أي من نطاقات VNet أو نطاقات الشبكة المحلية بأي شكل من الأشكال. في هذه الأمثلة، لا نقوم بتضمين خادم DNS. إذا كنت تريد دقة الاسم لشبكاتك الظاهرية، فراجعName resolution.

نحن نستخدم القيم التالية في الأمثلة:

قيم TestVNet1:

  • الاسم الخاص بالشبكة الظاهرية: TestVNet1
  • مجموعة الموارد: TestRG1
  • الموقع: شرق الولايات المتحدة
  • TestVNet1: 10.1.0.0/16
  • الواجهة الأمامية: 10.1.0.0/24
  • GatewaySubnet: 10.1.255.0/27
  • GatewayName: VNet1GW
  • Public IP: VNet1GWIP
  • VPNType: RouteBased
  • Connection(1to4): VNet1toVNet4
  • Connection(1to5): VNet1toVNet5 (لـVNets في اشتراكات مختلفة)
  • ConnectionType: VNet2VNet

قيم TestVNet4:

  • اسم الشبكة الظاهرية: TestVNet4
  • TestVNet2: 10.41.0.0/16
  • FrontEnd: 10.41.0.0/24
  • GatewaySubnet: 10.41.255.0/27
  • Resource Group: TestRG4
  • Location: West US
  • GatewayName: VNet4GW
  • IP العام: VNet4GWIP
  • VPNType: RouteBased
  • Connection: VNet4toVNet1
  • ConnectionType: VNet2VNet

الخطوة 2 - إنشاء وتكوين TestVNet1

بالنسبة للخطوات التالية، يمكنك إما استخدام Azure Cloud Shell، أو يمكنك تشغيل PowerShell محليا. ولمزيد من المعلومات، اطلع على كيفية تثبيت Azure PowerShell وتكوينه.

إشعار

قد ترى تحذيرات تقول "سيتم تعديل نوع كائن الإخراج من cmdlet هذا في إصدار مستقبلي". هذا سلوك متوقع ويمكنك تجاهل هذه التحذيرات بأمان.

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

    $RG1 = "TestRG1"
    $Location1 = "East US"
    $VNetName1 = "TestVNet1"
    $FESubName1 = "FrontEnd"
    $VNetPrefix1 = "10.1.0.0/16"
    $FESubPrefix1 = "10.1.0.0/24"
    $GWSubPrefix1 = "10.1.255.0/27"
    $GWName1 = "VNet1GW"
    $GWIPName1 = "VNet1GWIP"
    $GWIPconfName1 = "gwipconf1"
    $Connection14 = "VNet1toVNet4"
    $Connection15 = "VNet1toVNet5"
    
  2. قم بإنشاء مجموعة موارد.

    New-AzResourceGroup -Name $RG1 -Location $Location1
    
  3. إنشاء تكوينات الشبكة الفرعية لـ TestVNet1. ينشئ هذا المثال شبكة ظاهرية تسمى TestVNet1 وشبكتين فرعيتين، واحدة تسمى GatewaySubnet، وواحدة تسمى FrontEnd. عند استبدال القيم، من المهم دومًا تسمية الشبكة الفرعية للبوابة الخاصة بك وخصوصاً GatewaySubnet. إذا أعطيتها اسمًا آخر، سيفشل إنشاء البوابة الخاصة بك. لهذا السبب، لم يتم تعيينه عبر متغير في المثال.

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

    $fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
    $gwsub1 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix1
    
  4. إنشاء TestVNet1.

    New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AddressPrefix $VNetPrefix1 -Subnet $fesub1,$gwsub1
    
  5. يجب أن تحتوي بوابة VPN على عنوان IP عام مخصص. عند إنشاء اتصال ببوابة VPN، فهذا هو عنوان IP الذي تحدده. استخدم المثال التالي لطلب عنوان IP عام.

    $gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AllocationMethod Static -Sku Standard
    
  6. إنشاء تكوين البوابة. يحدد تكوين البوابة الشبكة الفرعية وعنوان IP العام المراد لاستخدامهما. استخدم النموذج التالي لإنشاء تكوين البوابة.

    $vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
    $subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
    $gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 `
    -Subnet $subnet1 -PublicIpAddress $gwpip1
    
  7. إنشاء بوابة لـ TestVNet1. في هذه الخطوة، تقوم بإنشاء بوابة الشبكة الافتراضية لـ TestVNet1 الخاص بك. تتطلب تكوينات شبكة إلى شبكة RouteBased VpnType. قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتماداً على بوابة SKU المحددة.

    New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
    -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

بعد الانتهاء من الأوامر، سيستغرق إنشاء هذه البوابة 45 دقيقة أو أكثر. إذا كنت تستخدم Azure Cloud Shell، يمكنك إعادة تشغيل جلسة Cloud Shell بالنقر في الجزء العلوي الأيمن من محطة Cloud Shell الطرفية، ثم تكوين TestVNet4. لا تحتاج إلى الانتظار حتى تكتمل بوابة TestVNet1.

الخطوة 3: إنشاء TestVNet4 وتكوينه

إنشاء TestVNet4. استخدم الخطوات التالية، مع استبدال القيم بالقيم الخاصة بك عند الحاجة.

  1. الاتصال المتغيرات الخاصة بك والإعلان عنها. تأكد من استبدال القيم بالقيم التي تريد استخدامها للتكوين.

    $RG4 = "TestRG4"
    $Location4 = "West US"
    $VnetName4 = "TestVNet4"
    $FESubName4 = "FrontEnd"
    $VnetPrefix4 = "10.41.0.0/16"
    $FESubPrefix4 = "10.41.0.0/24"
    $GWSubPrefix4 = "10.41.255.0/27"
    $GWName4 = "VNet4GW"
    $GWIPName4 = "VNet4GWIP"
    $GWIPconfName4 = "gwipconf4"
    $Connection41 = "VNet4toVNet1"
    
  2. قم بإنشاء مجموعة موارد.

    New-AzResourceGroup -Name $RG4 -Location $Location4
    
  3. إنشاء تكوينات الشبكة الفرعية لـ TestVNet4.

    $fesub4 = New-AzVirtualNetworkSubnetConfig -Name $FESubName4 -AddressPrefix $FESubPrefix4
    $gwsub4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix4
    
  4. إنشاء TestVNet4.

    New-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AddressPrefix $VnetPrefix4 -Subnet $fesub4,$gwsub4
    
  5. طلب عنوان IP عام.

    $gwpip4 = New-AzPublicIpAddress -Name $GWIPName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AllocationMethod Static -Sku Standard 
    
  6. إنشاء تكوين البوابة.

    $vnet4 = Get-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4
    $subnet4 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet4
    $gwipconf4 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName4 -Subnet $subnet4 -PublicIpAddress $gwpip4
    
  7. إنشاء بوابة TestVNet4. قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتماداً على بوابة SKU المحددة.

    New-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4 `
    -Location $Location4 -IpConfigurations $gwipconf4 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

الخطوة 4: إنشاء الاتصالات

انتظر حتى تكتمل كلتا البوابتين. أعد تشغيل جلسة Azure Cloud Shell وانسخ المتغيرات والصقها من بداية الخطوة 2 والخطوة 3 في وحدة التحكم لإعادة إعلان القيم.

  1. الحصول على كل من بوابات الشبكة الظاهرية.

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    $vnet4gw = Get-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4
    
  2. إنشاء اتصال TestVNet1 إلى TestVNet4. في هذه الخطوة، يمكنك إنشاء الاتصال من TestVNet1 إلى TestVNet4. سترى مفتاحاً مشتركاً مُشاراً إليه في الأمثلة. يمكنك استخدام قيمك للمفتاح المشترك. الشيء المهم هو أن المفتاح المشترك يجب أن يتطابق مع كلا الاتصالين. قد يستغرق إنشاء اتصال فترة قصيرة لإكماله.

    New-AzVirtualNetworkGatewayConnection -Name $Connection14 -ResourceGroupName $RG1 `
    -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet4gw -Location $Location1 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  3. إنشاء اتصال TestVNet4 إلى TestVNet1. تشبه هذه الخطوة الخطوة السابقة، باستثناء أنك تقوم بإنشاء الاتصال من TestVNet4 إلى TestVNet1. تأكد من تطابق المفاتيح المشتركة. سيتم تأسيس الاتصال بعد بضع دقائق.

    New-AzVirtualNetworkGatewayConnection -Name $Connection41 -ResourceGroupName $RG4 `
    -VirtualNetworkGateway1 $vnet4gw -VirtualNetworkGateway2 $vnet1gw -Location $Location4 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. التحقق من الاتصال الخاص بك. راجع القسم كيفية التحقق من اتصالك.

كيفية توصيل VNets الموجودة في اشتراكات مختلفة

في هذا السيناريو، يمكنك ربط TestVNet1 و TestVNet5. يوجد TestVNet1 و TestVNet5 في اشتراكات مختلفة. لا تحتاج الاشتراكات إلى أن تكون مقترنة بنفس المستأجر.

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

نظرا لتغيير سياق الاشتراك في هذا التمرين، قد تجد أنه من الأسهل استخدام PowerShell محليا على جهاز الكمبيوتر الخاص بك، بدلا من استخدام Azure Cloud Shell، عند الوصول إلى الخطوة 8.

الخطوة 5: إنشاء TestVNet1 وتكوينه

يجب إكمال الخطوة 1 و الخطوة 2 من القسم السابق لإنشاء وتكوين TestVNet1 وبوابة VPN لـ TestVNet1. لهذا التكوين، لست مطالبا بإنشاء TestVNet4 من القسم السابق، على الرغم من أنه إذا قمت بإنشائه، فلن يتعارض مع هذه الخطوات. بمجرد إكمال الخطوة 1 والخطوة 2، تابع الخطوة 6 لإنشاء TestVNet5.

الخطوة 6: التحقق من نطاقات عناوين IP

من المهم التأكد من أن مساحة عنوان IP للشبكة الظاهرية الجديدة، TestVNet5، لا تتداخل مع أي من نطاقات الشبكة الظاهرية أو نطاقات بوابة الشبكة المحلية. في هذا المثال، قد تنتمي الشبكات الظاهرية إلى مؤسسات مختلفة. لهذا التمرين، يمكنك استخدام القيم التالية لـ TestVNet5:

قيم TestVNet5:

  • اسم الشبكة الظاهرية: TestVNet5
  • مجموعة الموارد: TestRG5
  • الموقع: شرق اليابان
  • TestVNet5: 10.51.0.0/16
  • الواجهة الأمامية: 10.51.0.0/24
  • GatewaySubnet: 10.51.255.0.0/27
  • GatewayName: VNet5GW
  • Public IP: VNet5GWIP
  • VPNType: RouteBased
  • Connection: VNet5toVNet1
  • ConnectionType: VNet2VNet

الخطوة 7: إنشاء TestVNet5 وتكوينه

يجب أن تتم هذه الخطوة في سياق الاشتراك الجديد. قد يتم تنفيذ هذا الجزء من قبل المسؤول في مؤسسة مختلفة تمتلك الاشتراك.

  1. قم بتعريف المتغيرات الخاصة بك. تأكد من استبدال القيم بالقيم التي تريد استخدامها للتكوين.

    $Sub5 = "Replace_With_the_New_Subscription_Name"
    $RG5 = "TestRG5"
    $Location5 = "Japan East"
    $VnetName5 = "TestVNet5"
    $FESubName5 = "FrontEnd"
    $GWSubName5 = "GatewaySubnet"
    $VnetPrefix5 = "10.51.0.0/16"
    $FESubPrefix5 = "10.51.0.0/24"
    $GWSubPrefix5 = "10.51.255.0/27"
    $GWName5 = "VNet5GW"
    $GWIPName5 = "VNet5GWIP"
    $GWIPconfName5 = "gwipconf5"
    $Connection51 = "VNet5toVNet1"
    
  2. الاتصال بالاشتراك 5. افتح وحدة تحكم PowerShell واتصل بحسابك. استخدم المثال التالي لمساعدتك على الاتصال:

    Connect-AzAccount
    

    تحقق من الاشتراكات الخاصة بالحساب.

    Get-AzSubscription
    

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

    Select-AzSubscription -SubscriptionName $Sub5
    
  3. إنشاء مجموعة موارد جديدة.

    New-AzResourceGroup -Name $RG5 -Location $Location5
    
  4. إنشاء تكوينات الشبكة الفرعية لـ TestVNet5.

    $fesub5 = New-AzVirtualNetworkSubnetConfig -Name $FESubName5 -AddressPrefix $FESubPrefix5
    $gwsub5 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName5 -AddressPrefix $GWSubPrefix5
    
  5. إنشاء TestVNet5.

    New-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5 -Location $Location5 `
    -AddressPrefix $VnetPrefix5 -Subnet $fesub5,$gwsub5
    
  6. طلب عنوان IP عام.

    $gwpip5 = New-AzPublicIpAddress -Name $GWIPName5 -ResourceGroupName $RG5 `
    -Location $Location5 -AllocationMethod Static -Sku Standard
    
  7. إنشاء تكوين البوابة.

    $vnet5 = Get-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5
    $subnet5  = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet5
    $gwipconf5 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName5 -Subnet $subnet5 -PublicIpAddress $gwpip5
    
  8. إنشاء بوابة TestVNet5.

    New-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5 -Location $Location5 `
    -IpConfigurations $gwipconf5 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

الخطوة 8: إنشاء الاتصالات

في هذا المثال، نظرًا لوجود البوابات في اشتراكات مختلفة، قمنا بتقسيم هذه الخطوة إلى جلستي PowerShell تم تمييزهما على أنهما [Subscription 1] و [Subscription 5].

  1. [Subscription 1] احصل على بوابة الشبكة الافتراضية للاشتراك 1. سجل الدخول واتصل بالاشتراك 1 قبل تشغيل المثال التالي:

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    

    انسخ مخرجات العناصر التالية وأرسلها إلى مسؤول الاشتراك 5 عبر البريد الإلكتروني أو طريقة أخرى.

    $vnet1gw.Name
    $vnet1gw.Id
    

    سيكون لهذين العنصرين قيم مشابهة لمخرجات المثال التالية:

    PS D:\> $vnet1gw.Name
    VNet1GW
    PS D:\> $vnet1gw.Id
    /subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroupsTestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW
    
  2. [Subscription 5] احصل على بوابة الشبكة الافتراضية للاشتراك 5. سجل الدخول واتصل بالاشتراك 5 قبل تشغيل المثال التالي:

    $vnet5gw = Get-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5
    

    انسخ مخرجات العناصر التالية وأرسلها إلى مسؤول الاشتراك 1 عبر البريد الإلكتروني أو طريقة أخرى.

    $vnet5gw.Name
    $vnet5gw.Id
    

    سيكون لهذين العنصرين قيم مشابهة لمخرجات المثال التالية:

    PS C:\> $vnet5gw.Name
    VNet5GW
    PS C:\> $vnet5gw.Id
    /subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW
    
  3. [Subscription 1] إنشاء اتصال TestVNet1 إلى TestVNet5. في هذه الخطوة، يمكنك إنشاء الاتصال من TestVNet1 إلى TestVNet5. الفرق هنا هو أنه لا يمكن الحصول على $vnet 5gw مباشرة لأنه في اشتراك مختلف. ستحتاج إلى إنشاء كائن PowerShell جديد بالقيم التي تم توصيلها من الاشتراك 1 في الخطوات السابقة. استخدم المثال التالي: استبدل الاسم والمعرف والمفتاح المشترك بقيمك الخاصة. الشيء المهم هو أن المفتاح المشترك يجب أن يتطابق مع كلا الاتصالين. قد يستغرق إنشاء اتصال فترة قصيرة لإكماله.

    سجل الدخول واتصل بالاشتراك 1 قبل تشغيل المثال التالي:

    $vnet5gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet5gw.Name = "VNet5GW"
    $vnet5gw.Id   = "/subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW"
    $Connection15 = "VNet1toVNet5"
    New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet5gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. [Subscription 5] إنشاء اتصال TestVNet5 إلى TestVNet1. هذه الخطوة مشابهة للخطوة السابقة، باستثناء أنك تقوم بإنشاء الاتصال من TestVNet5 إلى TestVNet1. تنطبق نفس عملية إنشاء كائن PowerShell استنادا إلى القيم التي تم الحصول عليها من الاشتراك 1 هنا أيضًا. في هذه الخطوة، تأكد من تطابق المفاتيح المشتركة.

    سجل الدخول واتصل بالاشتراك 5 قبل تشغيل المثال التالي:

    $vnet1gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet1gw.Name = "VNet1GW"
    $vnet1gw.Id = "/subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW "
    $Connection51 = "VNet5toVNet1"
    New-AzVirtualNetworkGatewayConnection -Name $Connection51 -ResourceGroupName $RG5 -VirtualNetworkGateway1 $vnet5gw -VirtualNetworkGateway2 $vnet1gw -Location $Location5 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    

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

هام

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

يمكنك التحقق من نجاح الاتصال الخاص بك باستخدام cmdlet 'Get-AzVirtualNetworkGatewayConnection'، مع أو بدون '-تصحيح'.

  1. استخدم مثال cmdlet التالي، لتكوين القيم لمطابقة قيمك. إذا طلب منك ذلك، فحدد "A" لتشغيل "الكل". في المثال، يشير '-Name' إلى اسم الاتصال الذي تريد اختباره.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. بعد انتهاء cmdlet، اعرض القيم. في المثال أدناه، تظهر حالة الاتصال على أنها "Connected" ويمكنك مشاهدة بايت الدخول والخروج.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

الأسئلة الشائعة بشأن شبكة ظاهرية إلى شبكة ظاهرية

لمزيدٍ من المعلومات عن اتصالات VNet بـ VNet، راجع الأسئلة الشائعة بشأن بوابة VNet.

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