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サーバーが、このデータベースファイルのリソースレコードのキャッシングを行う事が許される時間の事です。秒単位です。タイムトゥリブ、又は生存時間とも言います。