DNS サーバ djbdns のインストールと設定 - ルートヒントを更新する
DNS サーバである djbdns のインストールと設定をまとめてみました。
ここは、dnscache で名前解決を行う際に使用する、ルートネームサーバーの更新について記します。
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/@" と置き換えてあげれば、更新作業は完了です。
【目次】