التشغيل السريع: إنشاء Azure DNS Private Resolver باستخدام Azure PowerShell

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

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

Azure DNS Private Resolver هو خدمة تمكنك من الاستعلام عن مناطق Azure DNS الخاصة من بيئة محلية والعكس بالعكس دون توزيع خوادم DNS المستندة إلى الجهاز الظاهري. لمزيد من المعلومات، بما في ذلك المزايا والإمكانات والتوافر الإقليمي، راجع ما هو Azure DNS Private Resolver.

يلخص الشكل التالي الإعداد المستخدم في هذه المقالة:

رسم توضيحي تصوري يعرض مكونات محلل خاص.

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

في حال لم يكن لديك اشتراك في Azure، يُمكنك إنشاء حساب مجاني قبل البدء.

تفترض هذه المقالة أنك قمت بـ تثبيت الوحدة النمطية Azure PowerShell.

تثبيت الوحدة النمطية Az.DnsResolver PowerShell

إشعار

إذا قمت مسبقا بتثبيت الوحدة النمطية Az.DnsResolver للتقييم أثناء المعاينة الخاصة، يمكنك إلغاء تسجيل وحذف PSRepository المحلي الذي تم إنشاؤه. قم بعد ذلك بتثبيت أحدث إصدار من الوحدة النمطية Az.DnsResolver باستخدام الخطوات الواردة في هذه المقالة.

قم بتثبيت الوحدة النمطية Az.DnsResolver.

Install-Module Az.DnsResolver

تأكد من تثبيت الوحدة النمطية Az.DnsResolver. الإصدار الحالي من هذه الوحدة النمطية هو 0.2.1.

Get-InstalledModule -Name Az.DnsResolver

تعيين سياق الاشتراك في Azure PowerShell

قم بتوصيل PowerShell بسحابة Azure.

Connect-AzAccount -Environment AzureCloud

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

Select-AzSubscription -SubscriptionObject (Get-AzSubscription -SubscriptionId <your-sub-id>)

سجل مساحة اسم موفر Microsoft.Network لحسابك.

قبل أن تتمكن من استخدام خدمات Microsoft.Network باستخدام اشتراك Azure، يجب عليك تسجيل مساحة اسم Microsoft.Network:

استخدم الأمر التالي لتسجيل مساحة اسم Microsoft.Network.

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

إنشاء مثيل محلل DNS

هام

خطوات التحقق من أن الموارد تم إنشاؤها بنجاح أو تأكيدها ليست اختيارية. لا تتخط هذه الخطوات. الخطوات تملأ المتغيرات التي يمكن استخدامها في الإجراءات اللاحقة.

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

New-AzResourceGroup -Name myresourcegroup -Location westcentralus

قم بإنشاء شبكة ظاهرية في مجموعة الموارد التي قمت بإنشائها.

New-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup -Location westcentralus -AddressPrefix "10.0.0.0/8"

قم بإنشاء محلل DNS في الشبكة الظاهرية التي قمت بإنشائها.

New-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup -Location westcentralus -VirtualNetworkId "/subscriptions/<your subs id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet"

قم بالتحقق من إنشاء محلل DNS بنجاح وأن الحالة متصلة (اختياري). في الإخراج، يتم الاتصال dnsResolverState.

$dnsResolver = Get-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup
$dnsResolver.ToJsonString()

إنشاء نقطة نهاية واردة لمحلل DNS

قم بإنشاء شبكة فرعية في الشبكة الظاهرية

قم بإنشاء شبكة فرعية في الشبكة الظاهرية (Microsoft.Network/virtualNetworks/subnets) من مساحة عنوان IP التي قمت بتعيينها مسبقًا. يجب أن يكون حجم الشبكة الفرعية /28 على الأقل (16 عنوان IP).

$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-inbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.0.0/28"
$virtualNetwork | Set-AzVirtualNetwork

إنشاء نقطة النهاية الواردة

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

تلميح

