|
|
固定IPでDNSサーバー構築
|
固定IPでDNSサーバー構築ブートファイルの基本設定WAN用ゾーンファイルの作成ポートフォワーディングの設定WAN空間からのDNSチェックスレーブDNSサーバーの設置DNSサーバとドメイン名の登録レコードの書き換えについて |
ゾーンファイルのテンプレート作成ここでは、 ドメイン名 "obenri.com" による FQDN を、 WAN 空間で 「権威あるDNS情報」 として発信するための正引きのゾーンファイルを作成します。 これから作成するゾーンファイルを named で使用するには、対応するゾーン名でブートファイル "/etc/named.conf" に記述を追加しておく必要があります。
その詳細については
まず、 cp コマンド を使って、既に LAN 側で使用中の "obenri.com.zone" を "obenri.com.wan.zone" としてコピーします。
WBEL3
及び
CentOS3
の場合は、
"/var/named/obenri.com.zone"
WBEL4及びCentOS4、CentOS5の場合は、 "/var/named/chroot/var/named/obenri.com.zone" を複製して "/var/named/chroot/var/named/obenri.com.wan.zone" として作成します。
そして編集しやすくするためにこのファイルの
シンボリックリンク
を
ln
コマンドで
"/var/named/obenri.com.wan.zone"
として作成し、これをnanoエディタ
ファイル名が似ていますので、間違えてLAN側用の "/var/named/obenri.com.zone" を開かないようにしてください。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
最初はテストモードで記述するまず最初に、元々の( LAN 側用の) "obenri.com.zone" の内容と、 WAN 側用として 現段階で 推奨される "obenri.com.wan.zone" をご覧ください。 |
|||||||||||
|
|
書式自体にはほとんど違いがありませんので、書き換えは難しくはないはずです。
LAN用正引きゾーンファイル"obenri.com.zone"
WAN用正引きゾーンファイル(暫定)"obenri.com.wan.zone" ここでは、" 211.183.111.3x "は、契約している固定の IPアドレス とします。
LAN側用のゾーンファイルとWAN側用のゾーンファイルの最も大きな違いは、Aレコード
更に、WAN側からのアクセスにおいては、自宅の サブネット 内は見ることができず、見えるのは ゲートウェイアドレス としてWAN側のIPアドレスのみです。 従って、LAN側からはそれなりに意味のある ルーター に対するAレコードもWAN側では不要になります。 |
||||||||||
| ホスト名 が省略されている行が削除されています。よくご覧ください。 |
ドメイン名をFQDNとしない"obenri.com.wan.zone" とすれば "obenri.com" 自身をFQDNからはずすことができます。どちらかといえばこちらのほうが一般的かもしれません。 さて、ここで述べた以外にも見た目には「そこはかとなく」設定が異なる点があります(相違点は 赤字 で示しています。) これらはいずれもLAN側のゾーンファイルでは「おざなり」で構わなかった部分ですが、WAN側の設定においてはとても重要な意味を持ちます。 以下、これらのポイントについて詳しく説明します。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
"$TTL"の設定値について
"$TTL"
の意味については、こちら
例えばWAN空間からある クライアント がパソコンから "http://www.obenri.com/" にアクセスしたとします。 すると、そのクライアントが契約している ISP の DNSサーバー や自宅の ルーター 更に扱っている OS 上に、 "obenri.com.wan.zone" の記述内容がゾーン情報として記録されます。 |
|||||||||||
このDNSキャッシュの仕組みの詳しい内容については
ご覧ください。
|
そしてクライアントが再び "http://www.obenri.com/" にアクセスしたり、DNSサーバーやルーターを共用している別のクライアントがアクセスしたりするときには、そのゾーン情報がDNSキャッシュとして利用されるようになります。 "$TTL" で設定される時間は、具体的にはDNSキャッシュとして 「権威ある回答として」 受け取ったゾーン情報が、DNSキャッシュから消滅するまでの時間を指します。 つまりこのTTLが大きければそれだけ 構築中のLinuxサーバー の負荷が減り、アクセスする側からみれば閲覧などのレスポンスが良くなります。 しかしだからといってTTLの値を一週間に設定してしまうと、「権威あるDNSサーバー上で」ゾーンファイルの内容を書き換えても実際にその変更がインターネット上に行き渡るまでに最長で一週間かかってしまうことになります。 ということは、例えば、
"www.obenri.com"→"211.183.111.3x"
と設定するつもりだったのを、間違えて、
"www.obenri.com"→"210.183.111.3x"
と設定したまま「権威あるDNS情報」として流してしまったとします。 |
||||||||||
| ひょっとすると、ページが見えないのではなく、他人の運営する全く異なるページが表示されてしまうかもしれません。 |
この場合、クライアントがパソコンから
"http://www.obenri.com/"
とアクセスしても、目的とする コンテンツ は見ることができません。 そこで間違いに気が付いてすぐにレコードを修正し、 named を再起動しても、そのクライアントが契約している ISP のDNSサーバー上にはそれから一週間の間は、
"www.obenri.com"→"210.183.111.3x"
という間違った情報がDNSキャッシュとして生き続けるので、そのDNSサーバーを参照しているほかのクライアントからも一週間はコンテンツを閲覧できないという事態になってしまうわけです。 TTLの デフォルト は通常 1日 ですが、それでもレコードの完全な切り替わりには最長で丸一日はかかってしまうことになります。 そこで、一般にDNSのレコードの書き換えには次のような手順を踏みます。 1.レコードの内容には変更を加えずに、TTLの値を30分程度に設定変更してnamedを再起動する。 2.namedの再起動から1日以上経過した後、レコードの内容だけを書き換えてnamedを再起動する。 3.二回目のnamedの再起動から30分以上経過した後、名前解決の最終チェックを行う。 4.設定に問題がないことを確認したらTTLの値を元の1日に戻し、namedの再起動を行う。 つまり、通常は負荷の軽減を優先して長めに設定しているTTLを、作業に先立って予め短縮しておき、短時間でWAN空間のDNSキャッシュ情報が書き換わるように段取りをしておいて万が一の設定ミスに備えるわけです。 さて、ここでもう一度 "/var/named/obenri.com.wan.zone" のTTLの値を見てください。
120秒、すなわちわずか2分です。 これからDNSサーバーに関する様々な設定作業を行うにあたって、当然いくつかの設定変更や修正が予想されるわけですから、作業後にできるだけ早く情報が行き渡るようにするため、このような小さな値を設定しておくわけです。 もちろん、満足な設定を行うことができた後にはTTLの値を大きくし、DNSサーバーの負荷の軽減と名前解決のレスポンスを高めるほうに重点を置くようにします。 つまり今はまだ「設定変更中に望ましいTTL値」というわけです。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
連絡先メールアドレスの記述について
SOAレコード
内の連絡先メールアドレスの記述内容については、
「権威あるDNS情報」として登録されている ドメイン名 のゾーン情報は、例えばLinuxの host コマンド で、
で簡単に調べることができ、連絡先のメールアドレスも表示されるようになっています。 |
|||||||||||
|
お便利サーバー.com管理人は、10個くらいのドメイン名についてゾーンを管理していますが、一日2〜3通程度はこのルートからスパムメールをもらいます。
一方、「ゾーン情報がおかしいよ」といった正当なメールを受け取ったことは一度もありません。 |
本来このメールアドレスは、ゾーン情報の誤りなどに気が付いた第三者がそれを指摘できるように、という意味で公開されているわけですが、実際のところは心無いスパマー達の 「スパムメールの送信先」 として利用されることのほうが多いようです。 というわけですから、ここに記述すべきメールアドレスは「普段から使っているメールアドレス」ではなく、「スパムが入ってきても構わない」専用のメールアドレスをひとつ作り、
のようにそれを記述しておくことをお勧めします。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
プロでもうっかり忘れる"Serial値"についてSOAレコードのSerial値は、 スレーブ DNSサーバー を設置するときにとても重要になるパラメータです。 |
|||||||||||
| もちろんLAN内にスレーブDNSサーバーを設置しても構いませんが、あまり意味はないでしょう。 |
LAN で利用するDNSサーバーではスレーブDNSサーバーを設置しませんから、このSerial値は何の意味も持ちません。しかし、 WAN 空間でDNSサーバーを運用し、スレーブDNSサーバーを設置するとなると話は別です。 簡単に言ってしまうと、 「レコードの内容を変更しても、Serial値の増加を忘れてしまったら、その変更はスレーブDNSサーバーには一切反映されない。」 ということになりますから、そういうミスをやってしまうと、 「本来ならマスターDNSサーバーのバックアップとして同じDNS情報を流さなければならないスレーブDNSサーバーが異なるDNS情報を流し続けてしまう。」 ということになってしまうわけです。 そこで、これからWAN側用の「権威あるDNSサーバー」を運用するにあたっては、今から 「レコードの内容を変更したら、必ずSerial値を書き換える」 という習慣をつけることをおすすめします。
Serial値の付け方については特に決まりはありませんが、
"西暦年""月""日""2桁の数字"→2007022601
という記述習慣に従って、
としておくのがベターです。 「Serial値の増加」という作業はDNSサーバー自体の動作に直接影響を与えるものではありませんから、慣れた人でも結構忘れてしまうものです。 そして外部からアクセスする第三者の指摘でようやくミスに気付く、というシナリオになりますから、そんな赤っ恥をかかないためにも一つの習慣として身につけてしまいましょう。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
設定の意外な盲点"Refresh時間"
TTL値とよく混同されるこの"Refresh時間"ですが、
そして先に説明した"Serial値"が大きくなっている場合にのみスレーブDNSサーバーはゾーンファイルの入れ替えを行います。 この値は大きければ大きいほど双方のDNSサーバーの動作負担は減りますが、その分スレーブDNSサーバーの情報変更のタイミングが遅れる可能性が高くなります。 従って、まだゾーン情報がきちんと固まっていないときはこの値を小さくしておき、迅速にゾーン転送が行われるようにしておきます。 DNSサーバーの通常稼動時に推奨される"Refresh時間"は 3時間 ですが、ここでは、
と120秒に設定します。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
|||||||||||
念のため"Minimum時間"も小さくネガティブキャッシュの時間は、レコードの追加や変更だけであれば大きな影響はありませんが、一度無効にした FQDN をもう一度有効にするような設定の変更が生じたときに不具合を及ぼすことがあります。 従って、まだゾーン情報がきちんと固まっていないときはこの値を小さくしておき、ネガティブキャッシュが早く無効になるように設定しておきます。 DNSサーバーの通常稼動時に推奨される"Minimum時間"は 一日 ですが、ここでは、
と120秒に設定します。
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
|||||||||||
書式チェックとnamedの再起動
"obenri.com.wan.zone"
を保存
そして書式チェックが終わったら、
named
の再起動あるいは設定の再読み込みを行って設定を有効にしてください
|
|||||||||||
|
DNSサーバーの構築に、
とても役に立った一冊です ↓ |
そして、
LAN
側での
DNSサーバー
の動作確認
今回はLAN側とWAN側で応答する内容を変える設定にしています、このセクションで追加した設定はLAN側からはまったく参照されないはずです。
もしもLAN側から
グローバルIPアドレス
への名前解決結果が返されるような場合は
"/etc/named.conf"
の記述に誤りがあるはずですから、もう一度
関連セクション・
自宅内DNSサーバーの構築
関連ページ・
名前解決とネームサーバー
|
|
|
ブートファイルの基本設定
<<Previous
|
Next>>
ポートフォワーディングの設定
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |