اتصال الشبكات الظاهرية من نماذج التوزيع المختلفة باستخدام PowerShell

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

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

بناء الأنظمة

يشبه اتصال الشبكة الظاهرية التقليدية بشبكة Resource Manager الظاهرية اتصال شبكة ظاهرية بموقع محلي. يستخدم كلا نوعي الاتصال بوابة VPN لتوفير نفق آمن باستخدام IPsec/IKE. يمكنك إنشاء اتصال بين الشبكات الظاهرية الموجودة في اشتراكات مختلفة وفي مناطق مختلفة. يمكنك أيضًا توصيل VNets التي لديها اتصالات بالشبكات المحلية بالفعل، طالما أن البوابة ديناميكية أو قائمة على المسار. للحصول على مزيدٍ من المعلومات عن اتصالات VNet بـ VNet، راجع الأسئلة الشائعة بشأن VNet بـ VNet.

لهذا التكوين، يمكنك إنشاء اتصال بوابة VPN عبر نفق IPsec/IKE VPN بين الشبكات الظاهرية. تأكد من عدم تداخل أي من نطاقات VNet مع نطاق آخر، أو مع أي شبكة محلية تتصل بها.

يوضح الجدول التالي مثالاً على كيفية تعريف الشبكات الظاهرية المثال والمواقع المحلية:

شبكة ظاهرية مساحة العنوان المنطقة اتصل بموقع الشبكة المحلية
ClassicVNet (10.1.0.0/16) غرب الولايات المتحدة RMVNetSite (192.168.0.0/16)
RMVNet (192.168.0.0/16) شرق الولايات المتحدة ClassicVNetSite (10.1.0.0/16)

المتطلبات الأساسية

ترشدك الخطوات التالية خلال الإعدادات اللازمة لتكوين بوابة ديناميكية أو قائمة على المسار لكل شبكة ظاهرية وإنشاء اتصال شبكة ظاهرية خاصة بين البوابات. هذا التكوين لا يدعم البوابات الثابتة أو المستندة إلى السياسة.

هذه الخطوات تفترض أن لديك VNet كلاسيكي قديم وResource Manager VNet تم إنشاؤها بالفعل.

  • تحقق من أن نطاقات العناوين للشبكات الظاهرية لا تتداخل مع بعضها البعض، أو تتداخل مع أي من النطاقات للاتصالات الأخرى التي قد تكون البوابات متصلة بها.

  • في هذه المقالة، نستخدم PowerShell. قم بتثبيت أحدث أوامر cmdlets PowerShell بالكمبيوتر الخاص بك لكل من Resource Manager وإدارة الخدمة.

    على الرغم من أنه من الممكن تنفيذ بعض أوامر PowerShell باستخدام بيئة Azure Cloud Shell، إلا أنك تحتاج إلى تثبيت كلا الإصدارين من cmdlets لإنشاء الاتصالات بشكل صحيح.

    ولمزيد من المعلومات، اطلع على كيفية تثبيت Azure PowerShell وتكوينه.

إعدادات المثال

يمكنك استخدام هذه القيم لفهم الأمثلة بشكل أفضل.

الشبكة الظاهرية التقليدية

اسم الشبكة الظاهرية = ClassicVNet
Resource Group = ClassicRG Location = West US
مساحات عناوين الشبكة الظاهرية = 10.1.0.0/16
الشبكة الفرعية1 = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
اسم الشبكة المحلية = RMVNetSite
GatewayType = DynamicRouting

شبكة Resource Manager الظاهرية

اسم الشبكة الظاهرية = RMVNet
مجموعة الموارد = RMRG
مساحات عناوين IP للشبكة الظاهرية = 192.168.0.0/16
الشبكة الفرعية1 = 192.168.1.0/24
GatewaySubnet = 192.168.255.0/27
الموقع = شرق الولايات المتحدة
اسم IP العام للبوابة = rmgwpip
بوابة الشبكة المحلية = ClassicVNetSite
اسم بوابة الشبكة الظاهرية = RMGateway
Gateway IP addressing configuration = gwipconfig

