|
|
自宅内DNSサーバーの構築
|
DNSサーバーの構築hostsファイルの設定BINDについて(〜9.3.x)BINDについて(9.7.x〜)named.confの設定(〜9.3.x)named.confの設定(9.7.x〜)ゾーンファイルの書式ゾーンファイルの省略方法既存のゾーンファイル(〜9.3.x)既存のゾーンファイル(9.7.x〜)正引きゾーンファイルの作成逆引きゾーンファイルの作成設定ファイルの書式チェックnamedの起動とコントロールnamedの動作確認ルーターとホストの設定DNSSECについて |
ゾーンファイルの省略方法named のゾーンファイルは、他の多くの サーバー アプリケーション の設定ファイルと異なり、様々な省略方法が準備されています。 まずは、今回構築中のnamedの "obenri.com" に関する正引きゾーンファイル "/var/named/obenri.com.zone" の「非省略型」と「省略型」の記述を比べてみましょう。
正引きゾーンファイル(非省略)"obenri.com.zone"
↓省略
正引きゾーンファイル"obenri.com.zone" 次に、自宅の サブネット に関する逆引きゾーンファイル |
|||||||||||
|
|
"/var/named/100.168.192.in-addr.arpa.zone" の「非省略型」と「省略型」の記述を比べてみましょう。
逆引きゾーンファイル(非省略)"100.168.192.in-addr.arpa.zone"
↓省略
逆引きゾーンファイル"100.168.192.in-addr.arpa.zone" |
|||||||||||
|
この独特の書式は人間が手作業で内容を書き換えるときの利便性だけではなく、大量の名前解決情報をサーバーが自動処理で一括して修正、変更するときにも都合が良いように考案されています。
この書式を考えた人は天才だと思います。本当に。 |
例外もありますが、ゾーンファイルの記述の省略方法の基本は、 「明示的に記述しない場合は直前の記述内容が設定されているものとみなす。」 という考え方に基づいていて、省略のルールを理解してしまえば最小限の書き換えで容易にかつダイナミックに設定変更ができるようになっています。 このセクションでは、「非省略型」から「省略型」への記述変更について、順を追って解説していきます。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|||||||||||
"$TTL"による各レコードのTTLの省略TTL は、ゾーンファイルに記述されている各レコードが、他の DNSサーバー や クライアント機 などで DNSキャッシュ として使用されるとき、その保持される時間です。 デフォルト は一日、つまり、 "1D" 、または "86400" ですが、この値の変化は DNS 全体のパフォーマンスには若干の影響は与えるものの、不具合を生じるほどのものではないので、全てのレコードについて同じ値を設定して構いません。 |
||||||||||||
| もうこれはほとんど当たり前同様の記述です。 |
こういう場合、各ゾーンファイルの先頭に
$TTL 86400
と記述しておけば、各レコードのTTL値を省略しても自動的に TTL=86400 という値が設定されたものとみなされます。 |
|||||||||||
|
|
これでゾーンファイルは以下のようになります。
正引きゾーンファイル(非省略)"obenri.com.zone"
↓省略
$TTLで省略した"obenri.com.zone"
逆引きゾーンファイル(非省略)"100.168.192.in-addr.arpa.zone"
↓省略
|
|||||||||||
"$ORIGIN"によるゾーン名の省略"$ORIGIN [ゾーン名]" をゾーンファイルの最初に記述しておくと、それがゾーンファイル全体の デフォルト のゾーン名とみなされ、以後の FQDN や、PTR形式の IPアドレス の記述を簡略化することができます。 例えば、正引きのゾーンファイルで、 |
||||||||||||
|
ここで注意が必要なのは、
"@"
は変数ではなく、
「ゾーン名を単独で表す記号」
であるということです。
つまり、 "web1.obenri.com." を、 "web1.@" のようには記述できないことに注意してください。 |
$ORIGIN obenri.com.
と記述した場合、 "obenri.com." と記述すべきところは "@" に置き換えることができます。同様に、逆引きのゾーンファイルで、
$ORIGIN 100.168.192.in-addr.arpa.
と記述すれば、 "100.168.192.in-addr.arpa." と記述すべきところは "@" で置き換えることができます。
$TTLで省略した"obenri.com.zone"
↓省略
$ORIGINで省略した"obenri.com.zone"
$TTLで省略した"100.168.192.in-addr.arpa.zone"
↓省略
$ORIGINで省略した"100.168.192.in-addr.arpa.zone" 更に、FQDNやPTR形式のIPアドレスを記述する部分を、末尾に
".(ピリオド)"を付けずに記述
した場合には、
「その後に"."と"デフォルトのゾーン名"が付加している」
とみなされます。 |
|||||||||||
| これを逆にいえば、 ".(ピリオド)"で終わっている記述は、完全な記述 であるということになります。 |
つまり、$ORIGINでデフォルトのゾーン名が"obenri.com."に定義されている場合、
"web1.obenri.com."→"web1"
と簡略化して記述できるわけです。 このルールを使って、更に省略を進めてみましょう。
$ORIGINで省略した"obenri.com.zone"
↓省略
"."のルールで省略した"obenri.com.zone"
$ORIGINで省略した"100.168.192.in-addr.arpa.zone"
↓省略
"."のルールで省略した"100.168.192.in-addr.arpa.zone" これでかなりすっきりしてきました。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|||||||||||
"named.conf"と継続記述によるゾーン名の省略前のステップで使用した "$ORIGIN" ですが、実はこれすらも省略できます。 |
||||||||||||
|
|
そのポイントは "/etc/named.conf" の記述方法にあります。 以下に、その一部を示します。
この二つのパートが、それぞれが現在取り扱っているゾーンファイルを指し示すものだとすると、実は 赤 で示した[ゾーン名]の部分は、それぞれ対象となるゾーンファイルの中で、
zone "obenri.com"
↓ "@"=デフォルトのゾーン名=obenri.com. 及び、
zone "100.168.192.in-addr.arpa"
↓ "@"=デフォルトのゾーン名=100.168.192.in-addr.arpa. と解釈されます。 従って、ゾーンファイルの中の "$ORIGIN" の記述は不要ということになります。 また、ゾーンファイルの中の各レコードの先頭の記述は、
「省略した場合は上の行と同じ値」
とみなされます。つまり、同じ設定対象を連続して記述する場合には、できるだけ続けて記述すれば、ゾーンファイルはずっとシンプルとなるわけです。 この二つの省略ルールを適用すると、次のようになります。
"."のルールで省略した"obenri.com.zone"
↓省略
zoneと継続記述のルールで省略した"obenri.com.zone"
"."のルールで省略した"100.168.192.in-addr.arpa.zone"
↓省略
zoneと継続記述のルールで省略した"100.168.192.in-addr.arpa.zone" ゾーンファイルの省略記述は、慣れないうちはとても難しく感じるものです。 |
|||||||||||
|
DNSサーバーの構築に、
とても役に立った一冊です ↓ |
ところが、ある程度わかってくるとその無駄の少なさからかえって見やすく、書き換えなどのときに内容を間違えにくくなります。 また、今はあまり理解できなくても、他の サーバー アプリケーション を扱っていれば自然とわかってくるのがこのゾーンファイルですから、あせらず気長に覚えるようにしましょう。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|
|
ゾーンファイルの書式
<<Previous
|
Next>>
既存のゾーンファイル(〜9.3.x)
Next>>
既存のゾーンファイル(9.7.x〜)
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |