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
する必要があります。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示