2011年10月1期UNIXNSD - Name Server Daemon TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
Unix 辞書ソフト総合スレッド 第二版
Emacs撲滅委員会 その2
【人生色々】UNIX遍歴を語れ!【UNIX色々】
X.Orgって、どうよ?


NSD - Name Server Daemon


1 :04/08/18 〜 最終レス :11/09/24
NSDはコンテンツサーバに特化した高速軽量なDNSサーバです。
本家
http://www.nlnetlabs.nl/nsd/
JPRS DNS関連技術情報
http://jprs.jp/tech/

2 :
【関連スレ】
BIND その2
http://pc5.2ch.net/test/read.cgi/unix/1042989999/l50
djb(3)
http://pc5.2ch.net/test/read.cgi/unix/1047117464/l50
DNS鯖 総合スレッド (BIND)
http://pc5.2ch.net/test/read.cgi/mysv/1045662104/l50
ダイナミックDNSについて語ろう Part4
http://pc5.2ch.net/test/read.cgi/mysv/1082652915/l50

3 :
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にする

4 :
基本設定は/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と同じ)。

5 :
その他の特徴
・IPv6標準サポート(added by itojun)
・DNSSECはexperimental
・ルートネームサーバにも使われている
・FreeBSD, Linux, Solaris, Tru64, HP-UX, MacOS X などをサポート
・IXFR(差分ゾーン転送)、キャッシュサーバ、ラウンドロビン、IN以外のクラスは未サポート。

6 :
>>1
で、使ってんの?
どんな感じ?

7 :
>>6
まだ運用はしてないけど、とりあえずFreeBSDのportsからインストールしてみた。
インストールに関しては問題なし。
mmapは未サポートのオプションなので有効化しない。(普通はたぶんallocが使われるらしい?!)
BINDからの移行の場合はnamed.confを読み込んで設定をインポートできるみたいだけど、
うちはdjbdnsだからゾーンファイルは書き直し。
ちなみに、ゾーン転送を誰にも許可しない場合はAXFRをコンパイルオプションで無効化しておく。
さもなくばtcp_wrapperでアクセス制限するらしい。
設定周りは非的で個人的には好感触。

8 :
>>3
> ●glueの取り扱いの違い
> −BIND 9, NSD: glueはglueとしてのみ取り扱う
> −djbdns, BIND 8: 下位ゾーンのAなら、単独でも取り扱う
解説キボンヌ

9 :
>>8
http://www.soi.wide.ad.jp/class/20030036/slides/05/

10 :
>>8
サブドメインの委譲などで、NSレコードの内容が自ドメイン(ゾーン内)のものではない場合、
本来は権限外だけどAレコード(IPアドレス)もついでに教えてあげるのがglue。
そうしないとたらいまわしにされて目的のIPアドレスにたどり着けない可能性があるから。
で、BIND9,NSDの場合はNSレコードを問い合わせた場合のみ、glueのAレコードを答える。
djbdns,BIND8は、そのAレコードを直接問い合わせた場合でも答えちゃう。
まともなリゾルバはそんな問い合わせをしないはずなので運用上の実害はない。

11 :
cdbってmmapしてた気がするけどディスク上になるの?

12 :
>>11
mmapはファイルをマップしてメモリであるかのように扱うということだから、
RAM上に展開されてるかどうかはOS任せで保証の限りじゃないというかケースバイケースでは?

13 :
mmapの場合は他プロセスによってデータファイルが更新されても明示的に再読み込みする必要がない。
だからrsyncでの同期が出来る。
NSDがmmap使ってないのはパフォーマンス上の理由ではなくて、うまく安定動作させられなかったから塩漬けしただけみたい。

14 :
> mmapの場合は他プロセスによってデータファイルが更新されても明示的に再読み込みする必要がない。
そうなの? よくわかんないけど tinydnsというか cdbの場合はいちいち開き直してるよ。
http://djbdns.qmail.jp/performance/
> 問い合わせごとにcdbファイルをopen,mmapしていますが、この処理を省略したものを作って測定してみると、
> 12000 query/秒で動作します。[データベースを更新する度に再起動する必要があります。]

