توصيل الشبكات الافتراضية بمناظرة الشبكة الافتراضية باستخدام Azure CLI
يمكنك توصيل الشبكات الافتراضية ببعضها البعض من خلال التناظر الشبكي الافتراضي. بمجرد تشابه الشبكات الظاهرية، تتمكن الموارد في كلتا شبكتي الشبكة الظاهرية من التواصل مع بعضها البعض، بنفس زمن الوصول ونفس النطاق الترددي كما لو كانت الموارد في الشبكة الظاهرية نفسها. ستتعلم في هذا المقال طريقة إجراء ما يلي:
- إنشاء شبكتين افتراضيتين
- توصيل شبكتين افتراضيتين بشبكة افتراضية تناظر
- انشر جهازًا افتراضيًا (VM) في كل شبكة افتراضية
- التواصل بين VMs
إذا لم يكن لديك اشتراك Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع تشغيل سريع لـ Azure Cloud Shell - Bash.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، التزم بالخطوات المعروضة في وحدتك الطرفية. للحصول على خيارات إضافية لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عند مطالبتك، يوصى بتثبيت امتدادات Azure CLI عند الاستخدام الأول. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
- تتطلب هذه المقالة الإصدار 2.0.28 أو إصدارًا أحدث من واجهة سطر الأوامر من Azure. في حالة استخدام Azure Cloud Shell، يكون الإصدار الأخير مثبتًا بالفعل.
إنشاء الشبكات الظاهرية.
قبل إنشاء شبكة ظاهرية، يجب عليك إنشاء مجموعة موارد للشبكة الظاهرية، وكافة الموارد الأخرى التي تم إنشاؤها في هذه المقالة. قم بإنشاء مجموعة موارد باستخدام إنشاء مجموعة من الألف إلى الياء . في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.
az group create --name myResourceGroup --location eastus
قم بإنشاء شبكة ظاهرية باستخدام az networkvnet create. ينشئ المثال التالي شبكة اتصال ظاهرية تسمى myVirtualNetwork1 مع بادئة العنوان 10.0.0.0/16.
az network vnet create \
--name myVirtualNetwork1 \
--resource-group myResourceGroup \
--address-prefixes 10.0.0.0/16 \
--subnet-name Subnet1 \
--subnet-prefix 10.0.0.0/24
إنشاء شبكة ظاهرية باسم myVirtualNetwork2 مع بادئة العنوان 10.1.0.0/16:
az network vnet create \
--name myVirtualNetwork2 \
--resource-group myResourceGroup \
--address-prefixes 10.1.0.0/16 \
--subnet-name Subnet1 \
--subnet-prefix 10.1.0.0/24
شبكات افتراضية نظيرة
يتم إنشاء Peerings بين معرفات الشبكة الظاهرية، لذلك يجب عليك أولًا الحصول على معرف كل شبكة افتراضية باستخدام az network vnet show وتخزين المعرف في متغير.
# Get the id for myVirtualNetwork1.
vNet1Id=$(az network vnet show \
--resource-group myResourceGroup \
--name myVirtualNetwork1 \
--query id --out tsv)
# Get the id for myVirtualNetwork2.
vNet2Id=$(az network vnet show \
--resource-group myResourceGroup \
--name myVirtualNetwork2 \
--query id \
--out tsv)
إنشاء نظير من myVirtualNetwork1 إلى myVirtualNetwork2 باستخدام az network vnet peering create. إذا لم يتم تحديد المعلمة --allow-vnet-access، يتم إنشاء نظير، ولكن لا يمكن لأي اتصال أن يتدفق من خلاله.
az network vnet peering create \
--name myVirtualNetwork1-myVirtualNetwork2 \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork1 \
--remote-vnet $vNet2Id \
--allow-vnet-access
في الإخراج الذي تم إرجاعه بعد تنفيذ الأمر السابق، سترى أنه تم بدء تشغيلPeeringState. يبقى النظير في حالة تم البدء حتى تقوم بإنشاء النظير من myVirtualNetwork2 إلى myVirtualNetwork1. إنشاء نظير من myVirtualNetwork2 إلى myVirtualNetwork1.
az network vnet peering create \
--name myVirtualNetwork2-myVirtualNetwork1 \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork2 \
--remote-vnet $vNet1Id \
--allow-vnet-access
في الإخراج الذي تم إرجاعه بعد تنفيذ الأمر السابق، سترى أنه تم اتصالPeeringState. قام Azure أيضا بتغيير حالة النظير لـmyVirtualNetwork1-myVirtualNetwork2 نظير إلى متصل. تأكد من أن حالة النظير لـmyVirtualNetwork1-myVirtualNetwork2 تغيرت إلى متصل مع az network vnet peering show.
az network vnet peering show \
--name myVirtualNetwork1-myVirtualNetwork2 \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork1 \
--query peeringState
لا يمكن للموارد الموجودة في إحدى الشبكات الظاهرية الاتصال بالموارد الموجودة في الشبكة الظاهرية الأخرى حتى يتم توصيلPeeringState للأقران في كلتا الشبكتين الظاهريتين.
أنشئ الأجهزة الظاهرية
قم بإنشاء جهاز ظاهري في كل شبكة ظاهرية بحيث يمكنك التواصل بينها في خطوة لاحقة.
إنشاء أول جهاز ظاهري
قم بإنشاء جهاز ظاهري باستخدام az vm create. يقوم المثال التالي بإنشاء جهاز ظاهري باسم myVm1 في الشبكة الظاهرية myVirtualNetwork1. وإذا لم تكن مفاتيح SSH موجودة بالفعل في موقع المفتاح الافتراضي، ينشئها الأمر. ولاستخدام مجموعة محددة من المفاتيح، استخدم الخيار --ssh-key-value. ينشئ الخيار --no-wait الجهاز الظاهري في الخلفية، حتى تتمكن من المتابعة إلى الخطوة التالية.
az vm create \
--resource-group myResourceGroup \
--name myVm1 \
--image UbuntuLTS \
--vnet-name myVirtualNetwork1 \
--subnet Subnet1 \
--generate-ssh-keys \
--no-wait
قم بإنشاء VM الثاني
إنشاء جهاز ظاهري في الشبكة الظاهرية myVirtualNetwork2.
az vm create \
--resource-group myResourceGroup \
--name myVm2 \
--image UbuntuLTS \
--vnet-name myVirtualNetwork2 \
--subnet Subnet1 \
--generate-ssh-keys
يستغرق إنشاء جهاز ظاهري بضع دقائق. بعد إنشاء الجهاز الظاهري، يعرض Azure CLI معلومات مشابهة للمثال التالي:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm2",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.1.0.4",
"publicIpAddress": "13.90.242.231",
"resourceGroup": "myResourceGroup"
}
لاحظ publicIpAddress. يُستخدم هذا العنوان للوصول إلى الجهاز الظاهري من الإنترنت في خطوة لاحقة.
ملاحظة
يوفر Azure عنوان IP افتراضيًا للوصول الصادر للأجهزة الظاهرية التي إما لم يتم تعيين عنوان IP عام لها أو موجودة في التجمع الخلفي لموازن تحميل Azure الداخلي الأساسي. توفر آلية IP للوصول الصادر الافتراضي عنوان IP صادر غير قابل للتكوين.
لمزيدٍ من المعلومات، راجع الوصول الصادر الافتراضي في Azure.
يتم تعطيل عنوان IP الافتراضي للوصول الصادر عند تعيين عنوان IP عام للجهاز الظاهري أو وضع الجهاز الظاهري في التجمع الخلفي لموازن التحميل القياسي، مع أو بدون قواعد صادرة. إذا تم تعيين مورد بوابة ترجمة عناوين الشبكة (NAT) لشبكة Azure الظاهرية إلى الشبكة الفرعية للجهاز الظاهري، فسيتم تعطيل عنوان IP الافتراضي للوصول الصادر.
لا تحتوي الأجهزة الظاهرية التي تم إنشاؤها بواسطة مجموعات مقياس الجهاز الظاهري في وضع التزامن المرن على وصول صادر افتراضي.
لمزيدٍ من المعلومات حول الاتصالات الصادرة في Azure، راجع استخدام ترجمة عناوين الشبكة المصدر (SNAT) للاتصالات الصادرة.
التواصل بين VMs
استخدم الأمر التالي لإنشاء جلسة SSH باستخدام الجهاز الظاهري myVm2. استبدل <publicIpAddress> بعنوان IP العام لجهاز الجهاز الظاهري. في المثال السابق، عنوان IP العام هو 13.90.242.231.
ssh <publicIpAddress>
اختبار الاتصال للجهاز الظاهري في myVirtualNetwork1.
ping 10.0.0.4 -c 4
تتلقى أربعة ردود.
أغلق جلسة عمل SSH إلى الجهاز الظاهري myVm2.
تنظيف الموارد
عندما لم تعد هناك حاجة، استخدم حذف المجموعة من الألف إلى الياء لإزالة مجموعة الموارد وجميع الموارد التي تحتوي عليها.
az group delete --name myResourceGroup --yes
الخطوات التالية
في هذه المقالة، تعلمت كيفية توصيل شبكتين في نفس منطقة Azure، مع نظير الشبكة الظاهرية. يمكنك أيضًا نظير الشبكات الظاهرية في مناطق مختلفة مدعومة وفي اشتراكات Azure مختلفة، بالإضافة إلى إنشاء تصميمات شبكات محورية وناطقة باستخدام النظراء. لمعرفة المزيد حول نظير الشبكة الظاهرية، راجع نظرة عامة على نظير الشبكة الظاهريةوإدارة نظير الشبكة الظاهرية.
يمكنك توصيل جهاز الكمبيوتر الخاص بك بشبكة افتراضية من خلال VPN، والتفاعل مع الموارد الموجودة في شبكة افتراضية، أو في الشبكات الافتراضية النظيرة. للحصول على برامج نصية قابلة لإعادة الاستخدام لإكمال العديد من المهام التي تغطيها مقالات الشبكة الظاهرية، راجع نماذج البرامج النصية.
