次の方法で共有


DNS サーバーの geo 場所ポリシーが期待どおりに機能しない

適用対象: Windows Server 2019、すべてのエディション Windows Server 2019 Datacenter: Azure Edition - プレビュー

現象

内部ワークステーションとサーバーに contoso.com という名前の AD 統合ゾーン (既定のゾーン スコープ) を使用するorganizationを検討してください。 organizationは、特定のサイト内のクライアントがローカル サブネットからイントラネット サービスにアクセスできるように、ブランチの地理的な場所の DNS 構造を実装したいと考えています。

DNS ゾーンの構成は、次の構造のようになります。

サブネット IPv4 アドレス空間 ゾーン スコープ名
NorthAmericaSubnet 192.168.3.0/24 NorthAmericaZoneScope
CentralAmericaSubnet 192.168.6.0/24 CentralAmericaZoneScope
SouthAmericaSubnet 192.168.7.0/24 SouthAmericaZoneScope

organizationでは、次のWindows PowerShell コマンドレットを使用してホスト アドレス (A) レコードを登録します。

Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.3.40" -ZoneScope "NorthAmericaZoneScope"
Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.6.40" -ZoneScope "CentralAmericaZoneScope"
Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.7.40" -ZoneScope "SouthAmericaZoneScope"

organizationでは、次の PowerShell コマンドレットを使用してポリシーを定義します。

Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "CentralAmericaPolicy" -Action ALLOW -ClientSubnet "eq,CentralAmericaSubnet" -ZoneScope "CentralAmericaZoneScope,1" -ZoneName "contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "SouthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,SouthAmericaSubnet" -ZoneScope "SouthAmericaZoneScope,1" -ZoneName "contoso.com"

必要な結果は、クライアントが最初にローカル ゾーン スコープで、次に既定のゾーン スコープで要求されたリソースを見つけようとすることです。 ただし、organizationでこれらのポリシーを構成した後、定義されたサブネットのクライアントは、既定のゾーン スコープ (contoso.com) でホストされているレコードを正常に解決できません。 たとえば、クライアントは hostA.contoso.com を解決できません。 このような要求を受信すると、DNS サーバーは "サーバー エラー" メッセージを返します。

原因

この状況では、受信権限のあるクエリは、優先順位に基づいて適切なゾーン レベル ポリシーのセットに対して評価されます。 ポリシーに一致しないクエリは、既定のゾーン スコープから自動的に処理されるのが直感的なようです。 ただし、これは当てはまりません。 代わりに、一致しないクエリによって名前解決エラーがトリガーされます。 つまり、DNS サーバーが、クライアント サブネット ポリシーで指定されたクライアントから hostA.contoso.com の名前解決クエリを受け取った場合、DNS サーバーは関連するゾーン スコープのみを調べます。

解決方法

ローカル ゾーン スコープに加えて DNS サーバーが既定のゾーン スコープをチェックするようにポリシーを構成するには、次のようなより正確な DnsServerQueryResolutionPolicy ステートメントを使用します。

Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "contoso.com" -FQDN "www.contoso.com"

注:

適切なゾーン スコープに含まれるレコードごとにステートメントを作成 DnsServerQueryResolutionPolicy する必要があります。