الاتصال ظاهرية مع نظير الشبكة الظاهرية باستخدام 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. ينشئ المثال التالي مجموعة موارد تسمى test-rg في موقع eastus .

$resourceGroup = @{
    Name = "test-rg"
    Location = "EastUS"
}
New-AzResourceGroup @resourceGroup

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

$vnet1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-1"
    AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork1 = New-AzVirtualNetwork @vnet1

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

$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.0.0.0/24"
    VirtualNetwork = $virtualNetwork1
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

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

$virtualNetwork1 | Set-AzVirtualNetwork

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

# Create the virtual network.
$vnet2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-2"
    AddressPrefix = "10.1.0.0/16"
}
$virtualNetwork2 = New-AzVirtualNetwork @vnet2

# Create the subnet configuration.
$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.1.0.0/24"
    VirtualNetwork = $virtualNetwork2
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

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

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

إنشاء نظير باستخدام Add-AzVirtualNetworkPeering. المثال التالي نظير vnet-1 إلى vnet-2.

$peerConfig1 = @{
    Name = "vnet-1-to-vnet-2"
    VirtualNetwork = $virtualNetwork1
    RemoteVirtualNetworkId = $virtualNetwork2.Id
}
Add-AzVirtualNetworkPeering @peerConfig1

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

$peerConfig2 = @{
    Name = "vnet-2-to-vnet-1"
    VirtualNetwork = $virtualNetwork2
    RemoteVirtualNetworkId = $virtualNetwork1.Id
}
Add-AzVirtualNetworkPeering @peerConfig2

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

$peeringState = @{
    ResourceGroupName = "test-rg"
    VirtualNetworkName = "vnet-1"
}
Get-AzVirtualNetworkPeering @peeringState | Select PeeringState

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

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

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

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

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

$vm1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-1"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-1"
}
New-AzVm @vm1 -AsJob

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

$vm2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-2"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-2"
}
New-AzVm @vm2

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

إشعار

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

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

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

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

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

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

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

$ipAddress = @{
    ResourceGroupName = "test-rg"
    Name = "vm-1"
}
Get-AzPublicIpAddress @ipAddress | Select IpAddress

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

mstsc /v:<publicIpAddress>

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

على vm-1، قم بتمكين بروتوكول رسالة التحكم بالإنترنت (ICMP) من خلال جدار حماية Windows حتى تتمكن من اختبار اتصال هذا الجهاز الظاهري من vm-2 في خطوة لاحقة، باستخدام PowerShell:

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

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

للاتصال ب vm-2، أدخل الأمر التالي من موجه الأوامر على vm-1:

mstsc /v:10.1.0.4

لقد قمت بتمكين ping على vm-1. يمكنك الآن اختبار اتصال vm-1 بواسطة عنوان IP من موجه الأوامر على vm-2.

ping 10.0.0.4

تتلقى أربعة ردود. افصل جلسات RDP إلى كل من vm-1 وvm-2.

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

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

Remove-AzResourceGroup -Name test-rg -Force

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

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

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