1. DNS/権威・キャッシュ兼用サーバの分離
djbdns の解説に書いてある方法のうち、DNS権威サーバのIP address だけを変更する方法です。
http://cr.yp.to/djbdns/run-cache-bind-2.html
- How to run an external cache in place of an existing BIND cache, strategy 2
- Separating DNS service from DNS caching
http://djbdns.qmail.jp/djbdns/run-cache-bind-2.html
- BIND キャッシュに換えて、キャッシュサーバを使う方法、その 2
- DNS サービスを DNS キャッシュから分離する
- BIND キャッシュに換えて、キャッシュサーバを使う方法、その 2
二台のキャッシュ兼用コンテンツサーバがある場合について説明されています。
- 以下でBINDと書かれているのはBIND8以前の版のことです。
具体例として、 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 アドレス上に分離しなければなりません。
- IP alias 機能を使うことで、それぞれのアドレスでBINDが動いているように見せるのがポイントらしい。
- キャッシュサーバはアクセス制限されていても問題なさそう。
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等のキャッシュ専用サーバに置き換えることを前提に書かれた手順である。
この手順だけで、権威サーバとキャッシュサーバが分離された訳ではない。-- ToshinoriMaeno 2012-03-20 04:50:56
2. 「滲透問題」の考察
上記の手順ではいわゆる「滲透問題」は起きない。同じデータをもつサーバが動いているから。
- 変更になったのはNSレコードに対応するAレコードだけだ。
-- ToshinoriMaeno 2012-03-20 04:33:40