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
連載 / 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 Ⅸ知恵袋ーの 特別な工竟でないかぎり、 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
特集 ThinkPad 570 でれ ux ② なお、 PAP (Password Authentication Protocol) では、認証フェーズでサーバーにユーザー名とパスワ ードを平文のまま送るのに対し、 CHAP (Challenge Handshake Authentication ProtocoI) では、サー ・モデムタイプ tive のままでよいと思います。 つのモードから j 尺できます。 PPP て接続する際、 active 、 ・ PPP モード ドを暗号化してからサーバーに送信します。 バーから送られる乱数をもとに、ユーサー名とパスワー こもデフォルトの ac- passive 、 kick という 3 定します。通常は、何も指定しなくてかまいません。 に変換してくれる IP マスカレード機能を使うときに設 カーネルでおこなうのとは別に、 IP アドレスを自重加勺 ・ IP マスカレード 間を指定しましよう。 こで適当な時 demand 接続を利用するのであれは、 には 0 にすればよいでしよう。のちほど説明する On- プロノヾイダとの接続、切断をすべて手動でおこなう場合 いません。 に切られます。なお、 0 を指定すると自動切断はおこな 秒数だけ通信がなければ、プロバイダとの接続が自重加勺 自動切断までの待ち時を指定します。ここて指定した ・アイドル時間 generic お尺します。 するモデムの型名がない場合には、汎用の設定ファイル かの設定ファイルが用意されています。このなかに使用 使用するモデムのタイプによって、あらかしめいくつ ・ V 測宿 接続先のプロバイダから使用する DNS サーバーカ甘旨定 報を提供するためのシステムです。 べースとしてイ尉寺しておき、問合があったときにその清 する IP アドレス ( 192.168.200.3 ) などの情報をデータ Name System) は、ドメイン名 (xxx. yyy ・ ac ・ (p) や対応 残るは、、 DNS 設定 " タブです ( 図 27 ) 。 DNS (Domain 能を利用するときは no にする必要があります。 す。ただ、ドキュメントによると、 IP マスカレード機 です。通常は、 yes のままでも間題は生じないと思いま VJ 圧縮は、バケットのヘッダを ) 宿する方式の一種 52 図 27 DNS 言聢醯 「標準」ページの全ての項目を設定してくたさい。 Q Ⅲ硺 . Didup 第準設詳組設定囲 s 設 接続時 on ーの書き換え き一 DNS サーバーの指定 ◆ Yes 、 / fix 接続史新保存閉じる ードメイン名「一一一一一一一一 この犬ージで、 p 援続確立時に 0 ' 肥 50 ⅳ . co 可の書き換えを行いません。 'Yes• ビア PP サーバー ) から取褥した ネームサーバーの旧アレスを 肥 s 引 v て 0 フ したサーバー 下ⅸ ' したアドしスを 0 conf に されているのであれば、その設疋をここでおこないます。 接続時の resolv. conf の書き換え こを Yes にしておくと、プロバイダに接続したあと に PPP サーバーから使用する DNS サーバーを指定さ れた場合、そのサーバーを利用します。指定されなけれ ここに指定した DNS サーバーを利用します。 は、 No にすると、 ここて寸旨定したサーバーをつねに DNS サーバーとして利用します。 ・ DNS サーノヾーの孑日疋 ドメイン名には、プロバイダから指定されたドメイン名 を設定します。その下のサーバー 1 ~ 3 には、プロバイ ダから指定された DNS サーバーの IP アドレスを設定 します。なお、 3 っすべてを設定する必要はありません。 以 - ヒの項目を必要に応して設定できたでしようか。設定 カ鮗ったら、ウインドウの下にある [ 更新 ] ボタンを押し こでおこなった変更を PPxP に斑央させます。 て、 さらに、 [ 保存 ] ボタンを押してファイル名を指定し、 この設定を、、 ~/ ・ ppxp/conf/ 入力したファイル名 " とい うファイルに保存します。 プロバイダへの接続 いよいよプロバイダに接続してみましよう。 Quick Dialup ウインドウの下の [ 接続 ] ボタンを押し ます。あるいは、このウインドウを閉して、 tkppxp のフ レイヤー型ウインドウで再生ボタンを押しても同しです。 うまく接続できたでしようか。接続でき川ま、 tkppxp に Connect と表示され、接続時間か表示されます。 うまくインターネットに接続できているか、 ping コマ ンドを使って確かめてみましよう。図 28 のように ping か通れば成功です。 UNIX MAGAZINE 2000.6
連載 / 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
仕組みを毎回開発する労力を省くために、米国で Globus プロジェクトが発足した。このプロジェクトか胱供する GIobus Metacomputing TooIkit では Nexus という 通信レイヤを用いているが、これはファイアウォールの存 在を考慮しておらす、企業などて利用する際の障害となっ ている。 そこで、これを解決するために Nexus のプロキシーを 作成した。 Nexus プロキシーは、ファイアウォールの内 側と殞則に 2 つのプロセスとして存在する。 Globus システムの実験として、ナップサック問題の解 法を実装した。テストマシンの構成があまりよくなかった ために期待したはどの結果は得られなかったが、バランス のとれた機暑財冓成で実験すれば効果的だと思われる。 ・ネームサーバを用いた柔軟な負荷分散 ード川俊彦 ( ル、 FI 大学 ) ほか インターネット上のサーバーへの負荷集中を防ぐため、 サーバーの複数化による分散処理がよくおこなわれてい る。しかし、これをクライアント側からみると、複数ある サーバーのなかから自分に適したものをみつけださねばな らす、よけいな手間か増える。そこで、 DNS にサーバー の評イ面機溝を組み込み、柔車幻生と適用性に優れた負荷分散 のイはみを考案した。 DNS による負荷分散では、ラウンドロビン DNS が使 われることが多い。そこで、これに柔軟な評価基準を組み 込んだ。具イ勺には、クライアントからの DNS 要求を処 理する DNS プロキシー・サーバーを用意し、こて評価 担纒こ照らして最適なサーバーの IP アドレスを返す。 このような仕組みを実現するプロトタイプ・システム tenbin を実装し、 Ring Server プロジェクトのサーバー 群を用いて言叫面した結果、ネットワーク・トボロジーの変 化に応して〕尺される Ring Sever か変わり、有効性か確 訒された。 川じ、 セッション 6 . 、、Ⅵみ技術 ( 報告 : 藤田美香 ) 研究は、分散型検索エンジンの協調利用によってこれを 鮹夬する試みである。独自に開発した分昔豐検索エンジン CSE (Cooperative Search Engine) を用いて実験をお こない、その結果をおもに分散スコアリング手法の観点か ら発表した。 CSE では、メタ検索エンジンの働きにより、 ー殳に普及している全文本館き工ンジン (Namazu 、 SGSE など ) を変更せすにうい f * idf 法にもとづくスコア計算が 実現できた。 質題芯答では、協調分散の規模の目安を物枅呈度と想定 したこと、情報交換プロトコルの公開の予定、別の評価方 法との比較、具イ勺な運用状況などをめぐり、活発な言侖 がおこなわれた。 ・メモリべース・キャッシング代理サーバの実装ーーアク セスピーク時における応答時僴劣化の軽減手法 梶田朋己 ( 奈良先立斗物支術大学ギ完大学 ) はか WWW システムの利用者増加にともない、サーバーや トラフィックの負荷か増大している。ただし、これらの負 荷は一様ではなく、ピーク時にはオフピーク時の 3 倍以 上のアクセスがあり、応答性が急激に低下する。そこで、 ピーク時における答陸を改善する手法を模索した。 最近は、メモリとディスクの併用で解決することが多 い。この手法はアクセスが少ないときには効果的だが、ピ ーク時にはディスク I / O の景こより、期待したパフォ ーマンスか得られない傾向がある。メモリが大容量かっ低 価格になり、メモリのみによる WWW キャッシングの 実現も考えられる。そこで、実装実験をおこなった結果、 この手法で改善が可能であることか不忍された。 質疑応答では、同容量ではメモリが速いのは当然だが、 効率化のための ) 宿は画像ファイルの割合か高いので思っ たはどの効果か得られないこと、開発の目的 ( クライアン ト側からみて速ければよい ) 、測定結果などをめぐって活 発な意見交換があり、さらに、大莫な実験をするとおも しろいのではといったアドバイスもあった。 協嚇索エンジンにおける分昔豐スコアリング 羽京稔 ( 東洋大学 ) ほか 単一サイトで文書を収集し、インデックス情報を抽出 して要求に応して検索結果を返す集中型の検索エンジンに は、文書情報の収集コストや、インデックス増加にとも なう検素時の負荷増加など、いくっかの問題がある。この 142 デモンストレーション ( 報告幻告之 ) デモンストレーションでは 6 件の展小がおこなわれた。 このうち、「 Windows 音声化システムとこれを用いたバ リアフリーなインターネット利用」と「携帯電話の文字入 カガ去の改善」についてはすでに紹介したので、以下では その他の 4 件について報告する。 UNIX MAGAZINE 2000.6
特集 ThinkPad 570 で nux ② しです。しかし、携帯電話や PHS での接続には、 での説明で使ってきた内蔵モデムではなく、各不叫妾続用の 専用 PC カードを使うことになります。その場合に、前述 の設定ではうまく動かない箇戸励ゞあったのて補足します。 こまでは、内蔵モデムを使うために、内蔵モデム用の ドライパ・モジュール ltm 。 dem をロードして利用してい ました。しかし、 ltmodem がロードされていては、 PC カードなどの外部モデムがうまく利用できませんでした。 したがって↓丿、下の作業は、 ltmodem がロードされてい ない状態で、 userlink がロードされていることを前提とし ています。 PacketOne を不した売 cdmaOne の PacketOne を利用して PPP 接続をお こなう場合には、 PPxP の Quick DiaIup で次のような 設定をおこないます。 なお、今回使用したのは IDO の PacketOne カードで す。この環竟では、通信速度 64Kbps でのインターネッ ト接続か可能です。 テパイス名 /dev/modem お尺します。さきほどの内蔵モデムの 例では、 /dev/modem は /dev/ttyS14 へのシンポリ ック・リンクでした。 PacketOne カードを差して認識 された状態では、 /dev/modem は /dev/ttyS0 へのシ ンポリック・リンクになっていると思います。これは、 次のようにして不忍できます。 $ ls —al /dev/modem lrwxrwxrwx 1 root 9 10 : 58 /dev/modem ー > /dev/ttySO 電話番号 11 Mar 仮に設定するだけなので、どんな番号でもかまいませ ん。ここでは 0 とでもしておきます。 ・ユーザー名 、プロバイダから指定されたユーサー名@プロバイダの ドメイン " という書式で入力します。 たとえば、ユーサー名が hoge で、 mobile. ne ・ jp と いうドメインのプロバイダを使用している場合には、 hoge@mobile.ne.jp と入力します。 ・ノヾスワード プロバイダから指定されたパスワードを入力します。 56 こまでで、インターネットに接続できるようになりま した。次は、 Web と電子メールを使えるようにしましょ う。 Web は、 Vine 、 LASER5 とも、最初から日本言ヒ された Netscape が入っており、使用にあたってとくに 問題はないと思います。そこで、以降ではメールソフトと して Mew ( みゆう ) を使うことにして、その利用法を説 明していきます。 Mew について Mew 付属のドキュメントである Mew lnfo には、 「 Mew とは、 * 電子メール * ネットニュース *MIME (Multipurpose lnternet Mail Extensions) *PGP (Pretty Good Privacy) を統合し、簡単に読み書きする ためのインターフェイスです」 とあります。ネットニュースに関しては、バージョン 2. xx 以降で実装が予定されているようです。現在のバージョン は 1.94 です。 Mew を利用すれば、メールに写真を添付して送ったり、 そのようなメールを読んだりすることが簡単にできます。 また、 PGP を使ったメールの暗号化への対応も積極的に おこなわれています。そしてなにより、これらか驃準に則 した実装を目指している点カ徴です ( 実際、標準とはす こし違った実装のメーラーも数多くあります ) 。 Mew の公 式サイト (http://www.mew.org/o 図 32 ) には、 Mew ・モデムの定義 generic お尺します。 ・ DNS の言殳定 プロバイダから指定された DNS サーバーの IP アドレ スを設定します。 上記の設定で、 PPxP を利用してダイヤルアップ接続 かできました。 PHS の PIAFS を利用した接続 PHS を利用する孑売でも、モデムの定義は generic を 〕尺し、テンヾイスとして /dev/modem を、ユーサー名と してプロバイダから指定されたユーサー名を使用すること で、問題なく接続できました。 Mew によるメールの読み書き UNIX MAGAZINE 2000.6
連載 / IJN Ⅸ知恵袋ー 表 1 資源レコード追加スクリプト / 祠れドメインの SOA/NS レコードを追加する add-ns 角 d れ IP-address d れで指定した計算機名の A レコードとして IP-address を、また IP-address て指定した add-host 角 d れ IP-address IP アドレスの PTR レコードとして角 d れを追加する / 祠れて指定したドメインの MX レコードとして IP-address を」助日する add-mx d れ IP-address 角 d れてオ定した言 t 算機名の A レコードとしてル - 祠市℃ ss を追加する add-alias 角 d れ IP-address / 祠れドメインの管理を IP-address に委譲する add-childns d れ IP-address 表 2 tinydns のテータファイル書式 ドメインの設定。生成される情報は、角 d れの SOA レコード、 . 角 d れ : ゆ : 工 : t 〃 : mest 佖 m 〃 角 d れのネームサーノヾーがエ . ns. 角 d れである NS レコード、 工 . ns. 角 d れの IP アドレスがゆである A レコードの 3 つ 委譲の設正。 / 祠れを管理するネームサーバーが砒 ns. 角 d れであ る NS レコードと、 x.ns. 角aれの IP アドレスがゆである A レコードが生成される t 算機帯にの設定。 / 祠れの IP アドレスがゆである A レコー ド、 IP アドレスゆの引算機名が工祠れである PTR レコード が生成される 別名の設定。 / 祠れの IP アドレスがゆである A レコードが生 成される。 PTR レコードは生成されない メール配送言 t 算機の設定。 / 祠れドメイン宛のメールをエ . mx. 角に送る MX レコードが生成される。なお、 dist は MX レコードの優先度を表す。また、エ . mx. / 祠れの IP アドレスが ゆである A レコードが生成される テキスト情報の設定。 / 祠れの TXT レコードとして s カ吽成さ れる 逆引き言置。 IP アドレス 2 の引機名が角である PTR レ コードカ吽成される SOA レコードの設定。それぞれ、ドメイン名げ祠れ m れ。 me ) 、 Z 角 d れ : m れ ame : 7 、れ ame : set 、 : re 工 : 7 ℃た exp:min:ttl:timestamp ネームサーバー名 (mname) 、管理者の ; 叫各先 ( ロ協 me ) 、シリ アル番号 ( set 、 ) 、リフレッシュ時間 e, 工 ) 、リトライ時間 ( の、 有測限 ( e ) 、最小キャッシュ時間 (min) を指定する ・田はレコードがキャッシュされる嗤間を秒単位で示す 62 ~ 263 を負時間として秒単位で 16 進記したもの。 ttl が 0 の場合、 timestamp は ・ timestarnp は 1970 年を基点として 0 ~ 262 を正ク制、 2 レコードが無効になる時間を表す。田が 0 以、タ ) とき、 timestarnp はレコードか有効になる川を表す。 次に負荷分散の設定をしましよう。 www.foo.com と foo.com を管理しているネームサーバーは www.foo いう名前の WWW サーノヾーカゞ、 1.2.3.100 ~ 1.2.3.149 .com の管理を 1.2.3.20 に委譲しなけれはなりません。 の 50 台の計算機て漣用されるとします。この場合、 pick- tinydns を使って foo.com ドメインを管理しているなら、 tinydns カカ作している計算機」 : で次のコマンドを実行す dns のデータファイルにこれらの IP アドレスを列挙し ると www.foo.com の管理を 1.2.3.20 に委譲できます。 ます。 pickdns のデータファイルは /etc/pickdns/root/ data です。このファイルに次の内容を書き込みます。 # cd /etc/tinydns/root # . /add-childns www . f00 . com 1 . 2 . 3 . 20 + www . f00 . com : 1 . 2 . 3 . 100 # make + www . f00. com : 1 . 2 . 3 . 101 + www . f00. com : 1 . 2 . 3 . 102 pickdns を運用する計算機に daemontools をインス 十 www . f00. com : 1 . 2 . 3 . 103 トールし、 pickdns が svscan で管理されるように、 /ser- ( 1.2.3.149 まで続く ) vice ディレクトリに追加してください。 列挙したら、 make コマンドでデータファイルを pick- dns が処理できる形式に変換します。以後、 www.foo. # 1 Ⅱ—s /etc/pickdns /service & 角 d れ : ゆ : 工 : t 〃 : me のれ〃 = 角 d れ : ゆ : ttl: mes のれ 十角 d れ : ゆ : ttl: me のれ @/ådれ : ゆ : 工 : 市 s たれた mes カ arn 〃 'fqdn:s:ttl: 厖 me 佖 m 角 d れ挈 : た mes 7 れ p 78 UNIX MAGAZINE 2000.6
特集 ThinkPad 570 で nux ② 図 31 PPxP アンサーズ PPxP アンサーズ PPxP ユーザーの皆さん ( ネタ提供 ) 真ßü±.manabe@ami taj .0 「 . jp 前のべージ次のべージ目次 . 31 ドキュメント . 1 オンデマント 3. その他 これ ・ 1 3 シリアレ、一トの論〒 . 1 2 モアムの ァイ のインストールや和用時によ ( 起、 : る問に対オる釜えをまとめた文第で conf/myconf ( 内線利用、 On-demand 接続有効 ) を示し 以下に、和使用した ppxp の設定ファイル ~/. ppxp/ いうことですね・・ てしまいました。付属ドキュメントに勝るものはない、と ログで鮹夬しようとしたはかりに、かなりの時間を浪費し この言当を読ます、メーリングリストや Web の過去 使って仮 IP アドレスを使うようになるとのことでした。 られた IP アドレスを使い、ローカルではアドレス変換を て 255.255.255.255 を指定すると、 PPP 上は割り当て いますが、 ppxp ガイドの変扁 7 によれは、マスクとし IP. LOCAL て指定する仮アドレスにマスクを指定して set IP . LOCAL 210.139.174.46 / 255.255.255.255 ク・アドレス問題を鮹夬できました。 ると、うまくバケットの再構築がおこなわれてダイナミッ ファイルで、 IP. LOCAL の設定部分を次のように修正す そこで、ふたたび ~/. ppxp/conf 以下の ppxP 設定 ました。 間題によって、最初に送ったバケットがロストしてしまい set DIAL . LIST 00123456789 set DIAL. TYPE Tone set LINE /dev/modem set LOG. FILE myconf .10g set AUTH. PASSWD myconf set MODE active source qdial ます。 UNIX MAGAZINE 2000.6 html 7 http://www.linet ・ gr ・ jp/-manabe/PPxP/doc/guide-3. set set set set set set set set AUTH. PROTO CHAP/MD5 PAP SERIAL. MODEM my-generic IDLE . INIT 60 IP . LOCAL 210 .139 .174.46 / 255.255.255.255 IP . REMOTE 210.139.174.21 IP . VJ Ⅱ 0 IP. RESOLV yes IP . DNS 202.238.95.24 source fi1ter01 末尾の行 (source filter01) で、 PPxP にあらかしめ用 意されているフィルタの設定ファイルを利用しています。 ここでいうフィルタとは、よけいなバケットを外へ出し たり、逆に、不用意に外からのバケットを受け付けたりし ないように、バケットのフィルタリングをおこなう機能で す。このバケットフィルタが、 On-demand 機能を使う うえでたいへん重要になります。ューサーが Web プラウ サや FTP など、明カ勺にネットワーク・アプリケーショ ンを利用しなくとも、バックグラウンドで動いているデー モンなどのプロセスが、勝手に外に向けてバケットを送信 していることがよくあるからです。 バケットフィルタを使わすに On-demand 接続を有効 にしておくと、自分ではダイヤルアッフするつもりがない のに、勝手にプロバイダに電話をかけられて無駄なお金を 使うことになりかねません。 以ーヒで、 ppxp をカスタマイズするガ去の相各は擱ん でもらえたと思います。 PPxP に関する情報は、 PPxP の公式 web ページからたどれます。ソースファイルにも 日本語のドキュメントカ寸いています。もしうまくつなが らないようなトラブルか起こったときは、ますはこれらの 資料をよく読んでいろいろ試してみると、鮹夬できること が多いでしよう。それでもうまくいかなければ、メーリン グリストなどで質間するのもよいかもしれません。もちろ んその場合も、過去ログを十分に本するようにしましょ う。検索力法としては、 L ⅲ 1 Ⅸ関連ドキュメント検索シ ステム (http://his.luky.org/ML/) などがあります。 モバイル竟からの利用 内蔵モデム禾堋時からの変更点 次に、せつかくのノート pc なのですから、携帯電話 や PHS を利用したモバイルエ竟からのダイヤルアッフ。接 続も試してみましよう。 PPxP の設定は、一ヨ殳回線から接続する場合とほば同 55