SOAレコードとは?
SOA(Start of Authority)レコードは、DNSゾーンに関する管理情報を保持します。プライマリネームサーバー、責任者の連絡先、ゾーンのシリアル番号、複製とキャッシュを制御するタイマーです。すべてのゾーンは正確に1つのSOAレコードを持ち、その配下のすべてに対する権限マーカーとしてゾーンの先頭に位置します。
SOAレコードの各フィールドの意味
SOAレコードはいくつかのフィールドを詰め込んでいます。MNAMEはゾーンのプライマリマスターネームサーバーを指定します。RNAMEは管理者のメールで、@記号の代わりにドットで書かれます。シリアルは、セカンダリが更新を検知するために監視するバージョン番号です。続いて4つのタイマーがあります。refresh(セカンダリが変更を確認する頻度)、retry(確認失敗後にどれだけ待つか)、expire(プライマリに到達できない場合にセカンダリが応答を止めるまで)、そしてminimum(存在しないレコードのネガティブキャッシュTTLを設定)です。
SOA検索結果の読み解き方
IPeekは、ゾーンのSOA、つまりプライマリネームサーバー、責任者の連絡先、現在のシリアル、refresh・retry・expire・minimumのタイマーを表示します。プライマリネームサーバーがDNSプロバイダーと一致することを確認してください。シリアルは変更が反映されたかを確認するのに最も役立ちます。一般的な慣習はYYYYMMDDnnなので、最近の日付ならゾーンが最近編集されたことを意味します。異常に短いまたは長いタイマーは、複製やキャッシュの問題を示唆することがあります。minimumの値は、リゾルバーにネガティブ(NXDOMAIN)応答をどれだけキャッシュするかを伝えます。
SOAシリアルがゾーン複製を制御する仕組み
シリアル番号は、セカンダリネームサーバーがゾーンの新しいコピーをいつ取得すべきかを知る手段です。各refresh間隔でセカンダリは保存したシリアルをプライマリのものと比較し、プライマリの方が大きければ更新されたゾーンを転送します。つまり、ゾーンを編集するたびにシリアルを増やさなければならず、さもないとセカンダリは古いデータを提供し続けます。これを増やし忘れることは、変更がプライマリに現れてもバックアップサーバーに現れない古典的な原因です。ほとんどのプロバイダーやツールは自動的に増やします。