【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

DNSの設定を変えたくnamed周りを触っていたら、いつの間にか表題で嵌ってしまいました。
設定ファイルは元通り(正常に動いていた状態)にしたんですが・・・

「named -g」で起動状況を確認してみたところ、
05-Jun-2008 09:01:40.533 loading configuration from '/etc/named.conf'
05-Jun-2008 09:01:40.535 listening on IPv4 interface lo, 127.0.0.1#53
05-Jun-2008 09:01:40.537 binding TCP socket: address in use
05-Jun-2008 09:01:40.538 listening on IPv4 interface eth0, xxx.xxx.xxx.xx#53
05-Jun-2008 09:01:40.539 binding TCP socket: address in use
05-Jun-2008 09:01:40.539 could not configure root hints from 'named.root': file not found
05-Jun-2008 09:01:40.539 loading configuration: file not found
05-Jun-2008 09:01:40.539 exiting (due to fatal error)

という様な形で、named.rootが見つからないとか言われています。
実際にnamed.confでnamed.rootのパスは指定してあるのですが

zone "." in {
type hint;
file "named.root";
};

「bind-chroot」を使っているので、named.confのoptionsのdirectry指定を「directory "/etc";」として、named.rootファイルもその直下においてあります。

一応、プロバイダの説明では「/var/named/」にnamed.rootを置けとあったのでこちらに置いてみたり、リンクを張ってみたりしたのですが、それでも同じエラーになっているようです。

権限の問題もあるのかと思い、パーミッションや所有者やグループも変更してみましたが、このメッセージ表示が消えることはありませんでした。
そしてマシン自体の再起動も行ないましたが、エラーは消えず。

一体何故ファイルがあるのに見つけられないのか、解決方法はあるのか、などアドバイスをいただければ幸いです。

A 回答 (3件)

つぎのようことを試してみてはどうでしょう。



・ named.conf が複数あり、実際に使用されているファイルと設定して
いるファイルが違っている可能性。find / -name 'named.conf' などで、
named.conf が複数存在しないか確認できます。

・ /etc/sysconfig/named などで指定されている chroot 先が自分の思っ
ているところと違っている可能性。ps -ef などで named がどんなオプ
ションで起動しているか確認できます。

・ file "named.root" と指定しているのを絶対パスで指定してみる。
例えば file "/etc/named.root" とすれば、/etc/named.root か
{chroot先}/etc/named.root のどちらかが使われると思います。

解決のきっかけぐらいは見つかるのではないでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
休日挟んで本日仰られたのを参考に検証してみました。

named.confファイルは同名ファイルは3つあり、一つは動いて欲しいと思っているファイル、一つは使われていないほかのディレクトリにあったものなのでリネーム→named再起動で異常なし、もうひとつはファイル内に書かれていること自体全く違い、他の面での設定ファイルのようなのでそのまま。
動きは変わりませんでした。

ps -ef | grep named
をかけてみたところ
/usr/sbin/named -u named -t /var/named/chroot
となっていたので、ディレクトリの指定他は問題ないようです。

named.rootの絶対パス指定を行なったのですが、やはり変化がないようでした。

いろいろ調べてみてまた不思議に思ったのが、named -gではエラーが出てるけど、namedサービスの再起動でsyslogを見るとエラー記載されていないんです。
コマンドで実行するユーザーと再起動でサービスを実行するユーザーの違いなのか・・・などとも思い始めました。
(念のため-uでユーザー指定もしたのですが、これだとsyslogにもエラーが出力されるんですよね)

お礼日時:2008/06/09 12:16

>「bind-chroot」を使っているので、named.confのoptionsのdirectry指定を「directory "/etc";」として、named.rootファイルもその直下においてあります。



という指定なので、
/var/name/chroot/etc/named.root
においてみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

最初はその場所においていたんですが、エラーが出始めたのであちこちにおいてエラーが消えるか試してみてます。
今のところエラーは消えておりません・・・

なのでものすごく悩んでいるのですが、ファイルの場所の問題ではないのか・・・?などと悩み中です。

お礼日時:2008/06/05 10:58

chroot環境では /var/name/chroot/var/named/named.root の配置ですが違うところに置いてませんか。

    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

named.rootの配置ですが、仰られている場所にも置いてみました。
その上で再起動もかけてみましたがメッセージは変わらず、といったところです。
念のため、/usr/sbin/named-checkeconfもかけてみましたが、エラー表示もなく、ただ単にファイルを見つけられないようです。

一体何処を参照しに行っているのかが不明でして、これが分かれば良いのですがmessageを見ても不明です。。。

お礼日時:2008/06/05 10:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報