20.3 ネームサーバBINDの起動

システムでは、BIND (Berkeley Internet name domain)が事前に設定された状態で提供されているので、インストールが正常に完了すればすぐにネームサーバが起動されます。既にインターネットに接続し、/etc/resolv.conflocalhostにネームサーバアドレス127.0.0.1が入力されている場合、通常、プロバイダのDNSを知らなくても、既に機能する名前解決メカニズムが存在します。この場合、BINDは、ルートネームサーバを介して名前の解決を行うため、処理が非常に遅くなります。通常、効率的で安全な名前解決を実現するには、forwardersの下の設定ファイル/etc/named.confにプロバイダのDNSとそのIPアドレスを入力する必要があります。いままでこれが機能している場合、ネームサーバは、純粋なキャッシュ専用ネームサーバとして動作しています。ネームサーバは、自身のゾーンを設定してはじめて、本当のDNSになります。これの簡単な例については、/usr/share/doc/packages/bind/sample-configのドキュメントを参照してください。

[Tip]ネームサーバ情報の自動取得

インターネット接続やネットワーク接続のタイプによっては、ネームサーバ情報を自動的に現在の状態に適合させることができます。これを行うには、/etc/sysconfig/network/configファイル内でMODIFY_NAMED_CONF_DYNAMICALLY変数にyesを設定します。

ただし、公式ドメインは、管理団体から割り当てられるまでセットアップしないでください。独自のドメインを持っていて、プロバイダがそれを管理している場合でも、BINDはそのドメインに対する要求を転送しないので、そのドメインを使用しないほうが賢明です。たとえば、プロバイダのWebサーバは、このドメインからはアクセスできません。

ネームサーバを起動するには、rootユーザとして、コマンドrcnamedstartを入力します。右側に緑色で「done」と表示されたら、named (ネームサーバプロセス名)が正常に起動しています。サーバが正常に起動したらすぐに、hostまたはdigプログラムを用いてローカルシステム上でネームサーバをテストしてください。 デフォルトサーバlocalhostとそのアドレス127.0.0.1が返されるはずです。これが返されない場合は、/etc/resolv.confに含まれているネームサーバエントリが誤っているか、同ファイルが存在しないかのいずれかです。最初のテストとして、host127.0.0.1を入力します。 これは常に機能するはずです。エラーメッセージが表示された場合は、rcnamedstatusを使用して、サーバが実際に起動されていることを確認します。ネームサーバが起動しない場合、または予想しない動作をしている場合、多くはログファイル/var/log/messagesでその原因が明らかになります。

プロバイダのネームサーバまたはフォワーダとして既にネットワーク上で動作しているネームサーバを使用する場合は、forwardersの下のoptionsセクションに、対応するIPアドレスまたはアドレスを入力します。例 20.1. 「named.confファイルの転送オプション」に含まれているアドレスは、単なる例です。自サイトの設定に合わせて変更してください。

例 20.1 named.confファイルの転送オプション

options { 
        directory "/var/lib/named";
        forwarders { 10.11.12.13; 10.11.12.14; };
        listen-on { 127.0.0.1; 192.168.0.99; };
        allow-query { 127/8; 192.168.0/24; };
        notify no;
        };

optionsエントリの後には、ゾーン用のエントリ、localhost0.0.127.in-addr.arpaが続きます。「.」の下のtype hint(タイプヒント)は必ず存在しなければなりません。対応するファイルは、変更する必要がなく、そのままで機能します。また、各エントリの末尾が「;」で閉じられ、中カッコが適切な位置にあることを確認してください。設定ファイル/etc/named.confまたはゾーンファイルを変更したら、rcnamedreloadを使用して、BINDにそれらを再読み込みさせます。または、rcnamedrestartを使用してネームサーバを停止、再起動しても同じ結果が得られます。サーバはrcnamedstopを入力していつでも停止することができます。