■フォワーディングサーバ
フォワーダを利用するネームサーバ
クライアントからの名前解決依頼を受けるが、
自分で名前解決をせずに、フォワーダに名前解決を丸投げする。
しかし、クライアントへの回答は自分でする。
■フォワーディングサーバの設定(bind9)
例1.ほとんどすべての名前解決をフォワーダに依頼する場合
自分が権威を持っているゾーンデータからも、自分の保持しているキャッシュからもqueryに対する回答が得られなかった場合、フォワーダに名前解決を依頼します。
○/etc/named.confoptions {
-- 省略 --
forwarders { 192.168.0.1; };
};ちなみに複数のフォワーダを指定すると、bind9ではそのフォワーダ達のなかで反応が最速だったサーバーに最初の問い合わせをします。
さて、フォワーダから(デフォルトで60秒間)応答が無かった場合ですが、2つのパターンに分けられます。
A:フォワーディングサーバー自身が自分で名前解決に挑む。 (デフォルトの挙動) ○/etc/named.confoptions {
-- 省略 --
forward first;
forwarders { 192.168.0.1; };
};
B:名前解決失敗をクライアントに告げる
○/etc/named.conf
options {
-- 省略 --
forward only;
forwarders { 192.168.0.1; };
};
例2.特定のゾーンに対するqueryに関してはフォワーダを利用する。
zoneステートメントの中に記述します。
○/etc/named.confzone "example.local" {
type forward;
forwarders { 192.168.0.1; };
};
例3.特定のゾーンに対するqueryに関してだけは、フォワーダを利用しない。
(null forwarders リスト)
○/etc/named.conf
options {
-- 省略 --
forwarders { 192.168.0.1; };
};
zone "example.local" {
type master;
file "db.example.local";
forwarders {};
};
null forwardersが設定していない場合(例1の場合)
"www.hoge.example.local"という名前解決は、192.168.0.1にフォワードする。
null forwardersが設定してある場合
"www.hoge.example.local"という名前解決は、フォワーディングしない。
■MicrosoftのDNSサーバー
Windows 2000のDNSサーバーは、例1しかできなかったが、
Windows Server 2003のDNSサーバーは、
例2、つまりゾーンごとにフォワーダを分けることが可能になった。
■フォワーダ
名前解決を丸投げで請け負うネームサーバ
といっても、特にフォワーダとしての設定項目はない。
ゾーンを保持しているネームサーバの設定でもよいし、
ただのキャッシュサーバーでもよい。
自分がフォワーディングサーバとなって、
さらに他のフォワーダに名前解決を依頼することもできるが、
そのときはやはりフォワーディングの設定をする。
【クライアント(PCなど)】 ↓ ↑ ↓Query ↑回答 ↓ ↑ 【DNSサーバ(フォワーディングサーバ)】 ↓ ↑ ↓Forward ↑回答 ↓ ↑ 【DNSサーバ(フォワーダ)】 <<< 名前解決 >>>
