メンテナンス・トラブルシュート - DNS - ORIGIN はだめなの?
1. 概要 発生は、2022年4月14日の午前中なのですが、実は、もっと前から、この状況になっていたはずなのです。 そのあたり、次項で説明します。 えっとまぁ、突然、本サイト「sing」が名前解決できなくなったのです。 まぁ、焦りましたよ・・・。 でまぁ、ネットワークのせいではなさそうなことが、まずわかりました。 アドレス直接で、接続しようとするとできるのでね。 2. 状況 でまぁ。セカンダリのネームサーバを提供していただいている、プロバイダに問い合わせて、次のことがわかりました。 ・セカンダリサーバにここんとこずっとゾーン転送されていない ・ただし、キャッシュの生存時間があるので、それまでは前の情報で問い合わせできていたのであろう なるほどね。 突然のように感じるが、キャッシュの生きている間は、なんとかなるわな。 納得のいく説明でした。 しかしだ $ service nsd status nsd is running as pid xxxxx. だし。 $ nsd-control zonestatus zone: 32/29.121.215.122.in-addr.arpa state: master zone: sing.ne.jp state: master なので、まともに動いていると思ったが、甘かった。 プロバイダの方の、セカンダリに転送されていないとの話で、ログを読む気になりました。 ログを見てみると、「restart」したときに [2022-04-14 13:38:44.526] nsd[12470]: error: singnet.rev:8: $ORIGIN directive requires absolute domain name [2022-04-14 13:38:44.526] nsd[12470]: error: zone 32/29.121.215.122.in-addr.arpa file singnet.rev read with 1 errors てな、エラーが出ておるです。 あやや、なので、ゾーンがまるごとエラーになっておるわけですな。 3. 対策 対象のファイルは、下記のように書いております(セキュリティ上の理由で、空白行は伏字と思ってください)。 $ORIGIN sing.ne.jp $TTL 3600 2022012701 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum ログからすると、8行目の「$ORIGIN」ちゅうのが、エラーになっている。 この行をコメントアウトするとエラーがなくなるようです。 ちなみに、「SOAレコードには何が記述されている?」に記述されておりますが。 15行目の「Expire」の値が 何らかの理由でゾーン情報のリフレッシュができない状態が続いた場合、セカンダリネームサーバが持っているデータをどれだけの時間利用してもよいかを示す とのことです。 単位は、なんじゃったっけ? 最初にエラーになったのが [2022-01-27 15:48:41.149] nsd[21163]: error: singnet.zone:8: $ORIGIN directive requires absolute domain name [2022-01-27 15:48:41.213] nsd[21163]: error: zone sing.ne.jp file singnet.zone read with 1 errors なので。 日数にすると、77日なんじゃが、「3600000」を 60 やら 24 やらで割っても 77 に近い値にならんのじゃがね? ともあれ、無事参照できるようにはなりました。
$ service nsd status nsd is running as pid xxxxx.
$ nsd-control zonestatus zone: 32/29.121.215.122.in-addr.arpa state: master zone: sing.ne.jp state: master
[2022-04-14 13:38:44.526] nsd[12470]: error: singnet.rev:8: $ORIGIN directive requires absolute domain name [2022-04-14 13:38:44.526] nsd[12470]: error: zone 32/29.121.215.122.in-addr.arpa file singnet.rev read with 1 errors
$ORIGIN sing.ne.jp $TTL 3600 2022012701 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum
何らかの理由でゾーン情報のリフレッシュができない状態が続いた場合、セカンダリネームサーバが持っているデータをどれだけの時間利用してもよいかを示す
[2022-01-27 15:48:41.149] nsd[21163]: error: singnet.zone:8: $ORIGIN directive requires absolute domain name [2022-01-27 15:48:41.213] nsd[21163]: error: zone sing.ne.jp file singnet.zone read with 1 errors