Home > サーバ

サーバ Archive

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

DNSのゾーンファイルのシリアル番号を間違ったメモ

バーボンです。
自宅サーバでDNSのゾーンファイルを書いているときにシリアル値を間違えて大きくしてしまった。
たとえばシリアル値を「年-月-日-二桁」というフォーマットを前提にしたのに間違えて最後を三桁にしてしまったとします。これをもとに戻したい。どうすればいいのでしょうか。

話は変わりまして

そもそもシリアル番号はどうして大きくしないといけないの

RFC2182より抜粋
プライマリーサーバー上のゾーンに1つ変更が加えられる毎に、あるいは 幾つかの変更が加えられる毎に、シリアル番号を増加させなければ ならない。これにより、セカンダリーサーバーにゾーンの複製を更新する 必要があることを通知する。シリアル番号を減少させることは できないことに注意してもらいたい。値の増加が定義されている唯一の 修正である。

ゾーン転送のときに、より大きいシリアル番号のものにすれば 「このファイルは更新された」ということを通知してくれるようです。

シリアル番号って何者なの

RFCにこんなことが書いてありました。
シリアル番号
符号なし32ビットのゾーンの原本のバージョン番号。ゾーン転送がこの値を維持します。この値は巡回していて、連続空間演算を使って比較されるべきです。

わからなさすぎたのでスライドにしました。まとめてみたのでみてみてください。


大きい表示はこちら
(別のタブもしくは別のウィンドウで開きます。)

はしょってシリアル番号を元に戻す方法だけ(RFC2182)

たとえばゾーンのシリアル番号が10であると仮定する。この値が誤って 1000に設定されてしまい、これを11に戻したい場合を考える。

①まずプライマリサーバのシリアル番号を2,000,000,000にして、セカンダリーサーバーがゾーンを 更新するのを待つ。

②シリアル番号を4,000,000,000にして、セカンダリーサーバーがゾーンを 更新するのを待つ。

③最後にシリアル番号を11にして、セカンダリーサーバーがゾーンを更新するのを待つ。

おしまいです。なんでこうなるのかはスライドをご一読くださったらもしかしたらなんとなくわかるかもしれません。
RFCの注意書きも読みましょう。

…関係する全サーバーが更新を行ったことを検証することが大切である。 本質的には、全ての事例においてシリアル番号の選択をより積極的な ものにすることで、2回の処理でシリアル番号を訂正することも可能である。 しかし、その場合使用されるシリアル番号はあまり"扱いやすい"ものでは なくなる(less nice)ので、より多くの注意が要求される。 また、全てのネームサーバー実装がシリアル番号処理を正しく 実装しているわけではないことに注意してもらいたい。…

興味があればRFCを読んでみてください。
とりあえずゾーンファイルのシリアル番号は小さい数に戻せるってことはわかりました。
トリビアです。

RFC2182
RFC1982

Home > サーバ

Recent Comments
Recent Trackback
Search
Meta
Links
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。