- PR -

bind(DNS)サーバーについて

1
投稿者投稿内容
シン
会議室デビュー日: 2008/11/25
投稿数: 2
投稿日時: 2008-11-25 13:44
お世話になります。
OSは、RHEL5.2を使用しています。
以下の手順でbindサーバーのインストールを行いました。
(1)インストール
 ・bind
 ・bind-chroot
 ・caching-nameserver
(2)設定ファイルのコピー
 # cp -p /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
 # chown named /var/named/chroot/etc/named.conf
 
 <name.confの内容 ここから> コメント行は抜いています
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

allow-query { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
 <name.confの内容 ここまで> コメント行は抜いています
 ※named.confは初期のままで未編集
(3)サービスの起動
 # service named start
(4)確認
 # ps -ef | grep named
 # cat /var/log/messages (/etc/named.confが使用されていることを確認)
(5)その他
 ・インターネットに繋がる環境です。
 ・/etc/resolv.conf
  nameserver 127.0.0.1
 ・キャッシュの確認
  rndc dumpdb
  cache_dump.dbファイルはコメントのみ

インストール後、nslookupを実行しました。
すると、グローバルIPがリターンされました。
グローバルIPが判明したのは、
[localhost_resolver]view定義
 ↓
/etc/named.rfc1912.zones
 ↓
zone "." の定義
 ↓
named.ca
を経てルートサーバから順に検索されたからという認識は合っているでしょうか?

また、
(1)named.conf編集
 以下のように「localhost_resolver」viewをコメント
 <name.confの内容 ここから> コメント行は抜いています
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

allow-query { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//view localhost_resolver {
// match-clients { localhost; };
// match-destinations { localhost; };
// recursion yes;
// include "/etc/named.rfc1912.zones";
//};
 <name.confの内容 ここまで> コメント行は抜いています
(2)サービスの再起動
 # service named restart
(4)確認
 # ps -ef | grep named
 # cat /var/log/messages (/etc/named.confが使用されていることを確認)
(5)その他
 ・キャッシュの確認
  rndc flush ※念のため
  rndc dumpdb
  cache_dump.dbファイルはコメントのみ

上記のようにした場合、nslookupでグローバルIPは引けないと思っていたのですが
正常にリターンされました。またキャッシュも行われていました。
どうしてこうなるかサッパリです。
お知恵おかし願えないでしょうか?
よろしくお願い致します。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2008-11-25 16:02
引用:

シンさんの書き込み (2008-11-25 13:44) より:

上記のようにした場合、nslookupでグローバルIPは引けないと思っていたのですが
正常にリターンされました。またキャッシュも行われていました。



なぜグローバルIPを引けないと考えたのでしょうか?

もし、zone "." が存在しないのに・・・
という疑問であれば、ソースコードの中に named.root がハードコードされているために、named.root ファイルが存在しなくても root サーバを見つけることができます。

従って、zone が定義されていない場合、コメントアウトする前と同様の動作になったと考えられます。

シン
会議室デビュー日: 2008/11/25
投稿数: 2
投稿日時: 2008-11-25 17:12
返信ありがとうございます。

グローバルIPが引けないと思ったのは、ご指摘どおりです。

ソースコードにハードコードされているとは気づきませんでした。
確認のため、ソースをダウンロードしてgrepかけると
lib/dns/rootns.c ファイルに記述がありました。
また、
"bind" "root" "ハード" でググルとHPもヒットしました。

お忙しい中、返信くださりありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)