マスター DNS サーバー内の DNS データファイルのひとつに対して、ホストの追加および削除、またはそれ以外の何らかの変更、あるいは DNS データファイルの修正を行なったときには、以下のことも行なってください。
副サーバーがそのデータを変更するように、SOA リソースレコードのシリアル番号を変更します (「SOA のシリアル番号の変更」を参照)。
データファイルを再度読み込み、内部データベースを更新するためにマスターサーバーの in.named に情報を与えます (「in.named に DNS データを強制的に再読み込みさせる」を参照)。
すべての DNS データベースファイルには権限の開始 (SOA) リソースレコードがあります。DNS データベースのデータを変更したときはいつでも、SOA シリアル番号を 1 増加させる必要があります。
たとえば、データファイルの SOA のシリアル番号が現在 101 で、ファイルのデータに変更を加えたなら、シリアル番号を 101 から 102 に変更する必要があります。SOA のシリアル番号を変更しないと、ドメインの副サーバーは、新しい情報でデータベースファイルのコピーを更新しません。その結果主サーバーと副サーバーは同期しなくなります。
一般的な SOA レコードの例である hosts ファイルは以下のとおりです。
; sample hosts file @ IN SOA nismaster.doc.com. root.nismaster.doc.com. ( 109 ; Serial 10800 ; Refresh 1800 ; Retry 3600000 ; Expire 86400 ) ; Minimum |
したがって、hosts ファイルを変更すると、シリアル番号は 109 から 110 に変更して、次にファイルを変更した場合、110 から 111 に変更します。
in.named が無事起動すると、デーモンはそのプロセス ID を /etc/named.pid ファイルに書き込みます。in.named で named.boot を再び読み込み、データベースを再度読み込むには、以下のとおり入力します。
# kill -HUP `cat /etc/named.pid` |
これを行うと以前のキャッシュはすべて削除され、キャッシュの処理が再スタートされます。
inetd から in.named を実行しないでください。これを行うとネームサーバーは、繰り返しリスタートし、そしてキャッシュを持つ意味がなくなります。