導入にあたって
最近になってSE的な業務を多く行うようになってきていて、ログをきっちり残したいとの思いもありました。
なんとなくルーターに名前解決を任せていたのですが、あまりちゃんとしたログが残らないので、DNSサーバー機能を使っていくことにしました。
ただ職場の関係もあり本格的に使っていくつもりではなく、フォワーダーとして動いてもらえたら良い、といった雰囲気です。
その手順を備忘録として置いておきます。
間違っている点もあるかと思いますが、ご指摘いただけたらと思います。
なおワークグループ環境です。
Windows Server 2022のDNS機能を追加する手順
1. サーバーマネージャー
サーバーマネージャーから、右上の「管理」 → 「役割と機能の追加」をクリック

2. 説明が出てくるので「次へ」
3. 「役割ベースまたは機能ベースのインストール」をクリック
4. サーバーを選択して「次へ」
5. 一覧から「DNSサーバー」を選択して「次へ」
6. 「機能の追加」をクリック
7. このまま「次へ」
8. 説明を読んで「次へ」
9. 公式サイト1を見たら再起動は必要ないみたいなので、そのまま「インストール」
10. インストールが進むのを観察
11. 念のため今の状況を確認
コマンドプロンプトから「ipconfig /all」 → DNSサーバー設定を確認(オレンジ枠)

DNSサーバーとしての設定
実際に名前解決を行うための設定をしていきます。
12. サーバーマネージャーの右上の「ツール」 → 「DNS」をクリック
13. 一覧からホスト名のDNSを探して右クリック → 「プロパティ」
14. 「フォワーダー」タブを選択し、「編集」をクリック
15. 「ここをクリックして...」と記載があるところを素直にクリック
16. パブリックDNSに設定
とりあえずGoogle Public DNS(8.8.8.8)に設定します。
有名どころが複数ありますが、それぞれ特徴やポリシーが違うので、社内規則や運用状況に合わせてセットしてください。

17. 確認
名前解決の設定と動作確認
とりあえずDNSサーバー機能をONにしましたが、これだけだと動作していません。
実際に名前解決できるよう設定し、確認していきます。
まずはWindowsサーバー自身が自分で名前解決するよう設定、その後クライアント端末等からテストして動作確認していきます。
自分のスタブリゾルバから自分のリゾルバに名前解決要求を出して、フォワーダーとして機能させる、といったイメージでしょうか。
18. ネットワーク設定
19. DNS設定の確認
DNSの設定を変えていきます(オレンジ欄)。DNS欄の「編集」をクリック

20. DNS設定の変更
「優先DNS」が今までの状態になってるので、変えていきます。

21. DNS問い合わせ先を設定
「代替DNS」に今までの設定を移し、「優先DNS」にローカルループバックアドレスを指定します

22. 設定の確認
念のため「コントロールパネル」から「ネットワークと共有センター」にて 「インターネットプロトコルバージョン4(TCP/IPv4)」 を開き、設定した内容が反映されてるか確認します。

23. サーバー機から実際に動作確認
みんな大好きPowerShellコマンドレットを使って実施していきます。
下記のコマンドを実行します。
Resolve-DnsName -Name [宛先ドメイン] -Server 127.0.0.1 -DnsOnly
タイプも指定できるのですが、テストなので指定しません。
Aレコードの結果が返ってきます2。

(使用したドメインが公開にするにあたり良くなかったので黄色にしてます)
ログ取得設定
名前解決ログの取得が目的の一つなので、取得できるよう設定します。
まだ初回なので、多少データ量が多くてもしっかり取得して確認していきます。
24. DNSサーバーを右クリックして「プロパティ」
サーバーマネージャーにDNSの項目が増えてると思うので、そこから行くと速いです。

25. デバッグログの設定
「デバッグのログ」タブを選択し、「デバッグのためにパケットのログを記録する」にチェックを入れ、画像のように設定します。
また、 「そのほかのオプション」 → 「詳細」 もチェックを入れます。

画像ではログファイルの保存先が空欄になってますが、自分で指定もできます。
デフォルトでは [%windir%¥system32¥dns] になるようです。
注意
Microsoftの説明ページ3にも記載がありますが、デバッグログであり「詳細」にもチェックを入れたのでかなりの量になります。
「詳細」はなくてもいいかもしれませんが、初回であり動作確認も含め入れてます。
念の為リソースモニタ等を使いながら必要な時のみ動作させて、確認できたら切っておいたほうが良さそうです。
なおイベントログはDNSサーバーをONにした時に自動で収集されてるようで、エラー等はイベントビューアーで見れました。
26. ログ確認
デバッグログをオンにしたらログファイルが上記ディレクトリに作成されます。
そのファイルの一番上にどのように記載されるか表記されてます。

起動後、再度PowerShellにて同じ宛先に名前解決を行いました。
このようなログが残ってました(情報はもっとありますが削りました)。
[127.0.0.1] から [Rcv] (受信)しています。

こちらは [8.8.8.8] に対して [UDP/53] にて [Snd] (送信)しています。
フォワーダーとして動いてくれてそうです。

名前解決は出来てそうです。
ただ現状はサーバーのみで完結してるので、ネットワーク内のクライアント機等から、このサーバー機宛てに名前解決を送信し、返ってくるか確認していきます。
確認できたらデバッグログを止めておく方がいいかもしれません。
Microsoft Defender ファイアウォールの調整
DNSサーバー機能をONにすると、サーバー機の「受信の規則」で、ネットワーク内外問わずTCP/53、UDP/53が自動的に許可されるようです。
使用用途に合わせてこれらも調整します。
(大体はルーターでフィルタリングされると思いますが、僕は一応外部からは拒否しました)
今回は名前解決ログ取得が目的だったので、この辺は別の機会にしたいと思います。
その他
イベントログに記録される「分析ログ」もONにできます(デフォルトはOFF)。
「Event Tracing for Windows」(ETW)を走らせてETLファイルで記録されるようです。
実際にはこのあたりも調整してログ収集するようにしましたが、ちょっと難しかったのでこれも別の機会にしたいと思います。
参考記事
こちらの記事を参考にさせていただきました。ありがとうございました。
DNS 役割サービス の インストール (Windows Server 2022)
自宅環境のWindows Server 2022を使ったDNS構築と名前解決の技術検証
Windows Server 2016でDNSサーバの構築
Windows Server の DNS のデバッグログについて
















