Windows Server Technical Preview 2の新しいDNSサーバー機能

この記事の著者は、ITコミュニティのメンバーであるAndrey Kaptelinです。


Windows Server Technical Preview 2のリリースでは、多くのサービスが更新されています。 名誉あるDNSネームサーバーも更新をバイパスしませんでした。 PowerShellからのDNSサーバー管理のサポートに加えて、新しい機能、DNSポリシーが登場しました。



DNSポリシーは、着信要求の内容に応じて操作を適応させるDNSサーバーの拡張機能です。 着信要求にポリシーを優先的に適用するため、意図的に不要な要求を除外するか、記述された規則に従って応答の内容を変更するようサーバーに指示することにより、サーバーの操作を大幅に促進することができます。





動作原理



ポリシーは、次の3つのカテゴリの要求に適用されます。



このゾーンがActive Directoryに統合されていない場合、ポリシーの範囲はサーバー全体または特定のゾーンのいずれかになります。



DNSサーバーポリシーを使用すると、次のアクションを実装できます。



作成されたすべてのポリシーは、次のセクションのレジストリに保存されます。



ポリシールールで使用される指定されたサブネットは、レジストリキーに保存されます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\ClientSubnets
      
      





サーバーに適用されるポリシーはレジストリキーに保存されます

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Policies
      
      





特定のゾーンに適用されるポリシーはレジストリキーに保存されます

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\{ }\Policies
      
      





再帰クエリルールで使用されるゾーンはレジストリキーに保存されます

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\ServerScopes
      
      





サーバー全体の再帰状態の値(ゾーン「。」が使用されます)は、セクションに保存されます

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
      
      





NoRecursionキーは「0」です-再帰はオンになり、「1」はオフになります。 オンからオフに切り替えるには、DNSサーバーサービスを再起動する必要があります。



ゾーンに対して代替コンテンツが作成された場合( Add-DnsServerZoneScope )、次の場所にあるファイルに配置されます。

C:\ Windows \ System32 \ dns \ {ゾーン名}

そして、構成がレジストリに書き込まれます

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\{_}\ZoneScopes\
      
      





ゾーンの代替バージョンを削除すると、レジストリエントリが削除され、代替コンテンツファイルはそのまま残ります。



豊富な設定にもかかわらず、いくつかのPowerShellコマンドで設定を変更できます。



書き込み権限と再帰クエリのポリシーを使用するには:

Add-DnsServerQueryResolutionPolicy

Get-DnsServerQueryResolutionPolicy

Set-DnsServerQueryResolutionPolicy

Remove-DnsServerQueryResolutionPolicy



ゾーン転送要求を処理するには:

Add-DnsServerZoneTransferPolicy

Get-DnsServerZoneTransferPolicy

Set-DnsServerZoneTransferPolicy

Remove-DnsServerZoneTransferPolicy



ポリシー実行アクションは次のとおりです。

-Action ALLOW-クエリはDNSサーバーによって実行されます

-Action DENY -DNSサーバーが失敗します

-Action IGNORE-要求はDNSサーバーによって処理されません



ポリシーを処理する段階を理解するために、次のリクエストフローパターンがあります。



書き込み許可と再帰クエリを処理するためのスキーム:







ゾーンの転送要求を処理するスキーム:









再帰クエリの実行制限を構成する



内部クライアントに対してのみ再帰クエリを実行するようにDNSサーバーを構成するタスクがあります。 サーバーには2つのネットワークインターフェイスがあります。 外部IPアドレスは1.1.1.1、内部インターフェイスIPアドレスは10.0.0.39です。 このようなクエリの実行を内部インターフェイスのみに制限することにより、このタスクを実行できます。 これを行うには、サーバーレベルで再帰的な要求を禁止し、内部インターフェイスで受信した要求のみを許可する必要があります。

 #     «.» - ..    Set-DnsServerRecursionScope -Name . -EnableRecursion $False #           Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True #  ,    Add-DnsServerQueryResolutionPolicy -Name "SplitBrainRecursionPolicy" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ServerInterfaceIP "EQ,10.0.0.39"
      
      





ポリシー作成チームをより詳細に分析します。

Add-DnsServerQueryResolutionPolicy-レコードおよび再帰クエリを処理するためのポリシーを作成するコマンドレット。

-Name "SplitBrainRecursionPolicy" -ポリシー名

-Action ALLOW-ポリシーアクション-リクエストを実行する

-ApplyOnRecursion-ポリシーは、再帰的リクエストを実行する必要があるリクエストのみを処理します

-RecursionScope "InternalClients-以前に定義された領域の再帰の許可または禁止の値を取得します

