BIND設定の変更点

 BIND8系の初期のバージョンでは、TTLの設定部分は極簡単なものでしたが、BIND8.2以降のバージョンでは、その設定ファイルの中身に少し変更が加わりました。

TTLの設定

 BIND8系の初期のバージョンまでは、zoneファイルでのTTLの設定は下のような書き方で構いませんでした。上から六行目にTTLの設定が来ます。

@ IN SOA pdns.example.com. postmaster.pdns.example.com. (
  1 ; Serial
  10800 ; Refresh after 3 hours
  3600 ; Retry after 1 hour
  604800 ; Expire after 1 week
  86400 ) ; Minimum TTL of 1 DAY
・・・・・

 ところが、BIND8.2以降では下のように最初に$TTLの値の設定が必要になりました。これがないと、namedを起動した時に「NO TTL」と言うようなエラーメッセージが出ます。やれやれ・・・(+_+)

$TTL 86400
@ IN SOA pdns.example.com. postmaster.pdns.example.com. (
  1 ; Serial
  10800 ; Refresh after 3 hours
  3600 ; Retry after 1 hour
  604800 ; Expire after 1 week
  86400 ) ; Minimum TTL of 1 DAY
・・・・・

 尚、BIND9では以下のようにSOAの前にTTLの値を入れても大丈夫です。

@ IN 86400 SOA pdns.example.com. postmaster.pdns.example.com. (
  1 ; Serial
  10800 ; Refresh after 3 hours
  3600 ; Retry after 1 hour
  604800 ; Expire after 1 week
  86400 ) ; Minimum TTL of 1 DAY
・・・・・

TTLとは?

 「設定概要」のコーナーでも解説していますが、このTTLとはDNSサーバーが、このデータベースファイルのリソースレコードのキャッシングを行う事が許される時間の事です。秒単位です。タイムトゥリブ、又は生存時間とも言います。