15 :
>>14
djbdnsの中身はあまり知らないので勘違いしてるかも。
毎回openしなおしてるということなら、djbdnsがmmap使ってるのは、
単にそれがlibcじゃなくてシステムコールだからかもね。

16 :
> 単にそれがlibcじゃなくてシステムコールだからかもね。
よくわかんないけどメモリ管理しなくていいからじゃないの?
あと、現実問題 mmapでも一度舐ればメモリに入る気がする。
逆に全データをメモリに置くためのコストは問題にならないのかな?
まあ DNSにあまり関係ないしどうでもいいんだけど。

17 :
>>16
> 逆に全データをメモリに置くためのコストは問題にならないのかな?
たまにしか問い合わせされない大量のレコードがあるような場合には、
PowerDNSみたいなRDBMS使うタイプのほうが向いてるかもね。

18 :
tinydnsからNSDに移行してみました。よさげ。
FreeBSDのPortsから入れた場合は、
/etc/rc.conf に
 nsd_enable="YES"
 nsd_flags="(起動時オプション)"
を書くらしい。

19 :
NSDと一緒に使うのによさげなDNSキャッシュサーバは何かある?

20 :
おお,NSDなスレが!!
漏れ7ドメインくらいの primary 鯖で運用してみてる
primary としてはまず問題ない. BIND-8 からの
移行も簡単だったし,負荷も全然問題ない.
secondary として運用するには nofity 受けて,
自動的に,update -> rebuild -> reload してくれる
仕組みがないと辛い. cron で回すとどうしても
タイムラグが出ちゃう
当分 nsd (primary), bind8(secondary) で運用予定

21 :
>>20
どうせキャッシュによるタイムラグのほうが大きいんだから、気にしない、というのはだめ?

22 :
>>19
当面はdjbのdnscacheかな。IPv6があれだけど。

23 :
今のところ問題なく動いてくれてるみたいですよ。

24 :
ウマウマ

25 :


26 :
NSD 2.1.3 released!!!
http://www.nlnetlabs.nl/nsd/
バグフィックス中心みたいです。

27 :
NSD 2.1.4 age

28 :
NSD 2.1.5 age

29 :
NSD 2.2.0 age

30 :
ヌスド

31 :
NSD 2.2.1 age

32 :
NSD提案したら、djb信者に却下された。

33 :
そこで NSD + dnscache ですよ。

34 :
Unix User 3月号で紹介されてました。

35 :
>>32
信者はしょうがない
djbtools は信者には使いやすく,それ以外の人には使いにくい
NSDはpostfix同様にまた〜りで結構

36 :
NSD 2.3.0 age

37 :
NSD 2.3.1 age

38 :
リリース以外に話題はないのかね。

39 :
>>10
間違い!

40 :
pdnsd スレはどこですか?

41 :
svn レポジトリ公開 age

42 :
NSD 2.3.2 age

43 :
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".

44 :
nsd-xfer じゃなくて named-xfer を使うとどうなる?

45 :
>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 :
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 :
嗚呼。。ちがう
> --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 :
保守

49 :
NSDのインストール方法とかを紹介してるサイトって無いんですかね?
ローカルDNSとして使ってみたいのですが。
hostsにちまちま書いて設定してるのも大変なので...。

50 :
README とか INSTALL とか。

51 :
>49
UNIX USERで記事に成った事が有る。

52 :
NSD 3 が出たのに……

53 :
ヌスド3をためしてみたら、セカンダリの設定がうまくいかなかったので
ひきつづき格闘中。(自分がタコなだけかもしれない。。)

54 :
ごめんなさい、、debug-mode: yesにしてたから
セカンダリが無効になってました。。鬱死

55 :
つい先日nsd-users@ をsubscribeしました。
.co.jp な方がパッチだしてました。

56 :
a

57 :
そういや、まだ3.*系にアップグレードしてないや。

58 :
Unboundの質問はここで良いのでしょうか?

59 :
>>58
おk。

60 :
遅くなってすみません。
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.*の逆引きができるようにはなりませんでした。
これはどうしたらできるようになるのでしょうか?

61 :
>>60
デフォルトではプライベートアドレス空間は NXDOMAIN を返すようになってるので、
これをやめさせる必要がある。
server:
local-zone: "0.168.192.in-addr.arpa" transparent

