- - PR -
BINDで正引きができません。
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-08 00:28
環境 redhat 9, bind 9.2.2
初めて投稿させていただきます。 自分では色々調べたつもりなんですが、どうしても 糸口が見つからないまま数日が過ぎてしまったので投稿させて頂きました。 至らない部分が多々あると思いますが、よろしくお願い致します。 現在、bindをインストールして、内向きにDNSを運用しようと 思っているのですが、正引きすらできなくて困っています。 キャッシュサーバ、及び、localhostの名前解決はできるのですが、 自ドメインの名前解決ができません。 具体的には、digコマンドで(ここでは都合上pc01.example.comとします) ----------- #dig @127.0.0.1 pc01.example.com ; <<>> DiG 9.2.2 <<>> @127.0.0.1 pc01.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 56607 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;pc01.example.com. IN A ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Sep 7 23:54:11 2003 ;; MSG SIZE rcvd: 34 ----------- となります。named.confファイルや、各種ゾーンファイルは、何度見ても 間違っていないと思われ、色々調べた結果、どうやら/etc/resolv.conf ファイルが一番怪しいような気がしました。このファイルの内容は 以下の通りです。 ------------ #less /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 192.168.1.1 ------------ ちなみに、192.168.1.1はルータのアドレスで、ルータでDHCPサーバ機能を 有効にしています。/sbin/dhclient-scriptで このファイルは自動生成されているとの事ですが、ここら辺から どうすれば良いのか、よくわからなくなってきました。 だいぶん支離滅裂な事を言ってるような気がしますが、ご容赦ください。 もしよろしければ、ご教授よろしくおねがいします。 |
|
投稿日時: 2003-09-08 02:40
/etc/resolv.confというのは名前解決DNSを引く順番を記述します。
あなたのローカルドメインはあなたのサーバが名前解決の手口をもっています。 あなたのルーターは外部の名前解決は出来ますが、内部の名前解決はできません。だって知りませんから。 そういうわけなので/etc/resolv.confには 127.0.0.1 として自分自身で解決させてあげましょう。 192.168.1.1のDNSキャッシュサーバに残りをforwardしてあげたらいいんではないですかね。 |
|
投稿日時: 2003-09-08 06:35
さまいさん、お返事ありがとうございます。
/etc/resolv.confはそういう役割をするんですね。勉強になりました。 ありがとうございます。 ただ、上にも書いた通り、/etc/resolv.confは/sbin/dhclient-scriptで 自動生成されているっぽくて、編集してもすぐに #less /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 192.168.1.1 と上書きされてしまいます。上書きされないように するためには、/etc以下に、dhclient-enter-hooksとdhclient-exit-hooks の二つのファイルで、dhclient-script内のmake_resolv_conf関数を 再定義しないといけないらしいのですが、いまいち書き方が わかっていません。これから少し調べてみようと思いますが。。 引き続きご教授よろしくお願い致します。 |
|
投稿日時: 2003-09-08 09:55
ルーターの機能でサーバーのIPだけを固定で割り振ることは可能でしょうか?
可能であるならばサーバーを固定IPで運用し、他のクライアントをDHCPで運用すれば今回のトラブルも解消すると思いますが・・・ |
|
投稿日時: 2003-09-08 10:46
今回名前解決が出来ないのは
「/etc/resolv.conf」ファイルは関係ないはずですよ。 digコマンドの引数にサーバ名渡してますよね? サーバからの応答もちゃんと帰ってきてるし。 なので、設定ファイルなのかなぁ?と・・・ |
|
投稿日時: 2003-09-08 10:53
自分の所で色々と確認してみましたが
設定ファイルで指定したゾーンファイルがないと 同じようなエラーが出てきました。 対象のゾーンファイルありますか? |
|
投稿日時: 2003-09-08 14:41
みなさま、お返事ありがとうございます。
>rossoさん ルータでは、サーバマシンを固定IPで割り振っています。 ただ、他のホストも(といっても1台だけですが。) 今は固定で割り振っていますが、これは問題ないですよね? >takeさん 確かにそうですね。こちらに投稿した後に、/etc/resolv.confが 問題では無い事に気付きました。 localhostはちゃんと正引きしてくれるので、 一番怪しいのはローカルドメインのゾーンファイルかと 思うのですが。自分で確認する限りでは間違いを見付けられません。。 念のため確認して頂けるでしょうか。 ここでは、ローカルドメインをexample.comとし、zoneファイルはexample.zoneとします。 --<<example.zone>>ここから-- $TTL 86400 //$ORIGIN localhost. @ IN SOA pc01.example.com. root.example.com. ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS pc01.example.com. pc01 IN A 192.168.1.10 router IN A 192.168.1.1 pc02 IN A 192.168.1.2 --<<example.zone>>ここまで-- また、named.confファイルのexample.comのzoneステートメントは以下のようになります。 ---------- zone "example.com" { type master; file "example.zone"; }; ---------- ちなみに、example.zoneファイルの場所の指定も、optionステートメントで適切に 指定していると思います。 何かお気付きの点がございましたら、ご指摘よろしくお願いします。 |
|
投稿日時: 2003-09-08 15:01
こんにちわ。
example.zoneファイルの > //$ORIGIN localhost. これが怪しそうな気がします。 confファイルでは//はコメントとなりますが、ゾーンファイルでは セミコロンだけだったような気がしました。 syslog等にゾーンファイル関連でエラー出てませんかね? とりあえずこの行を削除するなり、セミコロンに変更するなりして 試してみてはいかがでしょうか。 |