運用TIPS
今回は他のDNSサーバとの連携方法や運用TIPSについて紹介します。
設定ファイルの記述が正しいか確認する
デフォルトの設定ファイルに設定を少し追加しただけの場合は問題ないですが,設定を次々と追加していくと記述間違いが出てくる恐れがあります。そのため,設定ファイルを書き換えた後にはunbound-checkconfコマンドを実行することにより,設定ファイルのエラーの確認を行うことができます。
実行例は次の通りです。
# unbound-checkconf unbound-checkconf: no errors in /var/unbound/unbound.conf
問い合わせをゾーン毎に制御する
ローカルゾーン「local-zone」の設定を行うことで,「local-data」に記述がない場合の動作を設定することができます。
記述方法は次の通りです。
local-zone: ゾーン タイプ
下表のようなタイプの指定を行うことができます。local-zoneの指定がないときには「transparent」がデフォルトです。
| refuse | rcodeをREFUSEDにして,エラーメッセージを返す |
| drop | 回答を送信しない |
| static | NXDOMAINかNODATAを返す |
| transparent | 通常の再帰問い合わせの処理をする |
| redirect | ゾーンのサブドメインを異なるアドレスにリダイレクトする |
| nodefault | AS112ゾーン(※)のデフォルトの設定をオフにする |
※ AS112ゾーンはプライベートアドレスやリンクローカルアドレスの逆引きのゾーンのことです。Unboundではデフォルトでこのゾーンに対する問い合わせにはNXDOMAIN(情報なし)を返します。
設定例を1つ紹介します。
試験用のドメイン「local.」を運用していて,登録したホスト以外への問い合わせに対してはインターネットに問い合わせが行かないようにしたいときには,次のような設定を行い,タイプには「static」を記述します。
local-zone: "local." static local-data: "host1.local. A 192.168.0.1"
この設定では,host1.localのAレコードの問い合わせには192.168.0.1が返されますが,host2.localのAレコードの問い合わせにはNXDOMAINが返されます。
指定したDNSコンテンツサーバに問い合わる
特定のドメインに対して指定したDNSコンテンツサーバに問い合わせを行いたいときにはスタブゾーン「stub-zone」を設定します。図1のような関係になります。
記述方法は次の通りです。「stub-addr」と「stub-host」はどちらか1つ以上の記述があれば良いです。
stub-zone:
name: スタブゾーンの名前
stub-addr: スタブゾーンのDNSサーバのIPアドレス
stub-host: スタブゾーンのDNSサーバのドメイン名
次の例は「example.org」ゾーンとその逆引き「0.168.192.in-addr.arpa」ゾーンのDNSコンテンツサーバへの問い合わせ先のIPアドレスが「192.168.0.4」であることを示します。
stub-zone:
name: "example.org."
stub-addr: 192.168.0.4
stub-zone:
name: "0.168.192.in-addr.arpa."
stub-addr: 192.168.0.4
プライベートアドレスの逆引きのゾーンに対する問い合わせはUnboundではデフォルトでNXDOMAINを返すので,server節に次のようにローカルゾーンの設定を行い,「transparent」の指定を行います。
local-zone: "0.168.192.in-addr.arpa." transparent