تكوين VNet الكلاسيكي

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

1. تنزيل ملف تكوين الشبكة

  1. قم بتسجيل الدخول إلى حساب Azure الخاص بك في وحدة تحكم PowerShell بصلاحيات غير مقيدة. يطالبك cmdlet التالي ببيانات اعتماد تسجيل الدخول لحساب Azure الخاص بك. بعد تسجيل الدخول، يقوم بتنزيل إعدادات حسابك بحيث تكون متاحة لـ Azure PowerShell. يتم استخدام أوامر cmdlets Azure PowerShell الكلاسيكية لإدارة الخدمات (SM) في هذا القسم.

    Add-AzureAccount
    

    الحصول على اشتراك Azure.

    Get-AzureSubscription
    

    في حالة كان لديك أكثر من اشتراك واحد، فحدد الاشتراك الذي تريد استخدامه.

    Select-AzureSubscription -SubscriptionName "Name of subscription"
    
  2. إنشاء الدليل على جهاز الكمبيوتر الخاص بك. على سبيل المثال، أنشأنا AzureNet.

  3. تصدير ملف تكوين شبكة Azure عن طريق تشغيل الأمر التالي. يمكنك تغيير موقع الملف للتصدير إلى موقع مختلف إذا لزم الأمر.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  4. افتح ملف .xml الذي قمت بتنزيله لتحريره. للحصول على مثال على ملف تكوين الشبكة، راجع مخطط تكوين الشبكة.

  5. سجل بقيمة ⁧VirtualNetworkSite name=⁩. إذا قمت بإنشاء VNet الكلاسيكية باستخدام المدخل، فسيتبع الاسم تنسيقًا مشابهًا لـ "Group ClassicRG ClassicVNet"، بدلاً من "ClassicVNet" في المدخل.

2. تحقق من الشبكة الفرعية للبوابة

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

هام

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

مثال:

<VirtualNetworkSites>
  <VirtualNetworkSite name="ClassicVNet" Location="West US">
    <AddressSpace>
      <AddressPrefix>10.1.0.0/16</AddressPrefix>
    </AddressSpace>
    <Subnets>
      <Subnet name="Subnet1">
        <AddressPrefix>10.1.0.0/24</AddressPrefix>
      </Subnet>
      <Subnet name="GatewaySubnet">
        <AddressPrefix>10.1.255.0/27</AddressPrefix>
      </Subnet>
    </Subnets>
  </VirtualNetworkSite>
</VirtualNetworkSites>

3. إضافة موقع الشبكة المحلية

يمثل موقع الشبكة المحلية الذي تقوم بإضافته RM VNet الذي تريد الاتصال به. أضف عنصر مواقع الشبكة المحلية إلى الملف إذا لم يكن موجودا بالفعل. في هذه المرحلة من التكوين، يمكن أن يكون VPNGatewayAddress أي عنوان IP عام صالح لأننا لم نقم بعد بإنشاء بوابة Resource Manager VNet. بمجرد إنشاء بوابة RM، نستبدل عنوان IP للعنصر النائب هذا بعنوان IP العام الصحيح الذي تم تعيينه لبوابة RM.

<LocalNetworkSites>
  <LocalNetworkSite name="RMVNetSite">
    <AddressSpace>
      <AddressPrefix>192.168.0.0/16</AddressPrefix>
    </AddressSpace>
    <VPNGatewayAddress>5.4.3.2</VPNGatewayAddress>
  </LocalNetworkSite>
</LocalNetworkSites>

4. ربط الشبكة الظاهرية بموقع الشبكة المحلية

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

<Gateway>
  <ConnectionsToLocalNetwork>
    <LocalNetworkSiteRef name="RMVNetSite">
      <Connection type="IPsec" />
    </LocalNetworkSiteRef>
  </ConnectionsToLocalNetwork>
</Gateway>

5. حفظ الملف وتحميله

احفظ الملف، ثم قم باستيراده إلى Azure عن طريق تشغيل الأمر التالي. تأكد من تغيير مسار الملف حسبما يتناسب مع بيئتك.

Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml

