1 :
名無しさん@お腹いっぱい。 :
04/08/18 12:29
BIND, djbdns NSD の比較 ●DNSコンテンツサーバの起動 −BIND 9: テキストベース、オンメモリ −djbdns: バイナリデータベース、ディスク上 −NSD: バイナリデータベース、オンメモリ ●複数のDNSサーバ間におけるデータの同期 −BIND 9: テキスト読み込み-NOTIFY-IXFR −djbdns: バイナリデータベースを直接同期 −NSD: コンパイル-バイナリ読み込み-NOTIFY-AXFR ●glueの取り扱いの違い −BIND 9, NSD: glueはglueとしてのみ取り扱う −djbdns, BIND 8: 下位ゾーンのAなら、単独でも取り扱う ●権限を持たないゾーンに対する問い合わせ −BIND 9: クライアントに(とりあえず)ヒントを出してみる −BIND 8: ヒントを出した上で、Aも教えてみる −djbdns: 余計なことは一切しない −NSD: 自分が管理していないものは返せないので、SERVFAILにする
基本設定は/etc/nsd/nsdc.conf マスターゾーンファイルの定義は/etc/nsd/nsd.zones 例) ; Zone Name Master zone file name zone bluesky.com primary/bluesky.com zone greysky.com secondary/greysky.com masters 10.1.1.1 1行目はプライマリDNSの場合。2行目はセカンダリDNSの場合。 一番最初の欄は"zone"でなければならない。"cache"は廃止。 二番目の欄はゾーンの名前で三番目の欄がゾーンファイルのPATH。 AXFRを使用する場合には"masters"の後にマスターサーバのIPを列記する。 それぞれのマスターゾーンファイルの書き方は、RFC1035の"5. MASTER FILES"(BINDと同じ)。
その他の特徴 ・IPv6標準サポート(added by itojun) ・DNSSECはexperimental ・ルートネームサーバにも使われている ・FreeBSD, Linux, Solaris, Tru64, HP-UX, MacOS X などをサポート ・IXFR(差分ゾーン転送)、キャッシュサーバ、ラウンドロビン、IN以外のクラスは未サポート。
>>6 まだ運用はしてないけど、とりあえずFreeBSDのportsからインストールしてみた。
インストールに関しては問題なし。
mmapは未サポートのオプションなので有効化しない。(普通はたぶんallocが使われるらしい?!)
BINDからの移行の場合はnamed.confを読み込んで設定をインポートできるみたいだけど、
うちはdjbdnsだからゾーンファイルは書き直し。
ちなみに、ゾーン転送を誰にも許可しない場合はAXFRをコンパイルオプションで無効化しておく。
さもなくばtcp_wrapperでアクセス制限するらしい。
設定周りは非変態的で個人的には好感触。
>>3 > ●glueの取り扱いの違い
> −BIND 9, NSD: glueはglueとしてのみ取り扱う
> −djbdns, BIND 8: 下位ゾーンのAなら、単独でも取り扱う
解説キボンヌ
>>8 サブドメインの委譲などで、NSレコードの内容が自ドメイン(ゾーン内)のものではない場合、
本来は権限外だけどAレコード(IPアドレス)もついでに教えてあげるのがglue。
そうしないとたらいまわしにされて目的のIPアドレスにたどり着けない可能性があるから。
で、BIND9,NSDの場合はNSレコードを問い合わせた場合のみ、glueのAレコードを答える。
djbdns,BIND8は、そのAレコードを直接問い合わせた場合でも答えちゃう。
まともなリゾルバはそんな問い合わせをしないはずなので運用上の実害はない。
cdbってmmapしてた気がするけどディスク上になるの?
>>11 mmapはファイルをマップしてメモリであるかのように扱うということだから、
RAM上に展開されてるかどうかはOS任せで保証の限りじゃないというかケースバイケースでは?
mmapの場合は他プロセスによってデータファイルが更新されても明示的に再読み込みする必要がない。 だからrsyncでの同期が出来る。 NSDがmmap使ってないのはパフォーマンス上の理由ではなくて、うまく安定動作させられなかったから塩漬けしただけみたい。
> mmapの場合は他プロセスによってデータファイルが更新されても明示的に再読み込みする必要がない。
そうなの? よくわかんないけど tinydnsというか cdbの場合はいちいち開き直してるよ。
http://djbdns.qmail.jp/performance/ > 問い合わせごとにcdbファイルをopen,mmapしていますが、この処理を省略したものを作って測定してみると、
> 12000 query/秒で動作します。[データベースを更新する度に再起動する必要があります。]
>>14 djbdnsの中身はあまり知らないので勘違いしてるかも。
毎回openしなおしてるということなら、djbdnsがmmap使ってるのは、
単にそれがlibcじゃなくてシステムコールだからかもね。
> 単にそれがlibcじゃなくてシステムコールだからかもね。 よくわかんないけどメモリ管理しなくていいからじゃないの? あと、現実問題 mmapでも一度舐ればメモリに入る気がする。 逆に全データをメモリに置くためのコストは問題にならないのかな? まあ DNSにあまり関係ないしどうでもいいんだけど。
>>16 > 逆に全データをメモリに置くためのコストは問題にならないのかな?
たまにしか問い合わせされない大量のレコードがあるような場合には、
PowerDNSみたいなRDBMS使うタイプのほうが向いてるかもね。
tinydnsからNSDに移行してみました。よさげ。 FreeBSDのPortsから入れた場合は、 /etc/rc.conf に nsd_enable="YES" nsd_flags="(起動時オプション)" を書くらしい。
NSDと一緒に使うのによさげなDNSキャッシュサーバは何かある?
おお,NSDなスレが!! 漏れ7ドメインくらいの primary 鯖で運用してみてる primary としてはまず問題ない. BIND-8 からの 移行も簡単だったし,負荷も全然問題ない. secondary として運用するには nofity 受けて, 自動的に,update -> rebuild -> reload してくれる 仕組みがないと辛い. cron で回すとどうしても タイムラグが出ちゃう 当分 nsd (primary), bind8(secondary) で運用予定
>>20 どうせキャッシュによるタイムラグのほうが大きいんだから、気にしない、というのはだめ?
>>19 当面はdjbのdnscacheかな。IPv6があれだけど。
23 :
名無しさん@お腹いっぱい。 :04/09/06 02:29
今のところ問題なく動いてくれてるみたいですよ。
ウマウマ
27 :
名無しさん@お腹いっぱい。 :04/11/08 12:45:37
NSD 2.1.4 age
28 :
名無しさん@お腹いっぱい。 :04/11/29 23:48:23
NSD 2.1.5 age
29 :
名無しさん@お腹いっぱい。 :05/01/21 11:05:50
NSD 2.2.0 age
ヌスド
31 :
名無しさん@お腹いっぱい。 :05/02/22 13:30:28
NSD 2.2.1 age
NSD提案したら、djb信者に却下された。
そこで NSD + dnscache ですよ。
Unix User 3月号で紹介されてました。
>>32 信者はしょうがない
djbtools は信者には使いやすく,それ以外の人には使いにくい
NSDはpostfix同様にまた〜りで結構
36 :
名無しさん@お腹いっぱい。 :2005/05/03(火) 23:58:35
NSD 2.3.0 age
37 :
名無しさん@お腹いっぱい。 :2005/09/01(木) 00:04:06
NSD 2.3.1 age
リリース以外に話題はないのかね。
39 :
グルー :2005/09/30(金) 11:51:08
40 :
名無しさん@お腹いっぱい。 :2005/09/30(金) 12:21:43
pdnsd スレはどこですか?
41 :
名無しさん@お腹いっぱい。 :2005/10/15(土) 14:42:12
svn レポジトリ公開 age
42 :
名無しさん@お腹いっぱい。 :2005/12/05(月) 19:41:58
NSD 2.3.2 age
43 :
名無しさん@お腹いっぱい。 :2005/12/11(日) 01:52:11
djbのtinydnsなDNSサーバにゾーン取りにいけないんですかねぃ? (実際にはaxfrdnsですが) nsdc update すると nsd側で nsd-xfer: error: network read failed: Connection closed by peer となり axfrdns側では axfrdns: fatal: bogus query ってでるんですよ。。orz 当然ながらnsd <-> nsdではモウマンタイです nsd-xfer: info: send AXFR query to xx.xx.xx.xx for xxxxxxxx.net. zone xxxxxxxx.net needs rebuilding... rebuilding the database.... zonec: reading zone "xxxxxxxx.net". zonec: processed 25 RRs in "xxxxxxxx.net".
nsd-xfer じゃなくて named-xfer を使うとどうなる?
45 :
43 :2005/12/11(日) 16:12:01
>44さん named-xferですか、。locate してもみあたらないので おかしいな?とおもったところbind9だとnamedに統合されてるのですね、、欝死 (FreeBSD 6.0上で使ってます) 現状namedがよくわかってないので、まずできることをと考えて いらねーかな?と思っていた nsdxfer_flags="" を "-a IPアドレス" にして実行すると nsd-xfer[21674]: error: bad serial 'プライマリで指定したIPアドレス' となりました。なぜシリアルが。。 named-xferも含めて、もうちっと調べてみます。 # digで取りにいくスクリプトを造って、 # むりやり(cronで)1時間おきにゾーンとりにいくようにしたのですが、 # イケてないので...
46 :
43 :2005/12/11(日) 23:38:55
FreeBSD 4.10のころのnamed-xferのバイナリがあったので (ソースからマメにupgradeしてるため) そいつを使って 手でnamed-xferを実行してみたところokでした。。ウーム named-xfer -z ゾーン名 -f ファイル名 DNSサーバ名 を実行して↓ named-xfer[65884]: send AXFR query 0 to xx.xx.xx.xx for ゾーン名 ファイルも作成された。 nsd-xferだと x (bad serialとはでない。。) nsd-xfer[65912]: error: network read failed: Connection closed by peer しばらく自作dig利用スクリプトでしのいでみます。 ちなみにconfigure時は --enable-mmap くらいしか特別いれておりません。。 他は--prefix, --with-configdir, --with-zonesfile, --with-dbfile,--with-configfile, --with-zonesdir,--with-pidfileで入れる先変更してるだけ、です
47 :
43 :2005/12/12(月) 22:37:42
嗚呼。。ちがう > --enable-mmap こんなもんはない。。 config.statusより抜粋、、、↓でした ./configure '--with-configdir=/usr/local/etc/nsd' \ '--with-zonesfile=/usr/local/etc/nsd/nsd.zones' \ '--with-dbfile=/usr/local/etc/nsd/nsd.db' \ '--with-configfile=/usr/local/etc/nsd/nsdc.conf' \ '--with-zonesdir=/usr/local/etc/nsd/' \ '--with-pidfile=/var/run/nsd.pid' nsd-xfer以外は快調に動いてるのでいいか。。 bindとnsdからはとってこれるし。
48 :
名無しさん@お腹いっぱい。 :2006/03/15(水) 01:32:11
保守
49 :
名無しさん@お腹いっぱい。 :2006/04/11(火) 03:31:25
NSDのインストール方法とかを紹介してるサイトって無いんですかね? ローカルDNSとして使ってみたいのですが。 hostsにちまちま書いて設定してるのも大変なので...。
README とか INSTALL とか。
>49 UNIX USERで記事に成った事が有る。
52 :
名無しさん@お腹いっぱい。 :2006/09/28(木) 22:26:21
NSD 3 が出たのに……
53 :
名無しさん@お腹いっぱい。 :2006/09/29(金) 20:54:37
ヌスド3をためしてみたら、セカンダリの設定がうまくいかなかったので ひきつづき格闘中。(自分がタコなだけかもしれない。。)
54 :
53 :2006/09/29(金) 21:45:25
ごめんなさい、、debug-mode: yesにしてたから セカンダリが無効になってました。。鬱死
55 :
名無しさん@お腹いっぱい。 :2006/10/04(水) 21:10:47
つい先日nsd-users@ をsubscribeしました。 .co.jp な方がパッチだしてました。
56 :
名無しさん@お腹いっぱい。 :2007/01/20(土) 15:58:04
a
57 :
名無しさん@お腹いっぱい。 :2007/12/03(月) 03:12:17
そういや、まだ3.*系にアップグレードしてないや。
58 :
名無しさん@お腹いっぱい。 :2008/06/02(月) 00:08:35
Unboundの質問はここで良いのでしょうか?
60 :
58 :2008/06/15(日) 04:33:29
遅くなってすみません。 Unboundでforward-zoneを設定しようと思ったのですが、 forward-zone: name: "example.com" forward-addr: 192.168.0.1 としたら、*.example.comの正引きはできました。ところが、 forward-zone: name: "0.168.192.in-addr.arpa" forward-addr: 192.168.0.1 としても、192.168.0.*の逆引きができるようにはなりませんでした。 これはどうしたらできるようになるのでしょうか?
>>60 デフォルトではプライベートアドレス空間は NXDOMAIN を返すようになってるので、
これをやめさせる必要がある。
server:
local-zone: "0.168.192.in-addr.arpa" transparent
62 :
58 :2008/06/17(火) 01:05:11
>>61 有難うございました。まさしくその通りに設定したら、
逆引きできるようになりました。
63 :
名無しさん@お腹いっぱい。 :2008/10/16(木) 00:59:25
NSD(ver2)って設定するところが少なくて不安になる。
3.x が出てるのに今さらなんで 2.x なの。 設定するところ増えてるよ。
65 :
名無しさん@お腹いっぱい。 :2008/10/16(木) 11:02:46
>>64 だって、etch(stable)ではいまだにver2なんですもの。
(赤毛のアン風に)
未だにDebianなんか使ってるおまえの頭が不安だよ
67 :
名無しさん@お腹いっぱい。 :2008/10/16(木) 17:28:27
>>66 おまえの乳首、だんだん固くなってきているな。
んー このスレは死んでるっぽ?
>>70 見てる人は見てるよ。
何か話題があるならどうぞ。
73 :
名無しさん@お腹いっぱい。 :2011/06/16(木) 02:53:56.06
BINDバグ大杉 nsdもう少し普及してもいいと思う
NSD3.2.8なんだが、1万ゾーンくらい扱うと不安定になったりしない・・? SERVFAIL返ることが間々あるんだが・・・ NSDって大規模には不向きなのかなぁ〜
キャッシュサーバの性能試験のために 1ゾーンに300万レコードくらい突っ込んだけど快調だったぞ ゾーン数が大きくなるとダメってことかね
レコードが多い分には大丈夫なのか・・・ 何をすると再現するのかまだハッキリしてないんだが セカンダリでixfr.dbが存在してる時にnsdc patchの実行が完了した後 ログに「info: memory recyclebin holds 753740 bytes」が現れるのと同時 に30秒程度SERVFAILが発生して収束していると思われる verbosityが2の状態で特に怪しげなログは見当たらないが 下みたいなログがちょいちょい出てたりもする error: xfrd: connect 10.0.0.1 failed: Address already in use ※10.0.0.1はプライマリのIPアドレス
同じ事象を見たことないからわからないし、バグなのかもしれないけど、 そういうタイミングで一時的に答えられないのは許してやれよと 思わなくもないが…… BIND9も大量データのreload中はだんまりになるよね
無応答なら許せるがSERVFAILはちょっと・・・ nsdc patchなんぞで起きるのもちと許せない あと、書き忘れてたんだが、SERVFAILを返すのは全ゾーンではないようなんだ 再現性を確認すのは大変だ・・・orz
リゾルバ(キャッシュサーバ)的には、権威サーバの無応答よりSERVFAIL返った ほうがいいんだよね。無応答だとリゾルバはとりあえずタイムアウトまで 待つ必要があるが、SERVFAIL返ってきたらすぐに別の権威サーバへの クエリ再送に移れるから。 patchごときて何でSERVFAIL? というのは同意するが....
おー、確かに nsdc patch や nsdc rebuild && nsdc reload すると スレーブゾーンがSERVFAILになるタイミングがあるねぇ。 マスタとして10000ゾーン(各ゾーン100レコード)、スレーブとして1ゾーンを 持つnsdでは再現率100%でスレーブゾーンだけが15秒くらいSERVFAILになる。 SERVFAILになる時間は合計のゾーン数(レコード数?)に比例するっぽい。
やはり出ましたか 自分は10000ゾーン300レコードで30秒程度でしたね (まぁ、時間はサーバのスペックに依存しそう) セカンダリなゾーンだけで発生するのが凄く気持ち悪いな・・・ あと、これはまだ切り分けていないが patch時のixfr.dbのサイズによっても差異があるように感じる プライマリとのやりとりか何かがあるのかな・・・ パケット覗いてみなきゃ分からんが・・・
connect failedって出てるのはリソース不足?
リソース不足なのかな・・? Address already in use だから謎・・・ プライマリのアドレスなんだからセカンダリで使うことは無いのだが・・・
BIND 9.xがやばい?