62 :
>>61
有難うございました。まさしくその通りに設定したら、
逆引きできるようになりました。

63 :
NSD(ver2)って設定するところが少なくて不安になる。

64 :
3.x が出てるのに今さらなんで 2.x なの。
設定するところ増えてるよ。

65 :
>>64
だって、etch(stable)ではいまだにver2なんですもの。
(赤毛のアン風に)

66 :
未だにDebianなんか使ってるおまえの頭が不安だよ

67 :
>>66
おまえの首、だんだん固くなってきているな。

68 :
DNSサーバの「NSD」に脆弱性、修正アップデート公開 - ITmedia エンタープライズ
ttp://www.itmedia.co.jp/enterprise/articles/0905/21/news029.html
珍しくニュースになったのに誰も貼らないのか…

69 :
>>68
DNSサーバ「NSD」に新たなバグ、修正パッチ公開
http://www.computerworld.jp/topics/vs/146309.html

70 :
んー このスレは死んでるっぽ?

71 :
こっちに集まってるんだとおもわれ。NSD単体じゃそんなに話題ないし。
Name Server 総合スレ【DNS】
http://pc12.2ch.net/test/read.cgi/unix/1227629676/

72 :
>>70
見てる人は見てるよ。
何か話題があるならどうぞ。

73 :
BINDバグ大杉
nsdもう少し普及してもいいと思う

74 :
NSD3.2.8なんだが、1万ゾーンくらい扱うと不安定になったりしない・・?
SERVFAIL返ることが間々あるんだが・・・
NSDって大規模には不向きなのかなぁ〜

75 :
キャッシュサーバの性能試験のために
1ゾーンに300万レコードくらい突っ込んだけど快調だったぞ
ゾーン数が大きくなるとダメってことかね

76 :
レコードが多い分には大丈夫なのか・・・
何をすると再現するのかまだハッキリしてないんだが
セカンダリで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アドレス

77 :
同じ事象を見たことないからわからないし、バグなのかもしれないけど、
そういうタイミングで一時的に答えられないのは許してやれよと
思わなくもないが……
BIND9も大量データのreload中はだんまりになるよね

78 :
無応答なら許せるがSERVFAILはちょっと・・・
nsdc patchなんぞで起きるのもちと許せない
あと、書き忘れてたんだが、SERVFAILを返すのは全ゾーンではないようなんだ
再現性を確認すのは大変だ・・・orz

79 :
リゾルバ(キャッシュサーバ)的には、権威サーバの無応答よりSERVFAIL返った
ほうがいいんだよね。無応答だとリゾルバはとりあえずタイムアウトまで
待つ必要があるが、SERVFAIL返ってきたらすぐに別の権威サーバへの
クエリ再送に移れるから。
patchごときて何でSERVFAIL? というのは同意するが....

80 :
おー、確かに nsdc patch や nsdc rebuild && nsdc reload すると
スレーブゾーンがSERVFAILになるタイミングがあるねぇ。
マスタとして10000ゾーン(各ゾーン100レコード)、スレーブとして1ゾーンを
持つnsdでは再現率100%でスレーブゾーンだけが15秒くらいSERVFAILになる。
SERVFAILになる時間は合計のゾーン数(レコード数?)に比例するっぽい。

81 :
やはり出ましたか
自分は10000ゾーン300レコードで30秒程度でしたね
(まぁ、時間はサーバのスペックに依存しそう)
セカンダリなゾーンだけで発生するのが凄く気持ち悪いな・・・
あと、これはまだ切り分けていないが
patch時のixfr.dbのサイズによっても差異があるように感じる
プライマリとのやりとりか何かがあるのかな・・・
パケット覗いてみなきゃ分からんが・・・

82 :
connect failedって出てるのはリソース不足?

83 :11/09/24
リソース不足なのかな・・?
Address already in use だから謎・・・
プライマリのアドレスなんだからセカンダリで使うことは無いのだが・・・
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
Unix 辞書ソフト総合スレッド 第二版
Emacs撲滅委員会 その2
【人生色々】UNIX遍歴を語れ!【UNIX色々】
X.Orgって、どうよ?