سترى نتيجة مماثلة تظهر أن الاستيراد نجح.

OperationDescription        OperationId                      OperationStatus                                                
--------------------        -----------                      ---------------                                                
Set-AzureVNetConfig        e0ee6e66-9167-cfa7-a746-7casb9    Succeeded 

6. إنشاء البوابة

قبل تشغيل هذا المثال، راجع ملف تكوين الشبكة الذي قمت بتنزيله للحصول على الأسماء الدقيقة التي يتوقع Azure رؤيتها. يحتوي ملف تكوين الشبكة على قيم الشبكات الظاهرية الكلاسيكية. عند إنشاء VNet كلاسيكي باستخدام المدخل، يختلف اسم الشبكة الظاهرية في ملف تكوين الشبكة. على سبيل المثال، إذا استخدمت مدخل Azure لإنشاء شبكة ظاهرية كلاسيكية باسم 'Classic VNet' وقمت بإنشائها في مجموعة موارد باسم 'ClassicRG'، يتم تحويل الاسم الموجود في ملف تكوين الشبكة إلى 'Group ClassicRG Classic VNet'. استخدم دائما الاسم المضمن في ملف تكوين الشبكة عند العمل مع PowerShell.عند تحديد اسم VNet الذي يحتوي على مسافات، استخدم علامات الاقتباس حول القيمة.

استخدم المثال التالي لإنشاء بوابة توجيه ديناميكية:

New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting

يمكنك التحقق من حالة البوابة باستخدام cmdlet Get-AzureVNetGateway.

تكوين بوابة RM VNet

