DNS サーバ djbdns のインストールと設定 - ルートヒントを更新する

DNS サーバである djbdns のインストールと設定をまとめてみました。

ここは、dnscache で名前解決を行う際に使用する、ルートネームサーバーの更新について記します。


djbdns のインストールと設定 > ローカルキャッシュ

5-5: ルートヒントを更新する

ルートネームサーバーの登録

dnscache では、ドメイン名の名前解決を行う際に使用するルートヒントを、dnscache のルート (/etc/dnscache/ 等) ディレクトリ内の "root/servers/" ディレクトリに "@" というファイル名で持っています。

このファイルには、ルートネームサーバーの IP アドレスが 1 行ごとに列挙された形で記述されているのですが、この情報が、現状の情報と異なっている可能性があります。

 

最新のルートネームサーバー一覧は ftp://ftp.rs.internic.net/domain/named.root で確認することができますので、dnscache インストールの際は特に、現時点での最新情報とルートヒントの設定とが一致しているかを確認し、異なっているようなら修正しておくと良いでしょう。

調整方法は、"@" ファイルと上記のルートネームサーバーの一覧とを目で比較して、違うところを修正する、といった感じになるのでしょうか。

 

スクリプトを使用してルートヒントを更新する

もっと自動的に修正するとしたら、まずは次のようにして、最新のルートヒント情報をダウンロードします。

wget ftp://ftp.rs.internic.net/domain/named.root

これで、最新のルートヒントが記載された "named.root" という名前のファイルが保存されました。

続いて、次の内容の perl スクリプトを作成し、"make-@.pl" という名前で保存します。

while ($line = <STDIN>)

{

print NAMED_OUTPUT "$1\n" if ($line =~ m/^\w\.ROOT-SERVERS\.NET\.\s+\d+\s+A\s+(\d+\.\d+\.\d+\.\d+)\s*/i);

}

 ここまでできたら、次のようにしてこのスクリプトを実行することで、最新の情報が反映された "@" ファイルを生成することが可能です。

perl make-@.pl < named.root > @

後は、出来上がった "@" ファイルを "/etc/dnscache/root/servers/@" と置き換えてあげれば、更新作業は完了です。

 

目次