• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:BINDスレーブについて)

BINDスレーブについて

このQ&Aのポイント
  • BINDスレーブに関する質問として、ポート開放に関する問題やBINDの設定についての疑問があります。
  • 質問内容として、PCの固定IPが一つでありながら、異なるPCのポートを開くことができず、またBINDのスレーブの設定についても疑問があります。
  • また、ログに表示されたクエリが拒否されたというエラーも確認されています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.1

BINDのバージョンは記述しておきましょう。回答がつきやすくなります。 # しかしなんかつっこみどころの多い設定ですな。 まず、ルータ(ですよね?)のポート解放については情報が少なすぎて答えられません。 BINDの設定とは直接関係しないので、分けて考えた方がよいでしょう。 BINDの設定の方は、いろいろと変です。 たとえば…… ・primary に ---- allow-query{ mynetwork; プライマリサーバIP; }; ---- としてアクセス制限をかけているのに、secondaryのゾーン設定内で ---- allow-query{any; }; ---- としてすべてのサーバからのアクセスを許可している、 ・しかも全体のデフォルトとしてローカルホストとprimaryからのqueryしか許可していない、 ・primary側の意味のないforwader設定、 ・間違えているtransfer-source設定、 とまぁ、「とりあえず設定してみた」感がよく出ています。まともに設計した様子がないですね。 ひとまず、自分がDNSサーバをどのような動作をするように設定したいのかを決めてから、必要なパラメータをもう一度調べ直すことをおすすめします。 なお、primary側のエラーログは十中八九 allow-query 設定によるものと思います。

r-n-y
質問者

お礼

スレーブのhogehoge.net.bakがリロード後にしっかりと更新されるようになりました。 ありがとうございます。。。 後、 全て転送が出来てるか確認する方法は下記であってますでしょうか? プライマリサーバから #dig @プライマリサーバ名 ドメイン ns ;; QUESTION SECTION: ;ドメイン. IN A ;; ANSWER SECTION: ドメイン. 3600 IN A プライマリサーバIP ;; AUTHORITY SECTION: ドメイン. 3600 IN NS セカンダリサーバ名. ドメイン. 3600 IN NS プライマリサーバ名. ;; ADDITIONAL SECTION: プライマリサーバ名. 3600 IN A プライマリサーバーIP セカンダリサーバー名. 3600 IN A セカンダリサーバIP 逆に #dig @セカンダリサーバ名 ドメイン ns だとタイムアウトになります。 何かエラー出たりして、 ログ見ながらいろいろやってると、 今は落ち着いてエラーは出てないみたいです。

r-n-y
質問者

補足

ありがとうございます。 突っ込みどころが多くてすいません。。。 今まで一台でやってたので、 スレーブになると、プライマリとスレーブの設定が分からなくて。。。 取りあえず、下記に変更しましたがどうでしょう? プライマリのnamed.confには下記を追加してます。 allow-query{ mynetwork; セカンダリサーバIP; }; allow-recursion{ mynetwork; セカンダリサーバIP; }; allow-transfer{ mynetwork; セカンダリサーバIP; }; forwarders{ プライマリーサーバIP; }; }; スレーブサーバ named.conf 先頭のoptionsで allow-query { localhost; プライマリーサーバIP; }; と加えてます。 // hogehoge.net zone "hogehoge.net" { type slave; file "slaves/hogehoge.net.zone.bak"; masters{プライマリーサーバIP; }; }; プライマリーのログは少し変わり、 Aug 7 09:43:22 localhost named[12269]: client セカンダリサーバIP#54109: transfer of 'hogehoge.net/IN': AXFR-style IXFR started Aug 7 09:43:22 localhost named[12269]: client セカンダリサーバIP#54109: transfer of 'hogehoge.net/IN': AXFR-style IXFR ended Aug 7 09:43:23 localhost named[12269]: client セカンダリサーバーIP#32795: received notify for zone 'hogehoge.net' Aug 7 09:59:36 localhost named[13797]: zone hogehoge.net/IN: sending notifies (serial 2008080601) プライマリ側のログ見ると、 シリアルが更新されてたので、セカンダリの hogehoge.net.bak見るとしっかりと更新されてました。 ただ、スレーブはプライマリのゾーンを全て転送ですよね? hogehoge.net.bak がslavesのディレクトリの中にあるだけで、 プライマリのzoneが全て転送されてるんでしょうか? お手数かけてすいません。。。。

