web-dev-qa-db-ja.com

サーバー2016:DNSポリシーを使用して、特定のサブネットから特定のドメインへのクエリを許可する

パブリックDNSサーバーで、 DNSポリシー を使用してルールを作成し、特定のドメインのみへのトラフィックを許可します。指定されたサブネット。

たとえば、ドメインcontoso.comがあるが、特定のサブネットのみがこれをクエリできるようにしたい場合(このサーバーには他の公的にクエリ可能なドメインがあることに注意してください )。 DNSポリシーを使用すると、特定のサブネットが特定のドメインにクエリを実行するのを簡単にブロックできますが、その方法がわかりませんallow特定のサブネットが特定のドメインにクエリを実行できるようにします。

以下はblockに対して機能します:

Add-DnsServerQueryResolutionPolicy -Name "Disallow_Contoso" -Action IGNORE -ClientSubnet "EQ,LocalSubnet10.x" –FQDN "EQ,*.contoso.com" -PassThru

ただし、以下はallowでは機能しません。

Add-DnsServerQueryResolutionPolicy -Name "Allow_Contoso" -Action ALLOW -ClientSubnet "EQ,LocalSubnet10.x" –FQDN "EQ,*.contoso.com" -PassThru

2番目のコマンドでPowershellから返されるエラーは次のとおりです。

Add-DnsServerQueryResolutionPolicy : Failed to create policy Allow_Contoso on DNS server DNS1. Please see internal exception for details.
At line:1 char:1
+ Add-DnsServerQueryResolutionPolicy -Name "Allow_Contoso" -Action ALLOW  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (Allow_Contoso:root/Microsoft/...esolutionPolicy) [Add-DnsServerQueryResolutionPolicy], CimException
+ FullyQualifiedErrorId : WIN32 87,Add-DnsServerQueryResolutionPolicy

このコンテキストでは-Action ALLOWは許可されていないようですが、不可解なエラーメッセージに基づいて確認することはできません。

2
Beems

多くの試行錯誤の末、以下が機能しています。

Add-DnsServerClientSubnet -Name "Subnet192.x" -IPv4Subnet 192.168.0.0/24
Add-DnsServerZoneScope -ZoneName "contoso.com" -Name "SpecialSubnet" -PassThru
Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "test" -IPv4Address "10.10.0.1" -ZoneScope "SpecialSubnet" -PassThru
Add-DnsServerQueryResolutionPolicy -Name "SpecialPolicy" -Action ALLOW -ClientSubnet "eq,Subnet192.x" -ZoneScope "SpecialSubnet,1" -ZoneName "contoso.com" -PassThru

したがって、クエリを実行しているデバイスが192.168.0.0/24サブネットの外部にある場合、ネイティブDNSゾーンはtest.contoso.comの「A」レコードで応答します(手動で作成されていると想定)。クエリを実行しているデバイスが192.168.0.0/24サブネット内にある場合、ここで作成されたポリシーは、10.10.0.1のクエリに対してtest.contoso.comで応答します。

1
Beems