NSD - Name Server Daemon
■ このスレッドは過去ログ倉庫に格納されています
NSDはコンテンツサーバに特化した高速軽量なDNSサーバです。 本家 http://www.nlnetlabs.nl/nsd/ JPRS DNS関連技術情報 http://jprs.jp/tech/ 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があれだけど。 NSD 2.1.3 released!!! http://www.nlnetlabs.nl/nsd/ バグフィックス中心みたいです。 >>32 信者はしょうがない djbtools は信者には使いやすく,それ以外の人には使いにくい NSDはpostfix同様にまた〜りで結構 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 を使うとどうなる? >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時間おきにゾーンとりにいくようにしたのですが、 # イケてないので... 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で入れる先変更してるだけ、です 嗚呼。。ちがう > --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からはとってこれるし。 NSDのインストール方法とかを紹介してるサイトって無いんですかね? ローカルDNSとして使ってみたいのですが。 hostsにちまちま書いて設定してるのも大変なので...。 >49 UNIX USERで記事に成った事が有る。 ヌスド3をためしてみたら、セカンダリの設定がうまくいかなかったので ひきつづき格闘中。(自分がタコなだけかもしれない。。) ごめんなさい、、debug-mode: yesにしてたから セカンダリが無効になってました。。鬱死 つい先日nsd-users@ をsubscribeしました。 .co.jp な方がパッチだしてました。 そういや、まだ3.*系にアップグレードしてないや。 遅くなってすみません。 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 >>61 有難うございました。まさしくその通りに設定したら、 逆引きできるようになりました。 NSD(ver2)って設定するところが少なくて不安になる。 3.x が出てるのに今さらなんで 2.x なの。 設定するところ増えてるよ。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる