Unbound,知ってる? この先10年を見据えたDNS
第1回 5分でわかるUnbound
本特集では,
Unboundの概要
UnboundはBINDの代替を目指したDNSキャッシュサーバです。2008年5月20日に正式版1.
UnboundはNLnet Labsにより開発と保守が行われています。UnboundはVerisign labs,
UnboundはDNSキャッシュサーバとしてはフルスペックであるため,
Unboundの位置付けをはっきりさせるために,
DNSコンテンツサーバとDNSキャッシュサーバ
DNSサーバには役割に応じてDNSコンテンツサーバとDNSキャッシュサーバという2つの種類のサーバがあります。
DNSコンテンツサーバは権威サーバとも呼ばれ,
DNSキャッシュサーバとはフルリゾルバとも呼ばれ,
これらのサーバの関係は図1のようになります。
BINDは両方の機能を持っているため,
DNSコンテンツサーバとDNSキャッシュサーバは役割も設置すべき場所も異なるため,
Unboundの特徴
Unboundの特徴について紹介します。
DNSキャッシュサーバ
先ほど説明したように,
DNSSECサポート
UnboundはDNSプロトコルのセキュリティ拡張であるDNSSECをサポートしています。オープンソースのDNSキャッシュサーバでDNSSECをサポートしているのはBINDとUnboundだけです。
キャッシュ汚染に対する耐性
DNSキャッシュ汚染に対する根本的な解決方法はDNSSECを使用して問い合わせの結果に対してデジタル署名の検証を行うことです。しかし,
- 問い合わせの回答に対するサニタイジング
- 暗号学的に強いランダム性を持つ問い合わせIDの利用
- 暗号学的に強いランダム性を持つソースポート番号の利用
- ランダムなデスティネーションアドレスの利用
- ランダムなソースアドレスの利用
そのため,
- ※1)
- 同時期にバグフィックスのためのアップデートはありました。
セキュリティ
セキュリティに関しては次のような特徴を持っています。
- デフォルトでchrootで動作します。
- デフォルトで一般ユーザ権限に落として動作します。
- 再帰問い合わせを要求するクライアントに対してアクセス制御できます。
- version.
bindやhostname. bindの内容を変更したり, 問い合わせをブロックしたりすることができます。
さらに,
性能
詳細なメモリ管理ができ,
BINDより処理性能が良いです。参考までにUnboundの開発者であるWouter Wijngaards氏がRIPE 56 Meetingで発表した資料によると,
使いやすさ
設定ファイルの形式は非常に単純であり,
server:
interface: 0.0.0.0 ←バインドするインターフェースの指定
access-control: 192.168.0.0/24 allow ←アクセス制御
do-ip6: no ←IPv6での転送ができない場合
デフォルトではlocalhostからのみのアクセスしかできません。そのため,
IPv4/ IPv6デュアルスタック対応
IPv4とIPv6の両方に対応しており,
簡易的なコンテンツサーバ
簡易的なコンテンツサーバとしての機能を持ち,
他のDNSサーバとの連携
スタブゾーンの設定により,
BINDとの違い
Unboundの特徴で述べたこと以外で,
設定ファイルの形式
設定ファイルの形式は
loopbackアドレスの名前解決
localhostの正引きや127.
プライベートアドレスの逆引き
プライベートアドレスやリンクローカルアドレスなどの逆引きの問い合わせをインターネットに対して行うことは非常に無駄であり迷惑です。
Unboundはこのような逆引きの問い合わせに対してはNXDOMAIN
DNSラウンドロビン
簡易的な負荷分散の方法としてDNSラウンドロビンというものがあります。1つのドメイン名に対して複数のホストのIPアドレスを割り当て,
BINDはキャッシュした内容を毎回異なる順番で結果を返すため,
まとめ
今回はUnboundの概要について紹介しました。お読みいただいたように,
次回は新規導入の方法を紹介します。
バックナンバー
Unbound,知ってる? この先10年を見据えたDNS
- 第4回 Unboundサーバ運用Tips
- 第3回 Unboundの導入(乗り換え編)
- 第2回 Unboundの導入(新規導入編)
- 第1回 5分でわかるUnbound