3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(MCP70-642)2.1 DNSサーバーを構成する

MCP70-642 Windows Server 2008 Network Infrastructure, Configuring のメモです。

参考書は下記を使用。

MCP教科書 Windows Server 2008 Network編(試験番号:70-642) (MCP教科書)

ここから第2章「名前解決の構成」に入ります。

■2.1.1 インストール

手動でのインストールとドメインコントローラインストール時にインストールする方法がある。

(ドメインコントローラ時に入れるとActiveDirectroyで必要なSRVレコードが自動的に作成される)

■2.1.2 DNSクエリ

再帰クエリ

 ・クライアントからの送信と、フォワーダを使ったDNSサーバからの送信がある。

 ・再帰クエリを受けたDNSサーバは最終的な応答をクライアントしないといけない。

 ・流れは↓

  再帰クエリ受信→キャッシュor前方参照ゾーンから検索→無ければフォワーダかルートサーバにクエリ転送→結果をクライアントに返す。

 要は自分の守備範囲以外は人任せ。まかせたDNSサーバから帰ってきた応答をクライアントに返す。

反復クエリ

 ・送信に関して再帰クエリとの相違点は 次のDNSサーバへの紹介。

 ・反復クエリを受けたDNSサーバは最終的な応答を提供しなくてもよし。

 ・流れは↓

  再帰クエリ受信→ルートに問い合わせ→ルートから紹介されたサーバに問い合わせ→左で紹介されたサーバに問い合わせ→見つかれば結果返す。

 要はたらい回しにされながらもあちこちに電話して全部自分でやってしまおうというお人よし的な感じ。

権限のあるDNSサーバ

「権限のあるDNSサーバ」とは、要求されたゾーンを保持しているDNSサーバのこと。

よって、DNSクエリの最終段階の部分で使われるのか。

権限のないDNSサーバの場合、クエリきたらフォワーダに投げるかルートヒントからたどって権限のあるサーバにたどりつくかのどちらかになる。

再帰の処理

一言で言うと、権限のあるDNSサーバが見つかるまで再帰的に反復クエリを繰り返すこと。

■2.1.3 ルートヒント

デフォルトはインターネット上のルートサーバのIPアドレスが設定(世界で確か13台あるんじゃなかったでしたっけ?)

%systemroot%system32\dns\cache.dns ファイルにルートヒント格納。

■2.1.4 キャッシュ専用サーバ

自身でゾーンを持たず、サーバキャッシュの機能のみを利用するDNSサーバ。

メリット:DNSトラフィック削減。高速化。

キャッシュ専用サーバのプロセス

キャッシュに保存する期間はレコードのTTLによって変わる。

短すぎるとトラフィック増えるが、長すぎると古い情報が残ったままあでなかなか更新されない。

ネガティブキャッシュ

他のDNSサーバからの否定応答のキャッシュのこと。

保管される時間は15分

キャッシュ専用サーバの構成

DNSのサービスをインストールしただけの状態でフォワーダの設定をしただけでOK.

■2.1.5 フォワーダ

フォワーダ:別のDNSサーバから転送されてきたクエリを解決するDNSサーバ(転送先のDNSサーバ)

フォワーダがなくLAN内に多数のDNSサーバがあると下記のような問題が。。

・拠点間通信の場合、帯域を圧迫

DNS全体として効率が悪い

・セキュリティレベル低下(why?)

なので、どれか一つを代表のDNSサーバとして、そいつに再帰の処理を行わすわけ。

フォワーダを利用する側のDNSサーバがフォワーダの設定を行わないといけない。

(そう言えば、うちで使ってるルータ(CTU)もDNSはプロバイダのフォワーダに転送してるっぽいんですよね。)

フォワーダの設定は「DNSマネージャ」→サーバのプロパティ→「フォワーダ」タブ。

ここの、「フォワーダが利用可能な場合にルートヒントを使用する」チェックボックスにより、2種類のモードとなる。

排他モード(チェックOFF)

 フォワーダが解決できないときは、解決失敗を返す。(通常はこの設定が多いらしい)

非排他モード(チェックON)

 フォワーダが解決できないときは、自分でルートヒントから順に探しに行き解決しようとする。

(赤本にも書いてますが、このチェックボックスの日本語は翻訳ミスです。なんかWindowsってこういうの多いんですよね。。)

コマンドラインでの設定もありますが、まあこれは軽く。

dnscmd サーバ名 /ResetForwarders フォワーダのIP ....

フォワードを使う主なシナリオ

1.DNSサーバを内部と外部に分けて運用。

 内部DNSサーバはFWより内部のゾーンを担当。

 内部DNSサーバが解決できないクエリはDMZ上の外部DNSサーバ(フォワーダ)に転送。

 これにより、インターネットから内部のサーバやクライアント名を拒否れる。

2.WAN使用時のトラフィック軽減(キャッシュを使用)

 支店にDNSキャッシュ専用サーバを置く。

 本店にフォワーダを置き、支店のDNSサーバはキャッシュで解決できないクエリのみフォワーダに転送。

 WAN内のトラフィック軽減と、応答の高速性につながる。

■2.1.6 条件付きフォワーダ

指定したドメイン名によって、クエリの転送先DNSサーバ(フォワーダ)を振り分ける機能のこと。

条件付きフォワーダを使うシナリオ

企業合併による名前解決。

aaa.com と bbb.com とで信頼関係に基づくフォレストを構築する場合、下記のようにすると、お互いのドメインの名前解決ができる。

aaa.com側 : bbb.com を条件付きフォワーダに設定。

bbb.com側 : aaa.com を条件付きフォワーダに設定。

つまり、お互いのドメイン名を条件付きフォワーダに設定する必要がある。

(フォレストとか、信頼関係とかActiveDirectoryがらみ完全に忘れてるなー。。。)