DNS サーバ djbdns のインストールと設定 - 二重化について
DNS サーバである djbdns のインストールと設定をまとめてみました。
ここは、tinydns のゾーン情報を、セカンダリ DNS へゾーン転送する方法についてのお話です。
4-1: 二重化について
DNS の二重化
DNS にはより安定した稼動を目的として、二重化という手法があります。
基本的にはプライマリ DNS とセカンダリ DNS という2つの立場の DNS があり、セカンダリ DNS がプライマリ DNS のデータを複製して保持することで、二重化が成立します。
実際にクライアントが名前解決をする際には、DNS から情報を取得しますが、複数の DNS サーバがあることで、仮に一台が停止していたとしても、ほかの稼動中の DNS からちゃんとデータを取得することができるようになります。
二重化の方法
tinydns を二重化するにはいくつかの方法があります。
まず BIND でおなじみの 「ゾーン転送」 を行う方法です。これは定期的にセカンダリ DNS からプライマリ DNS へゾーンの複製を要求して、最新の情報を維持する方法です。
tinydns はゾーン転送の機能を持っていないので、これを行うにはプライマリ DNS には axfrdns というプログラムを新たに起動する必要があります。また、セカンダリ DNS を構築するには axfr-get というプログラムを起動する必要があります。
このようなゾーン転送を行う場合、プライマリ DNS を書き換えた場合、ゾーン転送が行われるまでの間、セカンダリ DNS は古い情報を保持したままになってしまいます。
tinydns は data.cdb というファイルを使用して名前解決を行いますので、このファイルをセカンダリ DNS の data.cdb にコピーすることで、ある意味、ゾーン転送を行うこともできます。
今回は、axfrdns を使ってゾーン転送をサポートする方法、axfr-get を使用してゾーン転送を利用する方法、そして scp というソフトウェアを使って data.cdb をコピーする方法について触れてみようと思います。
【目次】