Windows DNSフォワーダーとDNS条件付きフォワーダーは、DNSインフラストラクチャの重要な部分です。このチュートリアルでは、AD DNSフォワーダーとそれらを環境で管理する方法について説明します。
たまにはこれらのフォワーダーアドレスを追加または管理する必要があることに気付くでしょう。これらの変更のいくつかは、エンタープライズ内の複数のDNSサーバーで行う必要があります。幸いなことに、PowerShellのSet-DnsServerForwarder
コマンドレットなどのコマンドを使用すると、これらのDNSサービスの両方を簡単に管理できます。
このブログ投稿には、TechSnipsの寄稿者であるDavid Lambによって作成された補足ビデオがあります。ご自由にご覧いただくか、テキストをご覧ください。
DNSフォワーダーの置換
DNSフォワーダーは、DNSサーバーが所属するゾーンに含まれていないアドレスのクエリを検索するために使用されます。これにより、DNSサーバーは名前を解決するための効率的な手段を提供します。フォワーダーが設定されていない場合、DNSサーバーは未知のアドレスを解決するためにルートヒントサーバーにクエリを送信する必要があります。
これらのフォワーダーアドレスは、各DNSサーバーごとに個別に設定されますが、PowerShellを使用すると、Set-DnsServerForwarder
コマンドレットを使用して簡単に管理できます。
現在のローカルDNSサーバーの設定されているフォワーダーを表示してください。これには、Get-DnsServerForwarder
コマンドレットを使用します。最初にGet-*
コマンドレットを使用する理由は、既存のフォワーダーをすべて見つける必要があるためです。
以下のように、IPアドレスが8.8.8.8と8.8.4.4の2つのフォワーダーが設定されています。

次に、追加のフォワーダーを追加します。このフォワーダーは、おそらくDMZに設定した新しいDNSサーバーであるか、またはISPが提供した転送先アドレスを使用するかもしれません。この場合、Set-DnsServerForwarder
コマンドレットを使用して新しいアドレスを設定し、Get-DnsServerForwarder
を使用してアドレスが正しく設定されたかを確認します。

残念ながら、これは望んだ結果にはなりませんでした。上記のように、Set-DnsServerForwarder
コマンドレットを使用すると、フォワーダーのリスト全体が置き換えられます。リスト全体ではなく、リストにアドレスを追加するためには、Add-DnsServerForwarder
を使用する必要があります。
これを修正するために、リストを元の2つのフォワーダーで置き換え、新しいアドレスを追加し、成功したかどうかを確認してください。

これで、3つのフォワーダーがすべて追加されました。
DNSフォワーダーの削除
フォワーダーアドレスを削除したい場合は、以下に示すようにRemove-DnsServerForwarder
コマンドレットを使用します。その後、アドレスが削除されたかどうかを確認します。
Set-DnsServerForwarder
はDNSフォワーダーを置き換えるのに対し、Remove-DnsServerForwarder
は完全に削除します。

複数のDNSサーバへのスケーリング
時には、複数のDNSサーバに対してフォワーダーアドレスを追加または削除する必要があることがあります。Set-DnsServerForwarder
では機能しません。幸いなことに、PowerShellを使用すると、複数のDNSサーバへのタスクのスケーリングが比較的簡単に行えます。Invoke-Command
を使用して、DNSサーバのリストを含め、スクリプトブロックパラメータの値にAdd-DnsServerForwarder
を配置すると、1つのコマンドですべてのDNSサーバを変更することができます。その後、同様のコマンドを使用して変更の結果を表示します。

DNS条件付きフォワーダー
A special type of forwarder, called a conditional forwarder, cannot be modified with the Set-DnsServerForwarder
cmdlet. This type of forwarder can be used when you have been provided with the IP address(es) of the DNS server(s) for a known DNS domain name.
DNS条件付きフォワーダーは、この記事で前にリストアップされたサーバフォワーダーを使用する前に、DNSサーバによって使用されます。
たとえば、tailspintoys.comの条件付きフォワーダーが設定されている場合、DNSサーバは、自分が権限を持つドメインでないことを確認した後、条件付きフォワーダーをチェックし、エントリが存在することがわかります。この時点で、DNSサーバは、tailspintoys.comドメインの所望のアドレスのためにリストアップされたDNSサーバに問い合わせます。
DNS条件付きフォワーダーの良い機能の1つは、任意のActive Directory統合DNSゾーンと同様に、他のDNSサーバにレプリケートできるということです。
Get-DnsServerZone
コマンドレットを使用して、条件付きフォワーダーが設定されているかどうかを確認してください。

条件付きフォワーダーは、ZoneType
がforwarderとしてこのリストに表示されます。この場合、設定されていません。したがって、Add-DnsServerConditionalForwarderZone
を使用して条件付きフォワーダーを作成し、Active Directoryフォレスト全体にレプリケートするように設定し、作成されたことを確認します。

出力には、条件付きフォワーダーが設定され、使用可能であることが表示されます。
要約
PowerShellを使用してDNSフォワーダーを管理および自動化することは非常に簡単です。これで、PowerShellを使用してさまざまな方法でAD DNSフォワーダーを管理できるはずです。私たちはほぼすべての角度でこれらのフォワーダーについて説明しました。
Source:
https://adamtheautomator.com/dns-conditional-forwarder/