
第2回 すべての基礎、マスター・ゾーンサーバの設定
鶴長 鎮一
2003/1/25
ゾーンファイルの作成
次に、/var/named下に/etc/named.confで記述したすべてのゾーンファイルを作成します。
■named.ca
キャッシュサーバとして動作するためには、ルートサーバがどこにあるのかを正しく知っておく必要があります。そのためのゾーンファイルをftp://ftp.rs.internic.net/domain/named.rootから入手し、/var/named/named.caとして保存します。
ルートサーバは不変であると思われがちですが、頻繁でないにしろ更新されることがあります。2002年11月にはDoS攻撃への対策から、5年ぶりにルートサーバに変更が加えられました。BINDはnamed起動時にルートサーバに接続し、自動的に最新のルートサーバ一覧情報に置き換えますが、たまには最新のファイルが公開されていないか確認しましょう。
■example.zone
example.zoneは、自身で管理しているドメインの正引き用ゾーンファイルになります。ここは皆さんの環境に合わせて修正を加えてください。
$TTL 86400 (1) |
| /var/named/example.zone |
| (1) TTLに86400秒(1日)を指定 (2) ここからSOAレコード (3) これらの値はマスター・ゾーンサーバとスレーブ・ゾーンサーバ間でやりとりする際に使用される。次回以降に説明 (4) ここまでがSOAレコード (5) NSレコード (6) Aレコード |
example.zoneには、SOA、NS、Aなどの「レコード」と呼ばれる記述が見られます。それぞれのレコードには「主なDNSレコードの種類」のような意味があります。
ここで、1行目に記述されている「$TTL」に注目します。TTLは、外部のDNSがあなたのドメイン情報を参照してキャッシュする際に、どれくらいの期間情報を保持するかを指定するものです。しかし、2行目から始まるSOAレコードと呼ばれるブロックにもTTLの記述があります。一見無駄な設定のように思えるかもしれませんが、大変重要な意味を持っています。これについては、後述の「TTLとネガティブキャッシュ」を参照してください。
次に、SOAレコードの先頭行を見てみましょう。
@ IN SOA dns.example.jp. root.example.jp. (......) |
「dns.example.jp.」はプライマリゾーンサーバ名、「root.example.jp.」はドメイン管理者のメールアドレスです。適宜自分の環境に合わせて置き換えてください。その際、メールアドレス中の「@」を「.」に置き換えることと、最後に「.」を付けることに注意しましょう。なお、管理者の情報はRP(Responsible Person)情報として公開されます。
■example.rev
example.revは逆引き用ゾーンファイルです。IPアドレスに対するホスト名を記述する際は、PTRレコードを用います。
$TTL 86400 |
| /var/named/example.rev |
■local.zone
local.zoneはループバックアドレスの名前解決に使用します。具体的には、localhost→127.0.0.1正引き情報を提供します。一度設定すれば、以降は変更する必要はありません。local.zoneのTTLは長めに設定しても構いません。
$TTL 86400 |
| /var/named/local.zone |
■local.rev
local.revは、ループバックアドレスの逆引き用に使用されます(127.0.0.1→localhost)。これも一度設定してしまえば、ほとんど修正を加えることがありません。
$TTL 86400 |
| /var/named/local.rev |
■/var/run/named/named.pid
最後に、/var/run/named/named.pidが作成されるように、/var/run/namedディレクトリをnamedユーザー/namedグループで作成します。
# mkdir /var/run/named/ |
カーネル2.4.xを採用している環境であれば/var/run/named.pidを作ることが可能ですが、カーネル2.2.x環境ではnamedデーモンをnamedユーザーで起動すると/var/run直下にpidファイルを作れずエラーとなります。ここでは、どちらの環境でもうまくいくように/var/run/named/named.pidとしています。
■TTLとネガティブキャッシュ
TTLはデフォルトのキャッシュ有効期限(Time To Live:TTL)を指定するものですが、SOAレコードの中にもTTLの値を見つけることができます。これを理解するには、キャッシュの機能を理解しておく必要があります。
通常、キャッシュサーバはDNS問い合わせに成功したもの、すなわち「www.atmarkit.co.jp→211.4.250.170(または211.4.250.170→www.atmarkit.co.jp)」の結果をー時的に蓄えます。その一方で、「dummy.atmarkit.co.jp→NXDOMAIN(ドメインが存在しない)」といった、失敗した結果をキャッシュする「ネガティブキャッシュ」も併せ持っています。
2つのキャッシュの性質を考えると、同じTTLの値を使用するのはあまり有効ではありません。そこで、RFC 2308(http://www.ietf.org/rfc/rfc2308.txt?number=2308)で新たにネガティブキャッシュが定義されました。
これを受けて、BIND 8.2以降ではいままでのSOAレコードにあるデフォルトTTLの値をネガティブキャッシュ用のTTLとし、新たに$TTL行を設けてゾーンデータのデフォルトTTLの値を指定するようにしました。また、ゾーン全体に対してTTLを設定する以外に、レコードごとの指定もできます。これにより、変更を予定しているホストのレコードは個別にTTLを短くする、といったことが可能になります。
(略) |
| /var/named/example.zone(TTL設定例) |
|
2/3
|
|
||||||
|
||||||
| 連載 実用 BIND 9で作るDNSサーバ |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