その他の回答 (2)

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.3

> しかしポート開放されてないとスレーブとしての役目を果たさない。 > と言う事でしょうか? まぁ、そうですね。外部からの問い合わせを受けられませんから。 それと、前回の補足にあったdigの実行結果みると、オプションをtypo市輝っぽいです。 > ;axft. IN A axft じゃなくて AXFR です。 $ dig AXFR <domain name> @<primary dns server> としてください。 あと、前回の回答のこの部分は、ちょっと片手落ちでした。 > これはセカンダリサーバが正しく権威サーバとして登録されているか否かを確認する内容になります。 正確に言うと、 dig NS hogehoge.net @<hogehoge.net primary dns server> と dig NS hogehoge.net @< .net domain dns server> の実行結果が一致している必要があります。 話は変わりますが、ドメイン名の例示であれば "example.net" "example.com" などを使用するようにしましょう。 hogehoge.netって実在しますので。(現在ドメイン売り出し中みたいですけど:P)

r-n-y
質問者

お礼

> まぁ、そうですね。外部からの問い合わせを受けられませんから。 > それと、前回の補足にあったdigの実行結果みると、オプションをtypo市輝っぽいです。 ありがとうございます。 > $ dig AXFR <domain name> @<primary dns server> 実行結果が、 example.net. 3600 IN SOA example.net. root.example.net. 2008080702 3600 900 3600000 3600 example.net. 3600 IN NS プライマリサーバ. example.net. 3600 IN NS セカンダリサーバ. example.net. 3600 IN MX 10 example.net. example.net. 3600 IN A プライマリIP www.example.net. 3600 IN A プライマリIP example.net. 3600 IN SOA example.net. root.example.net. 2008080702 3600 900 3600000 3600 > dig NS hogehoge.net @<hogehoge.net primary dns server> > と dig NS hogehoge.net @< .net domain dns server> が一致 実行結果 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2 ;; QUESTION SECTION: ;example.net. IN NS ;; ANSWER SECTION: example.net. 3600 IN NS プライマリサーバ. example.net. 3600 IN NS セカンダリサーバ. ;; ADDITIONAL SECTION: プライマリサーバ. 3600 IN A プライマリIP セカンダリサーバ. 3600 IN A  セカンダリIP ;; Query time: 19 msec ;; SERVER: プライマリIP#53(プライマリIP) もう一つは最後の ;; SERVER: 127.0.0.1#53 ですが、セカンダリでdigしたのでSERVERはローカルIPで正しいのかな。 そこ以外は同じになってますので、 ゾーンの転送出来ててスレーブ成功と言う事ですかね?

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

> スレーブになると、プライマリとスレーブの設定が分からなくて。。。 ということはつまり、まだDNSの設定についてきちんと理解できていないということです。 バッタ本をきちんと読めば、すぐに理解できる程度の内容です。すこしがんばって勉強してみてください。 > 取りあえず、下記に変更しましたがどうでしょう? forwarder設定がまだ変。というかこんな設定だったらつけている意味がない。 他にも違和感があるところがありますが、設計内容がわからないと正誤を判断できません。少なくとも、設定する内容として誤りであるとはいえない状態ですね。 > 全て転送が出来てるか確認する方法は下記であってますでしょうか? はずれ。 これはセカンダリサーバが正しく権威サーバとして登録されているか否かを確認する内容になります。 transferを確認するなら、セカンダリサーバから "dig axfr <domain name> @<primary dns server>" としてください。 > 逆に > #dig @セカンダリサーバ名 ドメイン ns > だとタイムアウトになります。 これはポート解放の問題でしょう。先の回答の通り、情報がないので答えられません。