باستخدام PowerShell، يمكنك تحديد عنوان IP لنقطة النهاية الواردة ليكون ديناميكيا أو ثابتا.
إذا تم تحديد عنوان IP لنقطة النهاية على أنه ديناميكي، فلن يتغير العنوان ما لم يتم حذف نقطة النهاية وإعادة توفيرها. عادة ما يتم تعيين نفس عنوان IP مرة أخرى أثناء إعادة التزويد.
إذا كان عنوان IP لنقطة النهاية ثابتا، يمكن تحديده وإعادة استخدامه إذا تمت إعادة توفير نقطة النهاية. لا يمكن أن يكون عنوان IP الذي تختاره عنوان IP محجوزا في الشبكة الفرعية.

توفر الأوامر التالية عنوان IP ديناميكيا:

$ipconfig = New-AzDnsResolverIPConfigurationObject -PrivateIPAllocationMethod Dynamic -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-inbound
New-AzDnsResolverInboundEndpoint -DnsResolverName mydnsresolver -Name myinboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -IpConfiguration $ipconfig

استخدم الأوامر التالية لتحديد عنوان IP ثابت. لا تستخدم كلا من المجموعات الديناميكية والثابتة من الأوامر.

يجب تحديد عنوان IP في الشبكة الفرعية التي تم إنشاؤها مسبقا. لا يمكن أن يكون عنوان IP الذي تختاره عنوان IP محجوزا في الشبكة الفرعية.

توفر الأوامر التالية عنوان IP ثابتا:

$ipconfig = New-AzDnsResolverIPConfigurationObject -PrivateIPAddress 10.0.0.4 -PrivateIPAllocationMethod Static -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-inbound
New-AzDnsResolverInboundEndpoint -DnsResolverName mydnsresolver -Name myinboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -IpConfiguration $ipconfig

تأكيد نقطة النهاية الواردة

تأكد من إنشاء نقطة النهاية الواردة وتخصيص عنوان IP داخل الشبكة الفرعية المعينة.

$inboundEndpoint = Get-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$inboundEndpoint.ToJsonString()

إنشاء نقطة نهاية صادرة لمحلل DNS

قم بإنشاء شبكة فرعية في الشبكة الظاهرية

إنشاء شبكة فرعية في الشبكة الظاهرية (Microsoft.Network/virtualNetworks/subnets) من مساحة عنوان IP التي قمت بتعيينها مسبقًا، والمختلفة عن الشبكة الفرعية الواردة (snet-inbound). كما يجب أن تكون الشبكة الفرعية الصادرة /28 على الأقل في الحجم (16 عنوان IP).

$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-outbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.1.1.0/28"
$virtualNetwork | Set-AzVirtualNetwork

إنشاء نقطة نهاية صادرة

تتيح نقطة النهاية الصادرة تحليل اسم إعادة التوجيه الشرطي من Azure إلى خوادم DNS الخارجية.

New-AzDnsResolverOutboundEndpoint -DnsResolverName mydnsresolver -Name myoutboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-outbound

تأكيد نقطة النهاية الصادرة الخاصة بك

تأكد من إنشاء نقطة نهاية صادرة وتخصيص عنوان IP داخل الشبكة الفرعية المعينة.

$outboundEndpoint = Get-AzDnsResolverOutboundEndpoint -Name myoutboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$outboundEndpoint.ToJsonString()

إنشاء مجموعة قواعد إعادة توجيه محلل DNS

قم بإنشاء مجموعة قواعد إعادة توجيه DNS لنقطة النهاية الصادرة التي قمت بإنشائها.

New-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup -DnsResolverOutboundEndpoint $outboundendpoint -Location westcentralus

تأكيد مجموعة قواعد إعادة توجيه DNS

تأكد من إنشاء مجموعة قواعد إعادة التوجيه.

$dnsForwardingRuleset = Get-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup
$dnsForwardingRuleset.ToJsonString()

