Windows ServerでのDNS設定は、ドメイン名をIPアドレスに解決するために不可欠です。正しく設定することで、ネットワークとアプリケーションの接続性が安定します。ここではGUI(Server Manager)とPowerShellの両方に触れ、導入から運用までの実務的なポイントをまとめます。
準備: 何を決めるべきか
- ドメイン名(ゾーン名): 例 example.local や example.com。
- ゾーンの種類: プライマリ(Active Directory統合可)、セカンダリ、スタブなど。
- 管理者アカウント: サーバーに管理者権限でサインインできること。
- ネットワーク設定: 静的IPの推奨、DNSリスニングインターフェースの確認。
重要: Active Directoryを利用する場合は、DNSが正しく動作していることがADの健全性に直結します。
Windows ServerでDNSを設定する手順(GUI)
- 管理者権限でサーバーにログインします。
- スタートメニューから「Server Manager」を起動します。
- 右上の「Manage」をクリックし、「Add Roles and Features」を選択します。
- 「Role-based or feature-based installation」を選び「Next」を押します。
- サーバープールから設定するサーバーを選択し「Next」を押します。
- ロールの一覧で「DNS Server」にチェックを入れ、「Next」をクリックして指示に従いインストールします。
- インストール完了後、Server Managerの「Tools」メニューから「DNS」を開きます(DNS Managerコンソール)。
- 左ペインで「Forward Lookup Zones」を右クリックし「New Zone」を選択します。ウィザードに従ってプライマリゾーンを作成します。
- ゾーン名を入力(通常はドメイン名)、ゾーンタイプは「Primary Zone」を選択しウィザードを完了します。
- 作成したゾーンを右クリックし「New Host (A or AAAA)」でホスト名とIPアドレスを登録します。
PowerShellで素早く設定する例
PowerShellは自動化やスクリプト適用に便利です。以下は基本的な例です。
# DNS サーバーの役割をインストール
Install-WindowsFeature -Name DNS -IncludeManagementTools
# プライマリフォワードゾーンを作成
Add-DnsServerPrimaryZone -Name "example.local" -ZoneFile "example.local.dns" -DynamicUpdate Secure
# Aレコードを追加
Add-DnsServerResourceRecordA -Name "web" -ZoneName "example.local" -IPv4Address "192.0.2.10"
注: コマンドは環境に合わせて値を変更してください。
よくある構成パターンと代替案
- 単一DCでのAD統合DNS: 小規模環境で簡便ですが、冗長性は低下します。
- DNSフォワーダーを使用: 組織内DNSは内部名解決、外部は上位のフォワーダー(ISPや社内リゾルバ)に委任します。
- BINDやCoreDNSなど別実装を使用: 既存Unix系インフラと統合したい場合の代替。
トラブルシューティングの手順(短いフロー)
- まずサーバーのネットワーク接続とIP設定を確認します。
- サービスの状態を確認: DNS Serverサービスが実行中か。
- nslookupやResolve-DnsNameで名前解決をテストします。
- イベントビューアーのDNSエラーを確認します。
- 転送設定やACLでクライアントのアクセスを制限していないか確認します。
最低限のコマンド例:
Resolve-DnsName example.local
Get-Service -Name "DNS"
セキュリティと運用上の注意点
- DNSサーバーは通常のネットワークサービスより攻撃対象になりやすいので、OSの最新パッチを適用してください。
- 不要なゾーン転送を無効にする(必要な先にのみ許可する)。
- DNSキャッシュポイズニング対策としてDNSSECの導入を検討してください(内部運用では設計が必要)。
- 管理系操作は監査ログを残す。PowerShellの実行履歴やセキュリティイベントを保存します。
重要: 公開DNSと内部DNSを分離し、内部ゾーンを社内ネットワーク内に限定するのが一般的です。
運用チェックリスト(役割別)
- インフラ管理者:
- サーバーパッチの適用スケジュールを管理
- バックアップ(ゾーンファイル / AD統合の場合はADバックアップ)の確認
- 冗長構成(複数DNSサーバー)を設計
- ネットワーク管理者:
- ファイアウォールでDNSポート(53/TCP,53/UDP)を適切に制御
- フォワーダー設定の整合性を確認
- セキュリティ担当:
- 監査ログとアクセス制御をレビュー
- DNSSEC, TSIGの採用検討
受け入れ基準(Критерии приёмки)
- サーバーが管理者によってインストールされ、DNSサービスが起動している。
- 指定したゾーンに対してA/AAAAレコードが正しく解決される。
- クライアントから名前でリソースにアクセスできる。
- イベントログに重大なエラーがない。
テストケース(例)
- クライアントPCから Resolve-DnsName コマンドでゾーン名が解決されること。
- ラウンドロビン等のレコードを追加し、複数の応答が返ることを確認する。
- 不正なゾーン転送要求が拒否されることを確認する。
役に立つ短いテンプレート(導入計画)
- 目的: 内部名前解決基盤の構築
- 対象サーバー: サーバー名、IP、ロケーション
- ゾーン設計: ゾーン名、動的更新の可否、AD統合の有無
- 冗長性: 予備DNSサーバーの配置
- ロールバック: 変更前スナップショットと復旧フロー
よくある失敗例と回避法
- 問題: DHCPでDNSサーバーに動的に割り当ててしまい、IPが変わる。 回避: DNSサーバーは静的IPにする。
- 問題: フォワーダー設定ミスで外部解決ができない。 回避: フォワーダーのアドレスをテストしてから運用へ移行する。
まとめ
DNSはネットワークの基盤です。Windows ServerではGUIとPowerShellの両方で設定可能で、導入後は冗長化、監査、セキュリティ対策が重要になります。Active Directoryを使用する場合は特にDNSの健全性を優先してください。
重要な次のステップ: 運用用チェックリストに基づき、バックアップ、監視、パッチ適用の運用プロセスを整備してください。
FAQ
Windows ServerのDNSとは何ですか?
DNS(Domain Name System)はドメイン名をIPアドレスに変換する仕組みです。Windows Server上のDNSはWindowsのサービスとして動作し、社内外の名前解決を行います。
Windows ServerでDNSを構成するには?
Server ManagerでDNS Serverロールを追加し、DNS Managerでフォワード ルックアップ ゾーンとホストレコードを作成します。自動化にはPowerShellコマンドを利用できます。
DNSサーバーの主な種類は何ですか?
主な種類は、再帰リゾルバ(Recursive Resolver)、ルートネームサーバー(Root)、TLDサーバー、権威DNSサーバー(Authoritative Server)です。