r-n-y
質問者

お礼

ファイヤーウォールは自己解決しました。 お手数かけました。 セカンダリの方のログが変わったので、 載せさせて頂きます。 所々載せさせて頂きます。 Sep 7 10:31:29 localhost named[21769]: client プライマリIP#51193: received notify for zone 'ドメイン': not authoritative Sep 7 10:36:57 localhost named[2405]: zone 0.in-addr.arpa/IN: NS '0.in-addr.arpa' has no address records (A or AAAA) Sep 7 10:36:57 localhost named[2405]: zone 0.in-addr.arpa/IN: loaded serial 0 Sep 7 10:36:57 localhost named[2405]: zone 1.0.0.127.in-addr.arpa/IN: NS '1.0.0.127.in-addr.arpa' has no address records (A or AAAA) Sep 7 10:36:57 localhost named[2405]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 Sep 7 10:36:57 localhost named[2405]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: NS '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa' has no address records (A or AAAA) Sep 7 10:36:57 localhost named[2405]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0 Sep 7 10:36:57 localhost named[2405]: zone localhost.localdomain/IN: loaded serial 0 Sep 7 10:36:57 localhost named[2405]: zone localhost/IN: loaded serial 0 Sep 7 10:45:10 localhost named[2405]: too many timeouts resolving 'nullpopopo.blogcube.info/AAAA' (in 'info'?): disabling EDNS Sep 7 10:47:52 localhost named[2405]: client 65.55.238.58#51698: query 'hogehoge/A/IN' denied Sep 7 11:29:41 localhost named[2452]: listening on IPv4 interface eth0, 192.168.11.103#53 長々すいません・・・ forwarder設定はプライマリから削除しました。

r-n-y
質問者

補足

> まだDNSの設定についてきちんと理解できていないということです。 > バッタ本をきちんと読めば、すぐに理解できる程度の内容です。すこしがんばって勉強してみてください。 書籍紹介ありがとうございます。 ネットワークサーバー構築ガイドと言う書籍とグーグルで頑張ってましたが、良い書籍に当たるのも必要ですね。。。。 > forwarder設定がまだ変。というかこんな設定だったらつけている意味がない。 以前にプライマリ設定した方が、初めから、 forwarders{ プライマリーサーバIP; }; にしてたのですが、これは他のDNSにクリエー回して解決を依頼する設定? なのに自分に飛ぶようにするとおかしいですね。。。 設計内容は、 シンプルです。ごちゃごちゃせずに、 基本的にプライマリーで解決する 出来なければプライマリで解決する。 とだけです。 と言う事は、 forwarder設定は取り消しても問題ないと言う事になりますね。。。 > これはセカンダリサーバが正しく権威サーバとして登録されているか否かを確認する内容になります。 > transferを確認するなら、セカンダリサーバから "dig axfr <domain name> @<primary dns server>" としてください。 セカンダリサーバから打ちましたら、 ;; QUESTION SECTION: ;axft. IN A ;; AUTHORITY SECTION: . 10800 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2008080700 1800 900 604800 86400 ;; Query time: 37 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Sep 7 09:13:23 2008 ;; MSG SIZE rcvd: 97 ;; connection timed out; no servers could be reached なってないようですね。。。 hogehoge.net.bakが同期取れてるだけで、 その他のゾーンは全く来てないと言う事ですかね。。。 一瞬、hogehoge.net.bakが同期取れてるから、 ポートも開放されてて、他のも転送されてると思いましたが。。。 hogehoge.net.bakが転送されてるので、 transferはポート開放されてなくても、ゾーンを転送することが出来る。 さらに、転送されてるかは"dig"で確認取れる。 しかしポート開放されてないとスレーブとしての役目を果たさない。 と言う事でしょうか? > これはポート解放の問題でしょう。先の回答の通り、情報がないので答えられません。 Toshi0230様に言われたようにセキュリティー・ネットワークの所で質問させて頂いてます。 長々、色々質問ばかりで、すいません。 ありがとうございます。