unbound - キャッシング専用DNSサーバ

キャッシュ専用といいつつ、レコード単位で記述する簡易なコンテンツDNSサーバ機能もあり。bindが巨大になりすぎて脆弱製が見つかったりなんたらかんたらで、じゃあキャッシュに特化した軽いDNSサーバ作ろうってことでbindを文字って付けられた名前??

開発者はコンテンツ用DNSサーバ NSDとやらも作っているらしいが、それはまた今度調べる。

ref.

 

unboundの特徴

  • ipv6対応
  • dnssec対応
  • bindのようなコンテンツDNSサーバの機能はない
    • 簡易レコード機能はある
    • レコードを個別に設定
  • 処理性能はbindより上(3倍近い?)
  • 設定はシンプル
  • chrootも簡単

install

ldnsライブラリが必要

  • ldns

http://www.nlnetlabs.nl/downloads/ldns/

  • unbound
./configure --prefix=/usr/local/unbound
make && make install
起動スクリプト

sourceからcopy。

cp contrib/unbound.init /etc/init.d/

設定メモ

ざっと見て設定しそうな主要なパラメータ

  • hide-version

バージョンを隠す場合はyes

  • do-ip6

ipv6使わないときはnoで。

  • interface

listenするIPを指定。

アクセス制限

  • logfile, use-syslog

logを設定。デフォルトはuse-syslog: yes

  • local-data

個別にレコードを追加したいときは設定。

local-data: "hoge.localhost A 10.0.0.1"
  • rrset-roundrobin

ラウンドロビンに対応させる場合はyes

  • interface-automatic

クラスタ時などのalias のip宛に問い合わせが来た場合、
そのipをsourceにして応答を返す
これがないとclientが問い合わせしたときに以下のようなエラーになる

reply from unexpected source: 192.168.0.10#53, expected 192.168.0.11#53
  • statistics-cumulative

yesにすると統計情報取得後にresetしないようになる

config test

専用のコマンドがある。

unbound-checkconf