إضافة تطبيق IPv4 إلى IPv6 في شبكة Azure الظاهرية باستخدام PowerShell

توضح هذه المقالة كيفية إضافة اتصال IPv6 إلى تطبيق IPv4 موجود في شبكة ظاهرية Azure مع موازن تحميل قياسي و IP عام. تتضمن الترقية الموضعية ما يلي:

  • مساحة عنوان IPv6 للشبكة الظاهرية والشبكة الفرعية
  • موازن التحميل القياسي مع كل من تكوينات IPv4 و IPV6 الأمامية
  • الأجهزة الظاهرية مع بطاقات واجهة الشبكة التي تحتوي على تكوين IPv4 وIPv6
  • عنوان IPv6 عام بحيث يكون لدى موازن التحميل اتصال IPv6 على واجهة الإنترنت.

Azure Cloud Shell

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

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. Button to launch Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

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

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

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

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

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

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

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

تفترض هذه المقالة أن قمت بنشر موازن تحميل قياسي كما هو موضح في التشغيل السريع : إنشاء موازن تحميل قياسي - Azure PowerShell.

استرد مُعرف مجموعة الموارد

قبل أن تتمكن من إنشاء شبكة الاتصال الظاهرية مزدوجة المكدس، عليك استرداد مجموعة الموارد مع Get-AzResourceGroup.

$rg = Get-AzResourceGroup  -ResourceGroupName "myResourceGroupSLB"

قم بإنشاء عناوين IP IPv6

قم بإنشاء عنوان IPv6 عام من خلالعنوان IP عام جديد لموازن التحميل القياسي الخاص بك. في المثال التالي، يتم إنشاء عنوان IP عام IPv6 تحت اسم PublicIP_v6 في مجموعة موارد myResourceGroupSLB:

$PublicIP_v6 = New-AzPublicIpAddress `
  -Name "PublicIP_v6" `
  -ResourceGroupName $rg.ResourceGroupName `
  -Location $rg.Location  `
  -Sku Standard  `
  -AllocationMethod Static `
  -IpAddressVersion IPv6

كوّن الواجهة الأمامية لموازن التحميل

استرد تكوين موازن التحميل الموجودة ثم أضف عنوان IP IPv6 جديد باستخدام Add-AzLoadBalancerFrontendIpConfig كما يلي:

# Retrieve the load balancer configuration
$lb = Get-AzLoadBalancer -ResourceGroupName $rg.ResourceGroupName -Name "MyLoadBalancer"

# Add IPv6 components to the local copy of the load balancer configuration
$lb | Add-AzLoadBalancerFrontendIpConfig `
  -Name "dsLbFrontEnd_v6" `
  -PublicIpAddress $PublicIP_v6

#Update the running load balancer with the new frontend
$lb | Set-AzLoadBalancer

تكوين تجمع الواجهة الخلفية لموازن التحميل

إنشاء تجمع الواجهة الخلفية على النسخة المحلية من تكوين موازن التحميل وتحديث موازن التحميل قيد التشغيل مع تكوين تجمع الواجهة الخلفية الجديد كما يلي:

$lb | Add-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6"

# Update the running load balancer with the new backend pool
$lb | Set-AzLoadBalancer

تكوين قواعد موازن التحميل

استرد الواجهة الأمامية لموازن التحميل الموجودة وتكوين تجمع الواجهة الخلفية وثم أضف قواعد جديدة خاصة بموازنة التحميل باستخدام Add-AzLoadBalancerRuleConfig.

# Retrieve the updated (live) versions of the frontend and backend pool
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "dsLbFrontEnd_v6" -LoadBalancer $lb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6" -LoadBalancer $lb

# Create new LB rule with the frontend and backend
$lb | Add-AzLoadBalancerRuleConfig `
  -Name "dsLBrule_v6" `
  -FrontendIpConfiguration $frontendIPv6 `
  -BackendAddressPool $backendPoolv6 `
  -Protocol Tcp `
  -FrontendPort 80 `
  -BackendPort 80

#Finalize all the load balancer updates on the running load balancer
$lb | Set-AzLoadBalancer

أضف نطاقات عناوين IPv6

أضف نطاقات عناوين IPv6 إلى الشبكة الظاهرية والشبكة الفرعية التي تستضيف الأجهزة الظاهرية كما يلي:

#Add IPv6 ranges to the VNET and subnet
#Retreive the VNET object
$vnet = Get-AzVirtualNetwork  -ResourceGroupName $rg.ResourceGroupName -Name "myVnet" 

#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")

#Update the running VNET
$vnet |  Set-AzVirtualNetwork

#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]

#Add IPv6 prefix to the Subnet (subnet of the VNET prefix, of course)
$subnet.addressprefix.add("fd00:db8:deca::/64")

#Update the running VNET with the new subnet configuration
$vnet |  Set-AzVirtualNetwork

أضف تكوين IPv6 إلى بطاقة واجهة الشبكة

قم بتكوين كافة بطاقات واجهة الشبكة الخاصة بالأجهزة الظاهرية باستخدام عنوان IPv6 عن طريق Add-AzNetworkInterfaceIpConfig كما يلي:

#Retrieve the NIC objects
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$NIC_2 = Get-AzNetworkInterface -Name "myNic2" -ResourceGroupName $rg.ResourceGroupName
$NIC_3 = Get-AzNetworkInterface -Name "myNic3" -ResourceGroupName $rg.ResourceGroupName

#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0]  -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6 
$NIC_1 | Set-AzNetworkInterface

#Add an IPv6 IPconfig to NIC_2 and update the NIC on the running VM
$NIC_2 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0]  -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6 
$NIC_2 | Set-AzNetworkInterface

#Add an IPv6 IPconfig to NIC_3 and update the NIC on the running VM
$NIC_3 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0]  -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6 
$NIC_3 | Set-AzNetworkInterface

عرض شبكة IPv6 الظاهرية للمكدس المزدوج في مدخل Microsoft Azure

يمكنك عرض شبكة الاتصال الظاهرية للمكدس المزدوج IPv6 في مدخل Microsoft Azure كما يلي:

  1. في شريط البحث الخاص بالمدخل، أدخل الشبكات الظاهرية و

  2. في نافذة Virtual Networks ، حدد myVNet.

  3. حدد الأجهزة الاتصال ضمن الإعدادات لعرض واجهات الشبكة المرفقة. تعرض الشبكة الظاهرية مزدوجة المكدس بطاقات NIC الثلاثة مع كل من تكوينات IPv4 وIPv6.

    Screenshot of connected devices settings displaying IPv4 and IPv6 addresses on network interfaces.

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

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

Remove-AzResourceGroup -Name MyAzureResourceGroupSLB

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

في هذه المقالة، قمت بتحديث موازن تحميل قياسي موجود مع تكوين IP واجهة IPv4 الأمامية إلى تكوين مكدس مزدوج (IPv4 و IPv6). قمت أيضًا بإضافة تكوينات IPv6 إلى بطاقات واجهة الشبكة للأجهزة الظاهرية في تجمع الخلفية وإلى الشبكة الظاهرية التي تستضيفها. لمعرفة المزيد حول دعم IPv6 في شبكات Azure الظاهرية، راجع ما هو IPv6 لشبكة Azure الظاهرية؟