الاتصال ظاهرية مع نظير الشبكة الظاهرية باستخدام PowerShell

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

  • إنشاء شبكتين افتراضيتين
  • توصيل شبكتين افتراضيتين بشبكة افتراضية تناظر
  • انشر جهازًا افتراضيًا (VM) في كل شبكة افتراضية
  • التواصل بين الأجهزة الظاهرية

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

Azure Cloud Shell

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

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

إذا اخترت تثبيت PowerShell واستخدامه محليًا، فهذه المقالة تتطلب إصدار الوحدة النمطية 1.0.0 من Azure PowerShell، أو إصدارًا أحدث. بادر بتشغيل Get-Module -ListAvailable Az للعثور على الإصدار المثبت. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. عند تشغيل PowerShell محلياً، يلزم تشغيل Connect-AzAccount لإنشاء الاتصال بـ Azure.

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

قبل إنشاء شبكة ظاهرية، يجب عليك إنشاء مجموعة موارد للشبكة الظاهرية، وجميع الموارد الأخرى التي تم إنشاؤها في هذه المقالة. قم بإنشاء مجموعة موارد باستخدام New-AzResourceGroup. في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.

New-AzResourceGroup -ResourceGroupName myResourceGroup -Location EastUS

أنشئ شبكة افتراضية باستخدام New-AzVirtualNetwork. ينشئ المثال التالي شبكة اتصال ظاهرية تسمى myVirtualNetwork1 مع بادئة العنوان 10.0.0.0/16.

$virtualNetwork1 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork1 `
  -AddressPrefix 10.0.0.0/16

إنشاء تكوين شبكة فرعية باستخدام Add-AzVirtualNetworkSubnetConfig. ينشئ المثال التالي تكوين شبكة فرعية ببادئة عنوان 10.0.0.0/24:

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.0.0.0/24 `
  -VirtualNetwork $virtualNetwork1

اكتب تكوين الشبكة الفرعية إلى الشبكة الظاهرية باستخدام Set-AzVirtualNetwork، الذي ينشئ الشبكة الفرعية:

$virtualNetwork1 | Set-AzVirtualNetwork

إنشاء شبكة افتراضية مع بادئة عنوان 10.1.0.0/16 وشبكة فرعية واحدة:

# Create the virtual network.
$virtualNetwork2 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork2 `
  -AddressPrefix 10.1.0.0/16

# Create the subnet configuration.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualNetwork2

# Write the subnet configuration to the virtual network.
$virtualNetwork2 | Set-AzVirtualNetwork

شبكات افتراضية نظيرة

إنشاء نظير باستخدام Add-AzVirtualNetworkPeering. المثال التالي يقرن myVirtualNetwork1 إلى myVirtualNetwork2.

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork1-myVirtualNetwork2 `
  -VirtualNetwork $virtualNetwork1 `
  -RemoteVirtualNetworkId $virtualNetwork2.Id

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

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork2-myVirtualNetwork1 `
  -VirtualNetwork $virtualNetwork2 `
  -RemoteVirtualNetworkId $virtualNetwork1.Id

في الإخراج الذي تم إرجاعه بعد تنفيذ الأمر السابق، سترى أنه تم اتصالPeeringState. قام Azure أيضا بتغيير حالة النظير لـmyVirtualNetwork1-myVirtualNetwork2 نظير إلى متصل. تأكد من أن حالة النظير لـmyVirtualNetwork1-myVirtualNetwork2 تغيرت إلى متصل مع Get-AzVirtualNetworkPeering.

Get-AzVirtualNetworkPeering `
  -ResourceGroupName myResourceGroup `
  -VirtualNetworkName myVirtualNetwork1 `
  | Select PeeringState

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

أنشئ الأجهزة الظاهرية

قم بإنشاء جهاز ظاهري في كل شبكة ظاهرية بحيث يمكنك التواصل بينها في خطوة لاحقة.

أنشئ أول جهاز ظاهري

