1. DNS/権威・キャッシュ兼用サーバの分離

djbdns の解説に書いてある方法のうち、DNS権威サーバのIP address だけを変更する方法です。

http://cr.yp.to/djbdns/run-cache-bind-2.html 

二台のキャッシュ兼用コンテンツサーバがある場合について説明されています。


具体例として、
   IP アドレスがそれぞれ 1.8.7.33 と 1.8.7.55 である 2 台のコンピュータ dns1.panic.mil、dns2.panic.mil 上で 
       BIND を動かしているものとします。
   これらのコンピュータは二つの機能を果しています:
       DNS サーバ:あなた方自身のホストについての情報提供。
          情報は dns1.panic.mil 上で編集されます;     (プライマリサーバ)
          dns2.panic.mil は 情報を 1.8.7.33 からコピーするのにゾーン転送を使っています。
       DNS キャッシュ:インターネットホストのアドレスを探します。
        クライアントコンピュータは /etc/resolv.conf内に nameserver 1.8.7.33 と 1.8.7.55 という行を持ちます。 

BIND から乗り換える前にこれらの二つの機能を以下に説明するように 異なるIP アドレス上に分離しなければなりません。

  1.  新しく、二つの公開 IP アドレスをネットワーク内に確保せよ。それは 1.8.7.91 と 1.8.7.92 だとしよう。
  2.  dns1.panic.milで rootで: 1.8.7.91 を IP alias として設定し、BIND を再起動させる。
  3.  dns2.panic.milで rootで: 1.8.7.92 を IP alias として設定し、 
       named.confの masters 行の 1.8.7.33 を 1.8.7.91 に変更し、 BIND を再起動させる。(プライマリのIPアドレス変更)

  4. dns1.panic.milで rootで: BIND のゾーンファイルを変更する。
      dns1.panic.mil の IP アドレスを 1.8.7.33 から 1.8.7.91 へ、 [新権威サーバプライマリ]
      dnscache1.panic.mil という新しい名前の IP アドレス を 1.8.7.33 として作り、
      dns2.panic.mil の IP アドレスを 1.8.7.55 から 1.8.7.92 へ、 [新権威サーバセカンダリ]
      dnscache2.panic.mil という新しい名前の IP アドレス を 1.8.7.55 として作る。
     更新されたゾーンファイルを読みこむように BIND に通知する。

  5.  .mil 親サーバでも dns1.panic.mil と dns2.panic.mil のIP アドレスを同様に変更してもらうように連絡する。(上位サーバで委譲の変更)

  6. これら以外にも NS 名が BIND を指しているなら (例えば dns1.panic.mil が dns1.panic.edu という名前を持っている)、
      これらの名前に対して、4 と 5 を繰返す。

  7.  DNS レコードの変更がインターネットに行きわたるまで、2-3 日待つ。 

キャッシュサーバをdnscache等のキャッシュ専用サーバに置き換えることを前提に書かれた手順である。

2. 「滲透問題」の考察

上記の手順ではいわゆる「滲透問題」は起きない。同じデータをもつサーバが動いているから。

-- ToshinoriMaeno 2012-03-20 04:33:40