連載 / IJN Ⅸ知恵袋ー ウントの 1 つは dnscache を実行するために、もう 1 つは dnscache のログを出力するために使います。ここではそ れぞ dnscacct 、 dnslog というユーザーを作るものと して話を進めます。また、ディレクトリは /etc/dnscache を使うことにします。いすれも、必要に応して変更してか まいません。 dnscache には、初期設定のためのプログラムとして dnscache-conf コマンドが付属しています。ローカル・ キャッシュとして設定する場合は、 2 つのアカウント名 と、データー尉寺のためのディレクトリ名を指定して、次の ように実行してください。 # dnscache—conf dnscacct dnslog /etc/dnscache 次に、 daemontools が dnscache を管理できるように、 /service ディレクトリに dnscache を追加します。 # 1 Ⅱ—s /etc/dnscache /service しはらくすると、 dnscache フログラムが svscan フロ グラムによって起動されます。この点でローカル・キャ ッシュか利用できるようになっています。最後に、 /etc/ resolv. conf がローカル・キャッシュを参照するように変 更します。以下の内容を /etc/resolv. conf に書いてくだ 内部ルートサーバーの指定 DNS か罰イ乍しているか石忍してください。 ためしに、 DNS を使うプログラムを実行して、正しく nameserver 127.0.0. 1 さい。 UNIX MAGAZINE 2000.6 クトリがそれです一一に f00.10Ca1 " と、 10. in-addr 場戸励ゞあります。 /etc/dnscache/root/servers ディレ クトリに、ルートサーバーの情報を収めたファイルを置く す。 dnscache-conf プログラムによって作成されたディレ ートサーバーが 10.1.2.3 て漣用されている場合を考えま 例として、 f00. local と 10. in-addr. arpa ドメインのル の DNS ルートサーバーを指定する必要があります。 は、防火壁内部て漣用しているドメイン名と、防火壁内部 ので、内部 DNS 環竟では正しく重川乍しません。この場合 り、 dnscache はインターネット上の DNS 木を利用する 自に構築している場合があります。とくに設定しないかぎ 防火壁を設けている環境では、細織内の DNS 木を独 ・ arpa" という名前のファイルを作ります。それぞれのファ イルに ルートサーバーのアドレスを書いてください。 の例では、、 10.1.2.3 " と書くことになります。新しい設定 を有効にするには、 dnscache を再起動します。以下のコ マンドを実行してください。 # svc —t /service/dnscache svc コマンドは daemontools の 1 つで、 svscan か : 理しているデーモン・プログラムを制御します。詳しくは http : / / cr. yp. to / にあるオンライン・マニュアルを参照し てください。 内部ルートサーバーの設疋はこオけごけです。以後、 foo. 10Ca1 ドメインや 10. in-addr. arpa ドメインへの要求は、 10.1.2.3 をルートとした DNS 木を使うようになります。 DNS キャッシュ・サーパー dnscache は UNIX システム上でしか動作しません。 しかし、 dnscache を DNS キャッシュ・サーバーとして 設定すれは、 UNIX 以外のプラットホームからも利用で きます。 ます、 DNS キャッシュ・サーバーとなる UNIX システ ムを決め、その上で dnscache を設定します。 DNS キャッ シュ・サーバーにするための設定は、ローカル・キャッシュ の設定とほとんど同じですが、他の言 fr 算機から DNS の要 求を受けることができるように、明示的にネットワーク・ インターフェイスを指定する必要があります。 dnscache- conf を次のように実行してください。 # dnscache—conf dnscacct dnslog \ /etc/dnscachex 1 . 2 . 3 . 4 この例では、 dnscache フログラムを実行するアカウン トが dnscacct 、ログ用のアカウントが dnslog 、データ をイ尉寺するためのディレクトリが /etc/dnscachex 、 dns- cache が DNS 要求を受信するネットワーク・インター フェイスが 1.2.3.4 です。ローカル・キャッシュのときと 同様に、 /etc/dnscachex ディレクトリに必要なファイ ルか生成されています。 この時点ではまだ、 dnscache はほかの計算機からの DNS 要求を受け付けません。 DNS 要求を受け付ける IP アドレスを言置する必要があります。 IP アドレスは / etc / dnscachex/root/ip ディレクトリの下に IP アドレス名 75
連載 / IJN Ⅸ知恵袋ーの のファイルを作ることで指定します。たとえは、 IP アド レスが 1.2.3. * である計算機からの DNS 要求を受信する ように設定するには、、、 1.2.3 " というファイルを作ります ( 中身は空です ) 。 # cd /etc/dnscachex/root/ip # touch 1 . 2 . 3 最後に、 /etc/dnscachex ディレクトリを /service に 登録したら設定完了です。 # In —s /etc/dnscachex /service svscan が自重加勺に dnscache を起動します。 DNS キャ ッシュ・サーバーを利用する計算機では、ネームサーバー のアドレスとして 1.2.3.4 を指定してください。 キャッシュサイズの変更 dnscache のキャッシュサイズは、標準で IMB とな っています。キャッシュサイズを変更したい場合、 /etc/ dnscache/run スクリプトを修正します。スクリプト中で CACHESIZE という変数に値を代入している部分がありま す。この値を変更することで dnscache のキャッシュサイ ズを変えられます。たとえば、キャッシュサイズを 5MB にしたい場合、以下のように下線を引いた箇所を変更して ください。 # ! /bin/sh exec 2 > & 1 exec く seed ROOT=/etc/dnscache/root ; export ROOT 工 P = 127.0.0.1 ; export IP IPSEND=O. 0.0 . 0 ; export IPSEND CACHESIZE=5000000 ; export CACHESIZE exec envuidgid dcacct \ softlimit ー 0250 ー d5242880 \ /usr/local/bin/dnscache 変更点は 2 カ所です。 1 つはキャッシュサイズを指定し ている箇所、もう 1 つは dnscache プログラムカイ吏用する 資源の上限を設定している箇所です。 softlimit コマンド は daemontools の 1 つで、プログラムか利用できる資源 に制限をかけます。 softlimit の -d スイッチはデータセグ メントのサイズの上限を決めるためのもので、 dnscache での初期値は 3000000 になっています。 5MB にキャッ シュサイズを増やす場合は 5242880 ( = 5x 1024X 1024 ) にする必喫があります。 softlimit の言田は http //cr. yp . t 。 / にあるオンライン・マニュアルを参照してください。 76 簡易 DNS サーバーの運用 DNScache パッケージには、簡易 DNS サーバーとし て tinydns プログラムが含まれています。 BIND よりも 設定か簡単なため、初めて DNS サーノヾーを運用するとき にはお勧めです。 tinydns を運用するためには 2 つのユーサー・アカウ ントとデータ尉寺づーるディレクトリが必要です。このあ たりの言は DNScache ノヾッケージのプログラムに共通 しています。例として、 tinydns を実行するためのアカウ ントを tdnsacct 、ログ用のアカウントを dnslog 、デー タ尉寺するディレクトリを /etc/tinydns とします。 dnscache と同様、 tinydns にも初期成正フ。ログラムと して tinydns-conf コマンドが付属しています。次のよう に実行してください。 # tinydns-conf tdnsacct dnslog /etc/tinydns \ 1 . 2 . 3 . 4 コマンドラインの末尾で指定しているのは、 DNS 要求 を受信するネットワーク・インターフェイスの IP アド レスです。なお、 DNS キャッシュ・サーバーを運用して いる場合、同時に tinydns を動作させることはできませ ん。どちらも同し UDP ポート番号を使うからです。ただ し、ローカル・キャッシュと tinydns は同時に運用でき ます。なせならば、ローカル・キャッシュはルーフ。バッ ク・インターフェイスーヒで動作するからです。 DNS キャ ッシュ・サーバーや tinydns は外部に公開しているネッ トワーク・インターフェイス上で重川乍させる必要があるた め、同 bUDP ポートを使うと競合してしまいます。 tinydns を svscan に認識させるため、 /service に登 録します。 # 1 Ⅱ—s /etc/tinydns /service 資源レコードの追加 tinydns の設定ができたら、資源レコードを追加してい きます。ます、ドメインを管理するネームサーバー (NS レコード ) を追加しましよう。ここでは例として f 。。 . c 。 m と 3.2.1. in-addr. arpa の 2 つのドメインを IP アドレス 1.2.3.4 をもつ言 t 算機で管理することにします。 UNIX MAGAZINE 2000.6
る場合もあります。起動スクリプトには、デーモンプロセ スの起動と終了の手順か書かれており、竹喋を単純化して くれます。しかし、起動けるプログラムの不鶤頁によって形 式か異なっていたり、べースとなる UNIX システムの種 類によっても変わるなど、ポータブルではありません。 daemontools はこれらの間題を角夬します。 daemon- tools は、デーモン・プログラムの開始 / 停止ガ去を共通化 します。また、定期的にデーモン・プログラムの実行状態 を監視し、異常終了したデーモン・プログラムがあ川ま自 重加勺に再起動します。 daemontools では、 /service ディ レクトリの下にサプディレクトリを作ることで、管理する デーモン・プログラムを指定します。 DNScache の場合 は、 DNScache に含まれる各プログラムの成疋フログラ ムが /service ディレクトリの下を適切に作成してくれま す。したがって、 daemontools を利用する際の準備とし て必要なのは、 /service ディレクトリの作成と、各デー モン・プログラムの起動と異常終了を監視するプログラム をプート時に起動するための設定だけです。 ます、 /service ディレクトリを作成してください。 連載 / UN Ⅸ知恵袋ーの CSh —Cf ) /serVICe & ) /rc. local など ) に以下の言当を追加してください。 次に、マシンのプート時に実行されるスクリプト (/etc # chmod 755 /service # mkdir /service $ su 74 /bin CSh —Cf ) svscan /service & ) env ー PATH=/usr/10caI/bin : /usr/sbin : /usr/bin : 折り返しています ) 。 に明示的にパスを指定してください ( 誌面の都合上、で この 2 つの条件を満たしていない場合は、次の例のよう ・ svscan プログラムのパス (/usr/local/bin) を含む。 ・カレント・ディレクトリを含まない。 必要があります。 意してください。パス設定は、以下の条件を満たしている このとき、プート・スクリプトを実行する際のパスに注 をおこないます。 svscan コマンドがデーモン・フログラムの起動と監視 図 3 dnscache の使い方 ローカル・キャッシュとして利用 DNS システム いったん計算機を再起動し、 dnscache キャッシュ・サーバーとして利用 DNS システム svscan フログラムか夫彳 されることを石忍してください。 svscan か起重加寺に実行 されれは、 daemontools の準備は完了です。 キャッシュ・サーバーの運用 ます、もっとも運用が簡単な dnscache から始めましょ う。 dnscache の使い方は 2 通りあります。 1 つはローカ ル言算機のキャッシュとして利用するガ去、もう 1 つは 複数の計算機 ( 部門の言 fr 算機群など ) を対象にした DNS キャッシュ・サーバーとして使うガ去です ( 図 3 ) 。 dnscache は UNIX 上で重川第します。 dnscache をイ ンストールした計算機では、これをローカルの DNS キャ ッシュとして使うことができます。 dnscache を UNIX 以外のシステムから使う場合は、まず UNIX システムに dnscache をインストールし、その dnscache を各計算機 ーとして設定します。 の DNS サー ローカ丿レ・キャッシュ dnscache を運用するためには、 2 つのユーザー・アカウ ントと、データ &f 尉寺するディレクトリが必喫です。アカ UNIX MAGAZINE 2000.6
UN Ⅸ知恵袋 島慶ー DNScache フリー・ソフトウェアの発展はとどまるところを知らな いかのようです。このところたて続けに新しいソフトウェ アが出現するのに驚かされています。 前回紹介した ethereal は、 tcpdump に代表されるコ マンドラインによるツールと、 GUI を用いたツールのよ いところを融合させた新しいバケット角 i ツールの姿をみ せてくれました。バケットを角斤する場合、さまざまな条 件を組み合わせたフィルタを使います。フィルタ条件の をすべて GUI でおこなおうとすると、操作か複雑に なってしまいます。式の言当ですから、本質的にコマンド 入力のほうか相性がよいのです。一方、バケット内のデー タを角財斤する場合は、グラフィカルな表現をしたほうカ吩 かりやすくなります。通信バケットは、基本的に階層構造 をもったデータの列です。多くのグラフィカルなバケット 角栩 i ツールは、バケットの構造を冓造で表現します。 また、去もよく耳にする qmail というメール酉当ソフ トウェアは、 sendmail の欠点を克服すべく開発されてい ます。 sendmail は高機能ですが、その長い歴史の景斧で、 使わない機能か含まれていたり、設定ファイルカ貘早であ るといった間題があります。 sendmail と並んで長く使われ続けているソフトウェア に BIND があります。 BIND は DNS を実現するソフ トウェアであり、ほとんどの UNIX に標準で添付されて います。いまや DNS のないネットワークは考えられませ ん。長らく BIND バージョン 4 が使われてきましたが、 近年は BIND バージョン 8 への移行か進んでいるようで す。しかし、 sendmail と同しく、咼機能であるかゆえに 設定ファイルか早という問題があります。 山も匠は、 BIND ほど高機能ではないけれども、手軽に DNS の恩恵を受けることができるソフトウェアカ鯛発さ UNIX MAGAZINE 2000.6 れています。今回は、 DNS を構築するための DNScache を紹介します。 DNScache とは DNScache は DNS に関連するいくつかのソフトウェ アをパッケージにしたものです。 ・ DNS キャッシュ・サーノヾー (dnscache) 簡易 DNS サーバー (tinydns) ・負荷う州攵サーノ ・逆引き隠蔽サー ( pickdns) (walldns) 基本的には、よく使われる DNS の機能に特化した、 小規模サーバー群の集合と考えてよいでしよう。また、 BIND などの既存の DNS ソフトウェアでは実現か嘆隹し かった負荷分散やセキュリティ矼 E に関するサーバーも含 まれています。 dnscache は DNS による名前解決要求と、その応答 をキャッシュするプログラムです。クライアントからは、 普通の DNS サーバーと同じようにみえます。もちろん、 BIND にも DNS への要求と応答をキャッシュする機能 はありますが、 dnscache は以下の点で BIND よりも優 dnscache ・内部 DNS サーバーを簡単に指定できる。 ・キャッシュサイズの上限を設定できる。 ・簡単な手順て導入できる。 れています。 71
連載 / UN Ⅸ知恵袋ー 図 1 BIND での原レコードの記述例 ( 正引き ) f00. com . 2560 IN SOA a. れ s . f00 . com . 200004000 16384 2048 1048576 2560 ) . 3 . 2.1. in-addr ・ arpa : 1 . 2.3.4 : a hostmaster . f00. com . f00 . com . 259200 工 N NS a . Ⅱ s . f00. com . a . ns . f00 . com . 86400 IN A 1 . 2 . 3 . 4 mouse . f00 . c om . 86400 IN A 1 . 2 . 3 .4 cow . f 00. com . 86400 IN A 1 . 2 . 3 . 5 ( 逆引き ) 3.2.1. in-addr. arpa. 2560 IN SOA a. ns. 3.2.1. in-addr. arpa. 200004000 16384 2048 1048576 2560 ) 3.2.1. in-addr. arpa. 259200 IN NS a. s. 3 . 2 . 1 . in-addr. arpa. 5.3.2.1. in-addr. arpa. 86400 IN PTR cow. f00. com. 4.3.2.1. in—addr. arpa. 86400 IN PTR mouse . f00. com. a. ns . 3.2.1. in—addr. arpa. 86400 IN A 1.2.3.4 . 2 . 3 . 5 1 . 2 . 3 .4 図 2 DNScache (tinydns) での資源レコードの記述例 = COW . f00 . COIII : 1 . f 00. com : 1 . 2 . 3 . 4 : a =mouse . f00 . com.: hostmaster. 3.2.1. in—addr. arpa ・ 部に公開せすに、ト述したクライアント確認手順を採用し ーバーと通信できるようになります。 インストール DNScache の去新ノヾージョンは 1.00 です。 http://cr. yp. t 。 / から入手できます。 DNScache に含まれる各種プ ログラムを実行するためには、 daemontools パッケージ が必要です。 daemontools のム斤ノヾージョンは 0.70 で、 同様に http://cr.yp.to/から入手できます。 daemontools と DNScache には configure スクリフ トが付属していません。単純に make コマンドを実行す るだけです。ます daemontools をインストールします。 daemontools を展開したディレクトリで、 # make setup check $ su $ make $ cd daemo Ⅱ t001S ー 0 .70 $ zcat daemont001s—O .70 . tar ・ gz ー tar ドを実行してください。 UNIX MAGAZINE 2000.6 1 ユーードのコマン xf 同様の手順で DNScache をインストールします。 $ zcat dnscache—l .00. tar. gz ー tar xf $ cd dnscache-l .00 $ make $ su # make setup check daemontools の準備 daemontools は、 UNIX 上で提供されるサービスの操 作を簡単にするためのツール群です。 UNIX 上のサービス はデーモン・フログラムによって提供されるのか通です。 多くの UNIX システムでは、プート時の起動スクリプト のなかで必要なデーモン・プログラムを起動します。プロ グラムがいったん走り始めたら、サーピスを停止したり、 再スタートさせたりするのは大変です。停止したいデーモ ンプロセスのコマンド名を調べ、プロセス一覧でフロセス ID を探して、ようやく停止させることができます。 上師知罅斤しい UNIX システムでは、サービスを提供す るデーモンプロセスごとに起動スクリプトが用意されてい 73
連載 / IJN Ⅸ知恵袋ーの 特別な工竟でないかぎり、 dnscache を動作させるため 図 1 ~ 2 に、 foo.com という架空のドメイン用の資源レ コードを記述します。 に反します。 tinydns は庇ま的に工早できる形式て資源レ る 2 つの情報をまったく別窈帯にとして管理するのは直感 しかに理にかなっており、糸断等できるのですが、関連のあ 133. in-addr. arpa など ) が論理的に異なるためです。た . jp など ) と逆引きの名前空間 (10. in-addr. arpa や 159. 関連がありません。これは、正引きの名前空間 .com や co たとえは、 BIND では正引きと逆引きの資源レコードに やすくなっています。 dns の成疋ファイルは BIND のものよりも格段に理解し す。しかし、それぞれの設定ファイルを上交すると、 tiny- ません。この点に関しては、 tinydns も BIND も同しで 用する場合は DNS の資源レコードを用意しなければなり tinydns の特徴は設定の容易さにあります。 DNS を運 自分自身が資原レコード情報をもちます。 と異なり、名前解決を他のサーバーに求めるのではなく、 tinydns は DNS サーノヾー・フログラムです。 dnscache tinydns を書くだけで内部 DNS 用の設定力院了します。 ファイルに、内部 DNS のルートサーバーの IP アドレス りません。 dnscache では、内部ドメイン名と同し名前の 明示的に内部 DNS のルートサーバーを指定しなければな ろがあります。この場合、 DNS 木のルートか異なるため、 上の DNS 階層と、組織内の DNS 階層を分けているとこ また、防火壁を構築している糸目織では、インターネット をつく可能性があります。 キャッシュの有」限が切れる前に、サーバーの資源が底 し、とくに DNS 要求の数が多い場合、非力な言 1 算機では ドの有効期限を過ぎれはキャッシュから消えます。しか め、無限にキャッシュし続けます。もちろん、資源レコー す。 BIND はキャッシュサイズの上限を設けていないた を超える場合は旧いキャッシュから順に消されていきま 領域の大きさに上限を設けています。キャッシュサイズ dnscache は DNS サーバーの応答をキャッシュする するだけでキャッシュ・サーバーとして動きだします。 に何かを設定する必要はほとんどありません。単純に起動 72 コードを作る例を示します。 BIND では同し言算機を表す ために 2 つの資源レコード (A レコードと PTR レコー ド ) を言当主しなければならないのに対し、 tinydns は 1 つ ですんでいます。 ただし、 tinydns を使って BIND が表現できるすべて の資源レコードを言当できるわけではありません。図 1 と 図 2 をくらべると、図 2 には資源クラスの指定か欠けてい ることが分かります。つまり、 DNScache ではインター ネット関連の資源レコードしか扱えません。しかし、実際 の DNS の使われ方をみれは、インターネット関連の資源 だけで - ト分でしよう。 pickdns pickdns は言算機の負荷をう靖攵させるためのプログラム です。大きな組織では、同し用途の言算機を複数用意し、 送られてくる要求を分散させて処理するシステムを構築す る場合があります。要求を分散するガ去はいくつか考えら れますが、その 1 つに DNS カす IP アドレスを変える 去があります。 pickdns を使うと、ある計算機名に対応する IP アドレ スを複旨定し、間合ぜのたびに異なるアドレスを返すよ うに設定できます。また、間合迂をしてきたクライアント の IP アドレスに応して、名前解決後に返すアドレスを指 定することも可能です。 walldns walldns は逆引き情報の蔽サーバーです。逆引きと は IP アドレスから言 t 算機名を求めることですが、通イ目 手の石忍のためにこれが用いられる場合があります。 たとえは、 1.2.3.4 という IP アドレスをもつ言算機か ら通信確立の要求がきたとします。この場合、ます 1.2. 3.4 を逆引きし、言 1 ・算機名を調べます。仮に、 client. foo. com という名前か夬できたとしましよう。次は、 client. foo.com を正引きして IP アドレスを求めます。返って きた IP アドレスが 1.2.3.4 であれは通信を許可しますが、 異なるアドレスだった場合は通信を許可しません。 しかし、セキュリティ上の理山から、組織内の言 t 算機に 関する情報を外部に公開したくない糾織も少なくありませ ん。 walldns を使えば、系贈内の計算機名などの情報を外 UNIX MAGAZINE 2000.6
UNiX C 0 n e n 5 00 特集 29 連載 64 80 87 105 120 126 144 ThinkPad 570 でし inux 伊藤英明、島田秀輝、中野猛 日本語環境、モバイル環境 UNIX Communication Notes ・・・・・山口英 インターネット上のマルチメディア通信 ( 4 ) UN Ⅸ知恵袋・・・・・・島慶ー DNScache 遠隔オフィスとの接続・・・・・・荒井美千子 トラブル・シューティング ( 8 ) Daemons & Dragons••・・••WiIIiam LeFebvre ストリーム・ジェネレータⅱ veice Let's PIay with UN ー X ・・・・・・四本淑三 ノート PC の環境整備 こけつまろびつ UN Ⅸ・・・・・・杜ゆずこ PiIOt と UNIX UN Ⅸ便利帖・・・・・・宮下健輔 grep ( 3 ) プログラミング・テクニック・・・・・・多治見寿和 スバム対策、スレッド・プログラミング、アクセス制御 COVER, CONTENTS DESIGN ・ MORIYA, KAZUO (AUDREYTHE DESIGN) ILLUSTRATION ・ MORIYA, KAZUO
連載 / IJN Ⅸ知恵袋ー 図 4 NS レコードの自加 らを使ったほうか簡単です。スクリプトはデータファイル が、追加のためのスクリプトが用意されているので、そち 追加する場合、茁妾このファイルを修正してもよいのです ル ) は /etc/tinydns/root/data です。資源レコードを 資源レコードの情報を保存するファイル ( データファイ . 3.2 . 1 . in—addr . arpa : 1 . 2 . 3.4 : a : 259200 . f 00 . com : 1 . 2 . 3 . 4 : a : 259200 # . /add—ns f00 . com 1 . 2 . 3 . 4 # cd /etc/tinydns/root と同しディレクトリにあります。 UNIX MAGAZINE 2000.6 addr. arpa ドメインの管理者に、 3.2.1. in-addr. arpa の com のネームサーノヾーが 1.2.3.4 であることを、 2.1. ⅱト 最後に、 com ドメインを管理している管理者に、 f00. らす make を実行しなければなりません。 形式に変換されます。資源レコードを修正したときはかな を実行すると、データファイルが tinydns で処理できる root ディレクトリで make コマンドを夫行します。 make 必要な資源レコードの追加カ鮗ったら、 /etc/tinydns/ す。表 2 にデータファイルの書式を示します。 場合は、手動でデータファイルを編集する必要がありま スクリプトが用意されていない資源レコードを追加したい 同様に、 MX レコードや A レコードも追加できます。 # . /add—host www . f00. com 1 . 2 . 3 .10 # cd /etc/tinydns/root コマンドを実行します。 という名前をもつ言算機があるとします。この場合、次の ードを追加してみましよう。 1.2.3.10 に www.foo.com NS レコードだけでは役に立たないので A/PTR レコ 追加を処理します。表 1 に一覧を示します。 ドの追加、サブドメインへの委譲のための NS レコードの A/PTR レコードの追加、 MX レコードの追加、 A レコー add-childns スクリプトが用意されており、それぞ add-ns のほかに、 add-host 、 add-mx 、 add-alias 、 ます。 レコードが追加されます。図 4 に追加後のファイルを示し す。このスクリプトを実行すると、データファイルに NS add-ns は NS レコードを追加するためのスクリプトで # . /add—ns 3.2 . 1 . in—addr. arpa 1.2 . 3 . 4 図 5 pickdns の運用形態 負荷分散サーバーの運用 人気のあるサイトや、多くのユーサーを抱えている糾織 では、スムーズにサービスを提供するために処理を分散さ せる必要があります。 pickdns は、ある引・算機名を IP ア ドレスに変換する際に、あらかしめ登録しておいた複数の IP アドレスのなかから重加勺に選んだ 3 つのアドレスを返 します。サーバーへの要求が複数の IP アドレスに分散さ れるので、 1 台の言 t 算機が処理しなけれはならない作業を 減らすことができます。 dnscache 、 tinydns と同様に、 pickdns も 2 つのユ ーサー・アカウントとディレクトリが必要です。ここで は pdnsacct 、 dnslog 、 /etc/pickdns というアカウント、 ディレクトリを仮定して話を進めます。 ます、 pickdns の設疋フログラム pickdns-conf を使っ て匆月設定をおこないます。 # pickdns-conf pdnsacct dnslog /etc/pickdns \ 1 . 2.3.20 1.2.3.20 は pickdns カ川する計算機の IP アドレス です。 tinydns と pickdns は同し UDP のポート番号を 使うため、 1 つの引算機で運用することはできません 1 。た とえは、 www.foo.com という名則について負荷分散した け川ま、 www.foo.com というドメインを作り、そのドメ インを pickdns に管理させるという構成をとる必要があ ります。図 5 に構成図を示します。 1 より正確にいえは、 1 つのネットワーク・インターフェイス上では連用 することができません。複数のネットワーク・インターフェイスをもつ 計算機の場合は、同し言 t 算機の異なるネットワーク・インターフェイス f00.com ドメイン a.ns.f00.com tinydns で運用 www.f00.com ドメイン a. ns. WWW. f00.com pickdns で運用 ネームサーバーが 1.2.3.4 であることをそれぞれ通知し、 管理を委譲してもらってください。 上で tinydns と pickdns をい川こ運用できます。 77