يُمكنك الآن إنشاء جهاز ظاهري باستخدام New-AzVM. يقوم المثال التالي بإنشاء جهاز ظاهري باسم myVm1 في الشبكة الظاهرية myVirtualNetwork1. ينشئ الخيار -AsJob الجهاز الظاهري في الخلفية، حتى تتمكن من المتابعة إلى الخطوة التالية. عند المطالبة، أدخل اسم المستخدم وكلمة المرور اللذين تريد تسجيل الدخول إليهما إلى الجهاز الظاهري باستخدامهما.

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork1" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm1" `
  -AsJob

إنشاء الجهاز الظاهري الثاني

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork2" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm2"

ويستغرق إنشاء جهاز ظاهري بضع دقائق. لا تستمر في الخطوات اللاحقة حتى يقوم Azure بإنشاء الجهاز الظاهري وإرجاع الإخراج إلى PowerShell.

إشعار

يوفر Azure عنوان IP افتراضيا للوصول الصادر للأجهزة الظاهرية التي لم يتم تعيين عنوان IP عام لها أو الموجودة في تجمع الواجهة الخلفية لموازن تحميل Azure الأساسي الداخلي. توفر آلية IP للوصول الصادر الافتراضي عنوان IP صادر غير قابل للتكوين.

يتم تعطيل عنوان IP الافتراضي للوصول الصادر عند حدوث أحد الأحداث التالية:

  • يتم تعيين عنوان IP عام إلى الجهاز الظاهري.
  • يتم وضع الجهاز الظاهري في تجمع الواجهة الخلفية لموازن التحميل القياسي، مع قواعد صادرة أو بدونها.
  • يتم تعيين مورد Azure NAT Gateway إلى الشبكة الفرعية للجهاز الظاهري.

لا تتمتع الأجهزة الظاهرية التي تقوم بإنشائها باستخدام مجموعات مقياس الجهاز الظاهري في وضع التنسيق المرن بالوصول الصادر الافتراضي.

لمزيد من المعلومات حول الاتصالات الصادرة في Azure، راجع الوصول الصادر الافتراضي في Azure واستخدام ترجمة عنوان الشبكة المصدر (SNAT) للاتصالات الصادرة.

التواصل بين الأجهزة الظاهرية

يمكنك الاتصال بعنوان IP العام للجهاز الظاهري من الإنترنت. استخدم Get-AzPublicIpAddress لعرض عنوان IP العام الخاص بجهاز ظاهري. يرجع المثال التالي عنوان IP العمومي لأجهزة myVm1الظاهرية:

Get-AzPublicIpAddress `
  -Name myVm1 `
  -ResourceGroupName myResourceGroup | Select IpAddress

استخدم الأمر التالي لإنشاء جلسة عمل سطح مكتب بعيد مع جهاز الظاهري myVm1 من الكمبيوتر المحلي. استبدال <publicIpAddress> عنوان IP الذي تم إرجاعه من الأمر السابق.

mstsc /v:<publicIpAddress>

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

على جهاز VMmyVm1، تمكين Internet Control Message Protocol (ICMP) من خلال جدار الحماية Windows، بحيث يمكنك تنفيذ الأمر ping هذا الجهاز الظاهري من myVm2 في خطوة لاحقة، باستخدام PowerShell:

New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4

على الرغم من استخدام الأمر ping للتواصل بين الأجهزة الافتراضية في هذا المقال، إلا أنه لا يوصى بالسماح لـ ICMP من خلال جدار حماية Windows لعمليات نشر الإنتاج.

للاتصال بأجهزة الظاهرية myVm2 أدخل الأمر التالي من موجه الأوامر على جهاز VMmyVm1:

mstsc /v:10.1.0.4

نظرًا لأنك قمت بتمكين ping على myVm1، يمكنك الآن اختباره عن طريق عنوان IP من موجه الأوامر على جهاز myVm2 الظاهري:

ping 10.0.0.4

تتلقى أربعة ردود. قطع جلسات RDP الخاصة بك إلى كل من myVm1 و myVm2.

تنظيف الموارد

عند عدم الحاجة إليها، استخدم Remove-AzResourceGroup لإزالة مجموعة الموارد وجميع الموارد ذات الصلة.

Remove-AzResourceGroup -Name myResourceGroup -Force

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

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

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