-ServerInterfaceIP“ EQ、10.0.0.39” -ポリシー施行規則-10.0.0.39に等しいIPv4アドレスを持つサーバーインターフェイスに到着する要求のみ。



名前解決要求への応答の変更



同社は、ヨーロッパとオーストラリアの2つのサイトにフォールトトレラントWebサーバーを設置しています。 両方のサイトの速度は常に同じですが、夜はレンタルコストが低くなります。 会社は時刻に応じてサイトを使用することにしました。 これを行うために、80/20の割合で顧客の要求を昼夜のデータセンターに配布することが決定されました。

 #        Add-DnsServerZoneScope -ZoneName "testzone.z" -Name "EuropeDC" Add-DnsServerZoneScope -ZoneName "testzone.z" -Name "AustralianDC" #    -         Add-DnsServerResourceRecord -ZoneName "testzone.z" -A -Name "www" -IPv4Address "1.1.1.1" -ZoneScope "EuropeDC" Add-DnsServerResourceRecord -ZoneName "testzne.oz" -A -Name "www" -IPv4Address "2.2.2.2" -ZoneScope "AustralianDC" #        Add-DnsServerQueryResolutionPolicy -Name "www-6-18" -Action ALLOW -ZoneScope "AustralianDC,4;EuropeDC,1" –TimeOfDay “EQ,06:00-18:00” -ZoneName "testzone.z" –ProcessingOrder 1 Add-DnsServerQueryResolutionPolicy -Name "www-0-6" -Action ALLOW -ZoneScope "AustralianDC,1;EuropeDC,4" –TimeOfDay “EQ,00:00-06:00” -ZoneName "testzone.z" –ProcessingOrder 2 Add-DnsServerQueryResolutionPolicy -Name "www-18-24" -Action ALLOW -ZoneScope "AustralianDC,1;EuropeDC,4" –TimeOfDay “EQ,18:00-23:59” -ZoneName "testzone.z" –ProcessingOrder 3
      
      





ポリシー作成チームをより詳細に分析します。

Add-DnsServerQueryResolutionPolicy-ポリシーコマンドレットの作成

-Name "www-6-18" -ポリシー名

-Action ALLOW-ポリシーアクション-リクエストを実行する

-ZoneScope "AustralianDC、4; EuropeDC、1" -ゾーンの2つのバージョンを4対1の割合で使用するようにポリシーに指示し、ヨーロッパおよびオーストラリアのゾーンのバージョンからのデータ出力で80%から20%の必要な比率を取得します

–TimeOfDay“ EQ、06:00-18:00” -ポリシーの期間

-ZoneName„ testzone.z“ -ポリシーが適用されるゾーンの名前

–ProcessingOrder 1-このゾーンのポリシーにポリシーを適用する優先度



ゾーン転送リクエストを制限する



この会社には、外部ゾーン用のプライマリDNSサーバーと、異なるプロバイダーがホストする2つのセカンダリDNSサーバーがあります。 ファイアウォールがポート53のTCPを介してメインサーバーにアクセスするのを防ぐことはできません。 ゾーンには、UDPパケットサイズを超えるエントリがあります。 これらの目的でDNSポリシーを使用することが決定されました。

 #      DNS- Add-DnsServerClientSubnet -Name "DNSsecondary1" -IPv4Subnet 4.4.4.4/32 Add-DnsServerClientSubnet -Name "DNSsecondary2" -IPv4Subnet 5.5.5.5/32 #        Add-DnsServerZoneTransferPolicy -Name "Allow secondary DNS" -ZoneName "testzone.z" -Action IGNORE -ClientSubnet "ne,DNSsecondary1,DNSsecondary2"
      
      





ポリシー作成チームをより詳細に分析します。

Add-DnsServerZoneTransferPolicy-ゾーン転送要求処理ポリシーの作成コマンドレット

-Name「セカンダリDNSを許可する」 -ポリシー名

-ZoneName„ testzone.z“ -ポリシーが動作するゾーンの名前

-Action IGNORE-ポリシーアクション

-ClientSubnet„ ne、DNSsecondary1、DNSsecondary2“ -サーバーを除くすべてのサーバーのアプリケーション条件



ご覧のとおり、多くの問題を解決するために、DNSポリシーを使用できるようになりました。 クエリをDNSサーバーに渡すためのルールを正しく説明すると、サービスを最適化できるだけでなく、不要なクエリを除外することでDNSサーバーの負荷を軽減できます。



関連リンク



DNSポリシーの概要

Windowsネットワークチームのブログ記事[MSFT]




All Articles