前回はUnboundを新規導入する方法について紹介しました。今回は他のDNSサーバからUnboundに乗り換える方法を紹介します。
なお,本記事ではLinuxディストリビューションの1つであるCentOS 5.2での導入手順を紹介します。他の場合には適宜読み替えてください。
Unboundのインストール
インストール
Unboundのインストール方法については前回の記事をご覧ください。
動作確認
すでにBINDなどの他のDNSサーバーが動いている場合にはポート番号が衝突するため,そのままでは動作確認を行うことが出来ません。そのため,Unboundの設定ファイルunbound.confに次のように通常のポート番号と異なる番号を設定します。
port: 10053
unboundを起動させてみましょう。
# /etc/init.d/unbound start
次のようにdrillに-pオプションでポート番号を指定して,gihyo.jp.の正引きをしています。Aレコードが正しく取得できれば成功です。
$ drill -p 10053 gihyo.jp. @127.0.0.1 A
動作確認ができたのでunboundを停止します。
# /etc/init.d/unbound stop
設定ファイルunbound.confに先ほど追加したportの設定を削除します。
乗り換え設定を行うにあたっての注意点
乗り換え方法の本題に入る前に,注意点および共通な設定など先に説明します。
リゾルバの設定
ホスト自身のリゾルバとしてUnboundを利用する場合には,リゾルバの設定ファイル/etc/resolv.confのnameserver欄に127.0.0.1を記述してください。
nameserver 127.0.0.1
アクセス制御
アクセス制御を移行するのを忘れないようにしてください。
たとえば,BINDの設定ファイルnamed.confに次のような記述があったとします。
options {
allow-recursion { 127.0.0.1; 192.168.0.0/24; };
};
この場合には,Unboundの設定ファイルunbound.confには次のような記述を行います。
access-control: 192.168.0.0/24 allow
BINDの再帰問い合わせを止める方法
キャッシュサーバとしてのサービスをUnboundに任せ,BINDはコンテンツサーバとしてのサービスのみを行う場合には,BINDの再帰問い合わせを禁止させます。BINDの再帰問い合わせを禁止するためには,BINDの設定ファイルnamed.confのoptionsあるいはviewに次のような記述を行います。
recursion no;
allow-recursion { none; };
フォワード
フォワードについてはUnboundではフォワードゾーン「forward-zone」という機能があります。この機能については次回紹介します。
スタブ
スタブについてはUnboundではスタブゾーン「stub-zone」という機能があります。この機能については次回紹介します。
既存のDNSサーバからの乗り換え方法
既存のDNSサーバからUnboundに乗り換える方法を紹介します。なお,既存のDNSサーバとしてBINDを前提として説明しますが,他のDNSサーバの場合には適宜読み替えて作業をしてください。
なお,それぞれの設定が終わったら,drillコマンドなどで動作確認を行ってください。
既存のDNSサーバがキャッシュサーバのサービスのみを提供している場合
既存のDNSサーバがキャッシュサーバの機能のみを使用している場合の乗り換え方法は単純です。既存のDNSサーバのサービスを停止してunboundのサービスを起動すれば良いだけです。
注意事項の確認をした後に,BINDを停止し,Unboundを起動してください。
# /etc/init.d/named stop # /etc/init.d/unbound start
OSのブート時にBINDが起動しないようにし,Unboundが起動するようにします。
# /sbin/chkconfig named off # /sbin/chkconfig unbound on

