BIND8でDNS Serverを!
named.confを作る | dbファイルの作成 | 起動とテスト

3.BINDの起動
設定ファイルの作成が終わったら、BINDを起動してテストです。下記のようにTerminalに入力するとBINDが起動します。

[localhost:~] david% su
Password:
[localhost:/Users/david] root# named

次に
[localhost:/Users/david] root# top
と入力すると、現在動いているプロセス一覧が見られます。このなかに、namedという名前が見当たれば、ちゃんと起動していると言うことです。ここで起動しないとなると、設定ファイルに記述ミスがある可能性がありますので、見直してみましょう。

4.nslookupでテスト
以下のように入力してみて下さい

[localhost:~] david% nslookup www.example.net 192.168.0.2
Server: ns.example.net
Address: 192.168.0.2

Name: ns.example.net
Address: 192.168.0.2
Aliases: www.example.net

[localhost:~] david% nslookup example.net 192.168.0.2
Server: ns.example.net
Address: 192.168.0.2

Name: ms.example.net
Address: 192.168.0.3

[localhost:~] david%

と返ってくれば、DNSサーバがちゃんと動いているわけです。

5.マシンの起動時に、自動でnamedを起動させる。
実際にサーバ運用するとなると、メンテナンスでマシンを止めたなどの後、再度サーバを起動する時に自動でnamedが立ち上がるように設定しておくと便利です。起動し忘れると、名前が引けなくなっちゃいますから。そこで私は、元々あるStartupスクリプトに1行加えています。変更を加えるファイルは/System/Library/
StartupItems/DirectoryServices/DirectoryServicesです。このファイルの次の場所に変更を加えました。赤い文字の部分を、加筆しただけです。

##
# Start up name resolver
##

ConsoleMessage "Starting name resolver"

lookupd
named

これだけ(赤い文字のnamedを加えただけ)で起動時に自動で、namedが起動します。本来であれば、独自の起動用スクリプトを書くのが、真っ当な方法だと思いますが、これで特に障害は出ていません。

6.補足(結構重要です
(1) dbファイルに修正を加えたら、必ずシリアルナンバー(各dbファイルの2行目)を増やして下さい。そうしないといつまでも新しい情報にアップデートされません。私の場合、yyyy(年)+mm(月)+dd(日)+nn(作成番号)で構成した8桁の番号を使っています。月日作成番号は必ず2桁として、ひと桁の場合は先頭に"0(ゼロ)"を付加して2桁にします。dbファイルの更新なんて、そうしょっちゅうする物ではありません。だからこそこれが落とし穴になったりするわけです。

(2)resolv.confと言うファイルも、本来であれば作成しなくてはならないのですが、Mac OS Xでは【システム環境設定】→【ネットワーク】で、IPアドレス・検索ドメインが正しく設定されていれば、問題ありません。と言うか、ここで設定した内容で/etc/resolv.confが出来上がります。ですから、【システム環境設定】→【ネットワーク】で設定したIPアドレスと、dbファイルで設定した内容のアドレス空間が、一致していないとうまく動かないです。

私はUNIXの専門家では有りません。しかし何とかDNSサーバの起動まで漕ぎ着けました。みなさんも工夫次第で何とかうまくいくと思います。DNSサーバを起動するまでに、私が参考にした書籍は、O'REILLYのDNS&BIND、秀和システムのMac OS X Server CompleteGuideなどです。これらの書籍を手元に置くと、何となく安心です。Mac OS X Server CompleteGuideは旧バージョンのMac OS X Server解説書ですが、私にとってのバイブルとなっています。
named.confを作る | dbファイルの作成 | 起動とテスト

戻る