## page was renamed from DNS/unbound/キャッシュ ## page was renamed from DNS/キャッシュサーバ/unbound = unbound DNS キャッシュサーバ = http://unbound.net/documentation/index.html http://www.unbound.net/documentation/requirements.html ldns http://nlnetlabs.nl/projects/ldns/ http://www.howtoforge.com/installing-using-unbound-nameserver-on-debian-etch [[/バージョン]] [[/conf]] ---- = unbound install = [[/64 bitOS]] もmake install 出来た。(PCBSD 9.0) -- ToshinoriMaeno <> 32bitOSではmakeできている。 == FreeBSD 8.2 (i386) == 環境: FreeBSD 8.2 (i386), openssl 1.0.0d (/usr/local/ssl) gmake あり ldns-1.6.10をインストールしようとしたら、libexpatがなかったので、expat 2.0.1 をgmakeした。 特にひっかかることもなく、unbound 1.4.12 もmake, install できた。 /usr/local/etc/unbound のもとにconfigファイルを置いて、動かし始めた。  daemontools の監視下でforeground で動かしている。 /service/unbound == ubuntu 10.10 (i386) == libexpat-2.0.1, ldns-1.6.10, unbound-1.4.12 という組み合わせでmakeできた。 -- ToshinoriMaeno <> == ldns == http://nlnetlabs.nl/projects/ldns/  drill や example の gmake/installもしておく。 == unbound のインストールができない == {{{ 正確には ldns がmakeできない。 }}} 常用環境である ubuntu 11.04(amd64) でmakeできない。 openssl で作ったlibcrypto.aがリンクできない。 環境: ubuntu 11.04 (amd64) opensslは1.0.0dである。 unbound 1.4.12 libexpat は apt-get install libexpat1-dev で入れた。  unbound configure ではすでに入っていたldnsは古いというメッセージになる。 ldns 1.6.10 をnlnetlabs.nlからダウンロードしてくる。 config, make で libcrypto.a がリンクできないとのメッセージ。    -fPICをつけろというのだが、つけてもだめ。 {{{ /usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(x86_64cpuid.o): relocation R_X86_64_PC32 against symbol `OPENSSL_cpuid_setup' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value }}} ここで、上記のFreeBSDを試したのだが、こちらは問題なしだった。 CentOS 5.6 (amd64) でも同じ症状のようだ。 64ビット環境に関係があるかも。 --disable-shared を指定して、configureすればリンクできる。(ldns, unbound とも) -- ToshinoriMaeno <> ---- ldns の問題が解消しなくては最新のunboundは使えない。 OSに付属の古いunboundは動いているので、当面はこれを使っておく。  drill もapt-get で入れた。 (ldn 1.6.6 だ) == 設定も面倒だ == キャッシュサーバなのに、どうしてこんなに設定項目があるのだ。 daemontoolsでの管理はどうすればいいのかな。  死んだときに自動で立ち上がってくれるといいのだが。 [[/TTLの扱い]] == 振る舞いの推測 == {{{ authority/additionalで得たレコードのTTLは短くなる。 (-10秒?) }}} unbound-1.4.8 以降での動作だ。 bind (named) とは異なる。 authority/additional section を付けようとする。 キャッシュ内ではanswer/authority/additional の各sectionのデータは区別されている。 * additionalで得たAレコードはquery ansewerには使われない。 * authoriyで得たNSレコードもquery ansewerには使われない。 -- ToshinoriMaeno <> authority/additionalにつけるレコードは区別されない。  additionalにつけるAレコードがTTL expireしたときにfetchしなおしている。 == DNS キャッシュの必要度 == sshd config ではDNSを参照しないように設定してあるので、ログインが遅くなることはない。  tcpserver でのアクセス制御で参照していたのをなるべく使わないようにしておく。   普段使うIPアドレス群を登録しておけば、キャッシュが止まってもすぐに困るわけではない。   IPアドレス固定のホストからのアクセスには問題はない。 == 動作例 == [[/yatz]]