تفترض المتطلبات الأساسية أنك قمت بالفعل بإنشاء RM VNet. في هذه الخطوة، يمكنك إنشاء بوابة شبكة ظاهرية خاصة لـ RM VNet. لا تبدأ هذه الخطوات إلا بعد استرداد عنوان IP العام لبوابة VNet الكلاسيكية.

  1. سجل الدخول إلى حساب Azure الخاص بك في وحدة تحكم PowerShell. يطالبك cmdlet التالي ببيانات اعتماد تسجيل الدخول لحساب Azure الخاص بك. بعد تسجيل الدخول، يتم تنزيل إعدادات حسابك بحيث تكون متاحة لـ Azure PowerShell. يمكنك اختياريا استخدام ميزة "جربها" لتشغيل Azure Cloud Shell في المستعرض.

    إذا كنت تستخدم Azure Cloud Shell، فتخطى cmdlet التالي:

    Connect-AzAccount
    

    للتحقق من أنك تستخدم الاشتراك الصحيح، قم بتشغيل cmdlet التالي:

    Get-AzSubscription
    

    إذا كان لديك أكثر من اشتراك واحد، فحدد الاشتراك الذي تريد استخدامه.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. إنشاء بوابة شبكة محلية. في الشبكة الظاهرية، تشير بوابة الشبكة المحلية عادة إلى موقعك المحلي. في هذه الحالة، تشير بوابة الشبكة المحلية إلى Classic VNet. أعطه اسما يمكن لـ Azure الرجوع إليه، وحدد أيضا بادئة مساحة العنوان. يستخدم Azure بادئة عنوان IP التي تحددها لتحديد نسبة استخدام الشبكة التي تريد إرسالها إلى موقعك المحلي. إذا كنت بحاجة إلى ضبط المعلومات هنا لاحقا، قبل إنشاء البوابة، يمكنك تعديل القيم وتشغيل العينة مرة أخرى.

    -Name هو الاسم الذي تريد تعيينه للإشارة إلى بوابة الشبكة المحلية.
    -AddressPrefix هي مساحة العنوان للشبكة الظاهرية الكلاسيكية الخاصة بك.
    -GatewayIpAddress هو عنوان IP العام لبوابة الشبكة الظاهرية الكلاسيكية. تأكد من تغيير نموذج النص التالي "n.n.n.n" ليعكس عنوان IP الصحيح.

    New-AzLocalNetworkGateway -Name ClassicVNetSite `
    -Location "West US" -AddressPrefix "10.1.0.0/16" `
    -GatewayIpAddress "n.n.n.n" -ResourceGroupName RMRG
    
  3. طلب تخصيص عنوان IP عام لبوابة الشبكة الظاهرية Resource Manager VNet. لا يمكنك تحديد عنوان IP الذي تريد استخدامه. يتم تخصيص عنوان IP ديناميكيا لبوابة الشبكة الظاهرية. ومع ذلك، هذا لا يعني أن عنوان IP يتغير. المرة الوحيدة التي يتغير فيها عنوان IP لبوابة الشبكة الظاهرية هي عند حذف البوابة وإعادة إنشائها. لا يتغير عبر تغيير الحجم أو إعادة التعيين أو الصيانة الداخلية الأخرى/ترقيات البوابة.

    في هذه الخطوة، نقوم أيضا بتعيين متغير يتم استخدامه في خطوة لاحقة.

    $ipaddress = New-AzPublicIpAddress -Name rmgwpip `
    -ResourceGroupName RMRG -Location 'EastUS' `
    -AllocationMethod Dynamic
    
  4. تحقق من أن شبكتك الظاهرية تحتوي على شبكة فرعية للبوابة. في حالة عدم وجود شبكة فرعية للبوابة، أضف واحدة. تأكد من تسمية الشبكة الفرعية للبوابة الشبكة الفرعية للبوابة.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName RMRG -Name RMVNet
    Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 192.168.255.0/27 -VirtualNetwork $vnet
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  5. استرداد الشبكة الفرعية المستخدمة للبوابة عن طريق تشغيل الأمر التالي. في هذه الخطوة، قمنا أيضا بتعيين متغير لاستخدامه في الخطوة التالية.

    -Name هو اسم الشبكة الظاهرية لإدارة الموارد الخاصة بك.
    -ResourceGroupName هي مجموعة الموارد التي يقترن بها الشبكة الظاهرية. يجب أن تكون الشبكة الفرعية للبوابة موجودة بالفعل لهذه الشبكة الظاهرية ويجب أن تسمى GatewaySubnet للعمل بشكل صحيح.

    $subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet `
    -VirtualNetwork (Get-AzVirtualNetwork -Name RMVNet -ResourceGroupName RMRG)
    
  6. إنشاء تكوين عنوان IP للبوابة. يحدد تكوين البوابة الشبكة الفرعية وعنوان IP العام المراد لاستخدامهما. استخدم النموذج التالي لإنشاء تكوين البوابة.

    في هذه الخطوة، يجب تمرير المعلمات -SubnetId و -PublicIpAddressId خاصية المعرف من الشبكة الفرعية وكائنات عنوان IP على التوالي. لا يمكنك استخدام سلسلة بسيطة. يتم تعيين هذه المتغيرات في الخطوة لطلب عنوان IP عام وخطوة استرداد الشبكة الفرعية.

    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig `
    -Name gwipconfig -SubnetId $subnet.id `
    -PublicIpAddressId $ipaddress.id
    
  7. قم بإنشاء بوابة الشبكة الظاهرية لـ Resource Manager عن طريق تشغيل الأمر التالي. يجب أن يكون -VpnType هو RouteBased. قد يستغرق إنشاء البوابة 45 دقيقة أو أكثر.

    New-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG `
    -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn `
    -IpConfigurations $gwipconfig `
    -EnableBgp $false -VpnType RouteBased
    
  8. انسخ عنوان IP العام بمجرد إنشاء بوابة شبكة ظاهرية خاصة. يمكنك استخدامه عند تكوين إعدادات الشبكة المحلية للشبكة الظاهرية الكلاسيكية. يمكنك استخدام cmdlet التالي لاسترداد عنوان IP العام. يتم سرد عنوان IP العام في الرجوع كـ IpAddress.

    Get-AzPublicIpAddress -Name rmgwpip -ResourceGroupName RMRG
    

تعديل إعدادات موقع VNet المحلي الكلاسيكي

في هذا القسم، يمكنك العمل مع الشبكة الظاهرية الكلاسيكية. تستبدل عنوان IP العنصر النائب الذي استخدمته عند تحديد إعدادات الموقع المحلية التي سيتم استخدامها للاتصال ببوابة الشبكة الظاهرية Resource Manager. نظرًا لأنك تعمل باستخدام VNet الكلاسيكية، استخدم PowerShell المثبت محليًا على جهاز الكمبيوتر الخاص بك، وليس Azure Cloud Shell TryIt.

  1. تصدير ملف تكوين الشبكة.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  2. باستخدام محرر نصوص، قم بتعديل قيمة VPNGatewayAddress. استبدل عنوان IP للعنصر النائب بعنوان IP العام لبوابة Resource Manager ثم احفظ التغييرات.

    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
    
  3. استيراد ملف تكوين الشبكة المعدل إلى Azure.

    Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
    

إنشاء اتصال بين البوابات

يتطلب إنشاء اتصال بين البوابات PowerShell. قد تحتاج إلى إضافة حساب Azure الخاص بك لاستخدام الإصدار الكلاسيكي من أوامر PowerShell cmdlets. للقيام بذلك، استخدم إضافة حساب Azure.

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

    في المثال التالي،-VNetName هو اسم الشبكة الظاهرية الكلاسيكية و-LocalNetworkSiteName هو الاسم الذي حددته لموقع الشبكة المحلية. تحقق من أسماء كليهما في ملف تكوين الشبكة الذي قمت بتنزيله مسبقًا.

    -SharedKey هي القيمة التي تقوم بإنشائها، ثم تحددها. في المثال، استخدمنا 'abc123'، ولكن يمكنك توليد شيء أكثر تعقيدا واستخدامه. الشيء المهم هو أن القيمة التي تحددها هنا يجب أن تكون القيمة نفسها التي تحددها في الخطوة التالية عند إنشاء الاتصال. يجب أن تظهر المرتجعات الحالة: ناجح.

    Set-AzureVNetGatewayKey -VNetName ClassicVNet `
    -LocalNetworkSiteName RMVNetSite -SharedKey abc123
    
  2. قم بإنشاء اتصال شبكة ظاهرية خاصة عن طريق تشغيل الأوامر التالية:

    تعيين المتغيرات.

    $vnet01gateway = Get-AzLocalNetworkGateway -Name ClassicVNetSite -ResourceGroupName RMRG
    $vnet02gateway = Get-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG
    

    إنشاء الاتصال. لاحظ أن -ConnectionType هو أمان برتوكول الإنترنت وليس Vnet2Vnet.

    New-AzVirtualNetworkGatewayConnection -Name RM-Classic -ResourceGroupName RMRG `
    -Location "East US" -VirtualNetworkGateway1 `
    $vnet02gateway -LocalNetworkGateway2 `
    $vnet01gateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
    

التحقق من الاتصال الخاص بك

VNet الكلاسيكية إلى RM VNet

يمكنك التحقق من نجاح اتصالك باستخدام 'Get-AzureVNetConnection' cmdlet. يجب تشغيل cmdlet هذا محليًا على جهاز الكمبيوتر الخاص بك.

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

    Get-AzureVNetConnection "ClassicVNet"
    
  2. بعد انتهاء cmdlet، اعرض القيم. في المثال التالي، تظهر حالة الاتصال على أنها "متصل" ويمكنك رؤية وحدات بايت الدخول والخروج.

    ConnectivityState         : Connected
    EgressBytesTransferred    : 0
    IngressBytesTransferred   : 0
    LastConnectionEstablished : 4/25/2022 4:24:34 PM
    LastEventID               : 24401
    LastEventMessage          : The connectivity state for the local network site 'RMVNetSite' changed from Not Connected to Connected.
    LastEventTimeStamp        : 4/25/2022 4:24:34 PM
    LocalNetworkSiteName      : RMVNetSite
    OperationDescription      :
    OperationId               :
    OperationStatus           :
    

RM VNet إلى VNet الكلاسيكية

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

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

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

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

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

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