|
|
自宅内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 を起動する前に、ひとつ重要なことを覚えておかなくてはなりません。 namedは多くの サーバー アプリケーション の中で、外部の ホスト とのデータの受け渡しが最も頻繁に行われるものの一つです。 ということは、今回のように LAN の内部だけで使用する場合はともかくとして、 WAN 空間で「権威をもって回答を行うゾーン名」を配信する役目をもつ DNSサーバー の場合には、常に不正侵入の危険に晒されているといえるでしょう。 ですから、もしもnamedを root ユーザーアカウント で デーモン として実行した場合、万が一namedに セキュリティ 上の欠陥があって不正侵入を許してしまうと、その侵入者は 「root アカウント で ログイン したのと同じ」 状態になりうるため、サーバーを完全に乗っ取られる危険があるわけです。 そのため、namedはrootアカウントで実行すべきではなく、仮に不正侵入を許しても大丈夫なアカウントで実行させるのが約束事になっています。 通常namedは、namedを インストール したときに自動的に作成される システムアカウント "named" で実行します。 システムアカウント"named"は、 デフォルト ではシステムへの ログイン 権限を持っていませんから、そういう意味でも非常に安全なnamedの実行アカウントといえます。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
"構築中のLinuxサーバーのネットワーク設定の修正named を起動して設定を有効にする前に、もう一つやっておくことがあります。それは、 構築中のLinuxサーバー 自身のネットワーク設定の、 名前解決 に関する部分の修正です。 "/etc/resolv.conf"の修正
WBEL
や
CentOS
の
インストール
作業
ここまで BIND を設定した方には説明するまでもないことかもしれませんが、 構築中のLinuxサーバー 自身も、 サブネット "192.168.100.0/24 に所属する ホスト機 の一つに変わりはありません。 従って 構築中のLinuxサーバー が参照すべきはISPのDNSサーバーではなく、当自分自身でなければなりません。
そこで、参照するDNSサーバーの設定ファイルである、
"/etc/resolv.conf"
を次のように書き換えてください。("/etc/resolv.conf"の意味、書き換えの方法については
|
||||||||||
|
ISPのDNSサーバーを削除せずに
";"
でコメント行として無効にしているのは、設定を簡単に元に戻すことができるようにという配慮です。
これは テキスト 形式の設定ファイルの、「書き換えの定石」ともいうべき方法ですので、これからもしばしば登場します。 |
もしも、現在設定しているホスト機が 構築中のLinuxサーバー 自身でなければ、
となることろです。 |
||||||||||
|
|
もちろん、 構築中のLinuxサーバー に対しても、"nameserver 192.168.100.11"という設定でも特に問題があるという訳ではありません。 しかし、この場合は ループバックアドレス を設定しておくほうが何かと好都合です。 例えば、"nameserver 192.168.100.11"と記述していたとすると 構築中のLinuxサーバー に割り当てる プライベートIPアドレス を変更したときには必ずこの部分の書き換えも必要になります。 しかし、 「普遍的に自分自身を示す IPアドレス 」 であるループバックアドレス"127.0.0.1"をDNSサーバーに指定しておけば、自機のプライベートIPアドレスが変更になっても何ら設定を変える必要がないというわけです。 "/etc/hosts"の修正
実際には、この
構築中のLinuxサーバー
(つまり自分自身)に対して行うべきすべての名前解決は、自分自身で稼動しているBINDだけで行うことができますので、理屈から言えば
"/etc/host.conf"
に修正して、hostsファイルよりBINDによる名前解決を優先させればそれで良いことになります。 ただ、この方法はお勧めしません。
BINDは動作安定性が高く、滅多なことでは不具合は起こしませんが、設定そのものが複雑で解りにいため、例えば
ループバックアドレス
に関する設定
つまり、 ・"/etc/host.conf"の設定は デフォルト の "order hosts,bind" のまま変更しない。 ・"/etc/hosts"の設定は、ループバックアドレスへの名前解決情報だけを記述する。 という設定にしておくのがベターというわけです。 従って、 構築中のLinuxサーバー の"/etc/hosts"を次のように修正します。
既に
ダイナミックDNS
の設定に合わせて"/etc/hosts"を修正
ネットワーク設定の有効化つい忘れがちですが、"/etc/resolv.conf"や"/etc/hosts"を修正したら、必ず設定を有効化する作業を行ってください。 |
||||||||||
|
DNSサーバーの構築に、
とても役に立った一冊です ↓ |
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
namedの起動、再起動、設定の再読み込み |
|||||||||||
| 正確なスクリプトの場所は "/etc/rc.d/init.d/named" ですが、予めディレクトリ "/etc/rc.d/init.d/" の シンボリックリンク が "/etc/init.d/" で作成されていますので、 "/etc/init.d/named" でも実行することができます。 |
named の起動、停止は、予め準備されている シェル スクリプト 、 "/etc/init.d/named" を利用して行います。
このシェルスクリプトが格納されているディレクトリには
パス
が通っていませんのでパス名付きで実行する必要があります
パス名を付けずに
コマンド
名"named"のみで実行すると、パスが通っているnamedの実体プログラム
"/usr/sbin/named"
|
||||||||||
|
|
書式は以下のとおりです。作業はすべてroot アカウント から行います。 /etc/init.d/named start...namedの起動 /etc/init.d/named stop...namedの停止
ブートファイルやゾーンファイルを書き換えた後にその設定を有効にするには、一度namedを停止して起動しなおすか、以下のコマンドのいずれかを実行します。 /etc/init.d/named restart...namedの再起動 /etc/init.d/named reload...namedの設定の再読み込み
namedが現在稼動してるかどうかを確認するには、 /etc/init.d/named status...namedの状態確認 あるいは、 ps コマンドで起動プロセスを確認します。 実は、namedの本体プログラム"/usr/sbin/named"は、namedを起動することしかできません。
一方で起動中のnamedを制御するには"/usr/sbin/rndc"
"/etc/init.d/named"は、例えば"/etc/init.d/named start"と実行されると "/usr/sbin/named -u named" というコマンドを実行し、"/etc/init.d/named stop"と実行すると "/usr/sbin/rndc stop" を実行する、という具合に、必要な制御を簡単に行えるように内容が記述されているシェルスクリプトです。 先ほどの、
という一見不可解なメッセージは実はそういう理由によるもので、「起動していない"/usr/sbin/named"に対しては"/usr/sbin/rndc"は実行できません。」という意味を表しているわけです。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
||||||||||
namedを自動的に起動するnamed は必要に応じて起動して使うものではなく、常に動作させておいて他の ホスト機 からの 名前解決 要求に備えなければなりません。 |
|||||||||||
|
|
従ってnamedは、 デーモン として動作させておかなければ意味がありませんから、 構築中のLinuxサーバー が起動したときに自動的に起動するように設定しておいたほうが何かと好都合です。 設定は ntsysv コマンド で設定画面を開き、 "named" にチェックを入れるだけです。
"named"を"ntsysv"で自動起動登録する 設定が終わったら念のため一度 構築中のLinuxサーバー を reboot コマンドで再起動し、上のパートで説明した動作確認の方法で、きちんと起動しているかどうかをチェックしてみてください。
関連セクション・
固定IPでDNSサーバー構築
関連ページ・
名前解決とネームサーバー
|
|
|
逆引きゾーンファイルの作成
<<Previous
|
Next>>
namedの動作確認
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |