ちょっとはまったので共有です。(ややニッチです)
Windows Server 2022でDNSの条件付きフォワーダーで複数の宛先を指定しているときにすべての宛先の応答がなくなることをトリガーに1番目の宛先にしかフォーワードせず、他のフォワード先を利用しなくなるという不具合?があるようです。
イメージとしては、仮に3台とかのフォワード先を指定していた際に、何かしらの事情ですべてのフォワード先(A~C)が繋がらなくなった場合、そこからDNSサーバー#Aにしか送らなくなる動きのようです。
DNSサービスを再起動することで再び他のフォワード先にも送れるようになるようですが、毎回再起動もしてられないので、以下のレジストリをDNSサーバー(真ん中の役割のもの)に入れると解消します。(追加後一回目はDNSサービス再起動必要)
※まだレジストリ対応の方法については公式情報はないようです。
| 項目 | 値 |
|---|---|
| Key | HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters |
| Name | EnableForwarderReordering |
| Type | REG_DWORD |
| Value | 0 |
EnableForwarderReorderingの値を設定することで他のフォワード先をちゃんと評価してくれるようになるようです。
あと、これだけでなく複数のDNSサーバーを指定先に選択する場合はタイムアウトも注意して設定してください。
RecursionTimeout(一つの名前解決に対して待ってくれる最大時間)はデフォルト8秒となるので、リクエストのタイマーを見直すか、この8秒を伸ばすかするとよいと思います。
イメージとしては以下の公式にはまるように指定するとよいかもしれません。
- RecursionTimeout > ForwardingTimeout × N(宛先数)
※RecursionTimeoutを長くしすぎると待ち時間も長くなってしまうのでご注意
対応については開発部門が検討しているようですが、恐らくこのレジストリの追加と同様の挙動になるようなので、同じ状況ではまったらこの方法(レジストリ追加)を試してみてください。
何かのお役に立てれば幸いです。