تمكن ارتباطات الشبكة الظاهرية تحليل الاسم للشبكات الظاهرية المرتبطة بنقطة نهاية صادرة مع مجموعة قواعد إعادة توجيه DNS.

$vnet = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup 
$vnetlink = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink" -VirtualNetworkId $vnet.Id -SubscriptionId <your sub id>

تأكد من إنشاء ارتباط الشبكة الظاهرية.

$virtualNetworkLink = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup 
$virtualNetworkLink.ToJsonString()

إنشاء شبكة ظاهرية ثانية لمحاكاة بيئة محلية أو بيئة أخرى.

$vnet2 = New-AzVirtualNetwork -Name myvnet2 -ResourceGroupName myresourcegroup -Location westcentralus -AddressPrefix "12.0.0.0/8"
$vnetlink2 = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink2" -VirtualNetworkId $vnet2.Id -SubscriptionId <your sub id>

تأكيد الشبكة الافتراضية الثانية

تأكد من إنشاء شبكة ظاهرية ثانية.

$virtualNetworkLink2 = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup 
$virtualNetworkLink2.ToJsonString()

إنشاء قواعد إعادة التوجيه

إنشاء قاعدة إعادة توجيه لمجموعة قواعد إلى خادم DNS هدف واحد أو أكثر. يجب تحديد اسم المجال المؤهل بالكامل (FQDN) بنقطة زائدة. يقوم New-AzDnsResolverTargetDnsServerObject cmdlet بتعيين المنفذ الافتراضي على أنه 53، ولكن يمكنك أيضًا تحديد منفذ فريد.

$targetDNS1 = New-AzDnsResolverTargetDnsServerObject -IPAddress 192.168.1.2 -Port 53 
$targetDNS2 = New-AzDnsResolverTargetDnsServerObject -IPAddress 192.168.1.3 -Port 53
$targetDNS3 = New-AzDnsResolverTargetDnsServerObject -IPAddress 10.0.0.4 -Port 53
$targetDNS4 = New-AzDnsResolverTargetDnsServerObject -IPAddress 10.5.5.5 -Port 53
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "Internal" -DomainName "internal.contoso.com." -ForwardingRuleState "Enabled" -TargetDnsServer @($targetDNS1,$targetDNS2)
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "AzurePrivate" -DomainName "azure.contoso.com" -ForwardingRuleState "Enabled" -TargetDnsServer $targetDNS3
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "Wildcard" -DomainName "." -ForwardingRuleState "Enabled" -TargetDnsServer $targetDNS4

في هذا المثال:

  • 10.0.0.4 هي نقطة النهاية الواردة لوحدة الحل.
  • 192.168.1.2 و 192.168.1.3 هما خوادم DNS المحلية.
  • 10.5.5.5 هي خدمة DNS الواقية.

هام

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

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

اختبار المحلل الخاص

يجب أن تكون قادرًا الآن على إرسال نسبة استخدام شبكة DNS إلى محلل DNS وحل السجلات استنادًا إلى مجموعات قواعد إعادة التوجيه، بما في ذلك:

  • مناطق Azure DNS الخاصة المرتبطة بالشبكة الظاهرية حيث يتم توزيع المحلل.
  • مناطق DNS في مساحة اسم DNS للإنترنت العام.
  • مناطق Private DNS المستضافة على الموقع المحلي.

حذف محلل DNS

لحذف محلل DNS، يجب حذف نقاط النهاية الواردة للمورد التي تم إنشاؤها داخل محلل أولا. بمجرد إزالة نقاط النهاية الواردة، يمكن حذف محلل DNS الأصل.

حذف نقطة النهاية الواردة

Remove-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup 
Remove-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -Name vnetlink -ResourceGroupName myresourcegroup

حذف مجموعة قواعد إعادة توجيه DNS

Remove-AzDnsForwardingRuleset -Name $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup

حذف نقطة النهاية الصادرة

Remove-AzDnsResolverOutboundEndpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup -Name myoutboundendpoint

حذف محلل DNS

Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup

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