連載 / コミュニケーション用サーパーのインストールと運用ー⑨ 図 5 check-relay ルールセットのテスト列 > CheckDebug, check_relay mail ・ daigaku. ac . jp 引 123 .45.67.8 rewrite: ruleset 191 returns: OK mail. daigaku ・ ac ・ jp 引 123.45.67.8 ただし、アドレステスト・モードでこのまま指定する と、、、 $ にの部分が、 $ " と、、にに分解されてしまいます。 CF では CheckDebug という $ とーをくつつけるだけ " のルールセットか準備されているので、これも併せて利用 します ( 図 5 ) 。 CF の場合は、 CHECK-HOST-ALLOW 、 CHECK -HOST-DENY によって設定します。パターンの言当こ は、 IP アドレスの先頭の一にを指定する方法とドメイン 名の末尾の一碚にを指定するガ去のどちらでも用いることが できます 4 。 ます、 CHECK-HOST-ALLOW のパターンに合致 するホストは接続か滸可されます。そのあとで CHECK- HOST-DENY のパターンと上交され、合致した場合は 接続か拒否されます。いすれにもマッチしなかった場合 は、 CHECK-RELAY-DEFAULT により許可 / 拒否の いすれになるかか訣定されます。 通常のホストでは、 SMTP 接続自体を拒否する必要は ありません。なぜなら、自分のホスト宛のメールはどのホ ストからのものでも受信したいからです。ですから、配信 制限はほかのチェック樹冓によっておこなうべきです。 ただし、クライアント専用のホストなどでは、 DNS に より MX を別のホストに向けておけば、そのホスト自身 が外部からの SMTP 接続を受ける必要はなくなります。 こういう場合は、 CHECK-HOST-ALLOW を local- host のみに設定し、 CHECK-RELAY-DEFAULT を deny にするのが単屯でよいでしよう。 check-mai I 工ンべロープでの送信人、つまり SMTP の MAIL い。 m : コマンドの情報を入力としてとるルールセットで す。 4 ただし、各ルールセットにとってはドメイン名も IP アドレスもただの 文字列にすぎません。 CF では、 CHECK-HOST-ALLOW などの いくっかの変数について、ドメイン名と IP アドレスのいすれを利用して もいいような紐 1 ガしてありますが、基向にはまったく別のものと考え る必要があります。 UNIX MAGAZINE 1998.12 図 6 check-mail ルールセットのテスト」 > . D{c1ient—addr}123.45.67.8 > . D{c1ient—name}maiI. daigaku ・ ac ・」 p > check—mail koyama@mail . daigaku ・ ac ・ JP rewrite : ruleset 199 returns: OK CF が生成する check-mail ルールセットは、ルール セット自体の入力のほかに、 client-addr と client-name という 2 つのマクロの値を参照し、、、これらの値か特定 の組合のときのみ拒否する " といった判定をおこないま す。前者のマクロは SMTP 接続元ホストの IP アドレス &f 尉寺し、後者のマクロはそれを逆引きして得られるドメ イン名尉寺しています。 これらのマクロの値は sendmail によって自重加勺に設 定されますが、アドレステスト・モードにおいては自分で 設定する必要があります。マクロの値は、、 . D " を用いて設 定することかできるので、図 6 のように操作します。 工ンべロープでの送信人の情報は送信者の手で好きなよ うに設定できるので、悪意のある配送を拒否するための 判定基準としてはあてにできません。ですから、 CF で sendmail.cf を作成した場合、このルールセットでおこな うのは、、、形式的にみて返信可能なアドレスであるかどう か " のチェックのみです。とくに、、、内部のホストからの 接続時には、 @のないエンべロープを用いていても許可す るが、そオリリ、外のホストからの場合には拒否する " という チェックがおこなわれます。このとき、、内部のホストかど うか " の判定には、 CF の LOCAL-HOST-IPADDR と LOCAL-HOST-DOMAIN カ鉢リ用されます。 類似のものとして、 CLIENT-HOST-IPADDR と CLIENT-HOST-DOMAIN もあります。こちらは、 工ンべロープに特定のドメイン名 ( 通常はそのサイトの ドメイン名 ) を用いている場合にのみ許可する " のに用い ます。この場合の特定のドメイン名は CLIENT-FROM- DOMAINCå旨定します。これは、クライアント専用のホ ストから接続する際に、ユーザーが正しくない言をした ままでメールを外部に発信するのを防ぐのに役立ちます。 33
連載 / コミュニケーション用サーパーのインストールと運用ー⑨ 図 7 check-rcpt ルールセットのテスト列 > . D { client ー addr } 123.45.67.8 > . D{c1ient—name}maiI . daigaku. ac > check—rcpt koyama@mail . daigaku ・ ac ・ JP 利用されます。これに対し、、、どこ宛のメールか " につい て、、サイト内部宛 " と判定すべき部分は、 ALLOW-RE- CIPIENT-DOMAIN で設定をおこないます。これは、 あくまでエンべロープでの受信人アドレスのドメイン部分 との照合をおこなうためのものです。 IP アドレスを利用 した設定はできないことに注意してください。 マクロ j の値 (FQDN) など、、、当然受理すべきアドレ ス " については、自重加勺に ALLOW-RECIPIENT-DO- MAIN と同様に扱われます。特別な設定 (ACCEPT- LOWER など ) によって受理しているドメイン名がある 場合は、 ALLOW-RECIPIENT-DOMAIN に指定し なけれはなりません。 また、別のドメインのための優隻の低い MX として 働くホストの場合には、そういったドメインについても 配送中継を許可する必要があります。この場合は、 AL- LOW-RELAY-TO で設定します。これは、 ALLOW -RECIPIENT-DOMAIN に指定するのとはは、同様の 動作をしますが、 A%B@C 形式 (%-hack と呼ばれる ) や @c : 純 B 形式のような、、ソース・ルーティング " 指定がな されたときにリレーを許可するかどうかが異なります。具 イイ勺には、 REJECT-EXTERN-SRR が no のとき、上 己の C の部分が ALLOW-RECIPIENT-DOMAIN に 合致し、 B の部分が ALLOW-RELAY-TO に合致する 場合は、接続元ホストがサイト外であってもリレーか許可 されます。 工イリアス・ファイルの利用 sendmail では、あるメールアドレスについて、ローカ ルに受理すべきものだと判定した場合、そのメールをたん にローカルにスプールする代わりに、別のメールアドレス に転送することができます。具ー勺には、 sendmail.cf の OA 行仕ものバージョンでは、、 O AliasFile" とも記述 可能 ) で指定したファイルが、、メールアドレスの変換表 " として機能するようになっています。このファイルを工 イリアス・ファイルといいます。多くの OS では /etc/ aliases にありますが、 /etc/mail/aliases などを用いる 場合もあります (sendmail. cf を見て確認してください ) 。 こでは、ェイリアス・ファイルに関する注意点を簡単 に説明します。 rewrite: ruleset 194 returns : OK > . D { client ー addr } 123.45.6.7 > . D{c1ient—name}yoso. ac ・ JP > check—rcpt koyama@mail . daigaku ・ ac ・ JP rewrite: ruleset 194 returns : OK > check—rcpt dareka@yoso ・ ac ・ JP rewrite : ruleset 194 returns : $ # error ただし、ェイリアス・ファイルや . forward を用いて転送 をおこなう機能をもったホストの場合は、外部から届いた メールがそのままのエンべロープで中継されます。そのよ うなホストは CLIENT-HOST-* には指定せす、前述の LOCAL-HOST-* を用いるのがよいでしよう。両方に合 致した場合は LOCAL-HOST-* のほうが優先されます。 check-rcpt 工ンべロープでの受信人、つまり SMTP の RCPT To : コマンドの情報を入力としてとるルールセットです。 このルールセットは、悪意のある酉占リレーを制限する 際に中心的な彳難リを果たします。具ー勺には、 ・サイト内のホストから、そのサイト宛のメールの中継 ・サイト内のホストから、外部サイト宛のメールの中継 ・サイトタ ) ホストから、そのサイト宛のメールの中継 ・サイトタ P ) ホストから、外部サイト宛のメールの中継 のうち、最後のもののみを拒否する必喫があります。この うち、、、どのホストからか " については SMTP 接続元を 基準に判定し、、、どこ宛のメールか " についてはエンべロ ーフでの受信人を基售に判定します。 このようなチェック機構を実現するために、 CF では check-mail と同様にマクロ client-addr と client-name の値を参照します。アドレステスト・モードではあらかじ め、、 . D " を使って設定しておきます ( 同じ値を使い続ける かぎり、設定しなおす必要はありません ) 。図 7 に例を示 します。 、、どのホストからか " の判断については前 CF では、 述の LOCAL-HOST-* や CLIENT-HOST-* の設定が 一三ロ 34 UNIX MAGAZINE 1998.12
連載 / IJN Ⅸの玉手箱ー① 表 1 IP アドレスのクラス クラス名上位 4 ビットのパターン B は ( 216 ー 2 = ) 65 , 534 台、クラス C は ( 28 ー 2 = ) 254 0 1 0 1 1 0 ネットワーク部さ 16 ピット 24 ピット IP アドレスには、ホストだけでなくネットワークに関 する情報も含まれます。 32 ピットの IP アドレスのうち、 先頭の何ピットかがネットワークを表し、残りの部分が ホストを表します。前者は、、ネットワーク番号 " あるいは 、、ネットワーク部 " 、後者は、、ホスト番号 " あるいは、ホス ト部 " などと呼ばれます。つまり、 IP アドレスとは、、どの ネットワークに接続されたどのホストなのか " を識別する ための識別子です。 IP アドレスのネットワーク部とホスト部の長さはクラ スによって決まり、クラス A ~ E の 5 不頁カ症められて います。このうち、クラス D はマルチキャスト・アドレ スと呼はれ、あるホストのグループに同じ IP バケットを 送るために用いられます。また、クラス E のアドレスは 将来に備えて予約されています。ですから、ホスト ( や凾 常のネットワーク ) に割り当てるアドレスとしては、クラ ス A ~ C が利用されます。 これらのクラスは、 32 ビットから構成される IP アド レスの上位 4 ピットのパターンで識別することができま す。ネットワーク部とホスト部の長さも含め、 A から C までのクラスの関係をまとめると表 1 のようになります 1 。 たとえば、アスキーの Web サーバー (www.ascii.co ・ jp) は 210.140.231.23 という IP アドレスですが、このアド レスの上位 4 ビットのパターンは、、 1101 " なので、クラ ス C のアドレスであることか分かります。 ホスト部の長さに注目すると、クラス A からクラス C の順に小さくなっています。以前紹介したように、ホスト 部がすべて 0 のアドレスはネットワークそのものを表 します。また、ホスト部がすべて、、 1 " のアドレスは、ネッ トワーク内のすべてのホストに対してバケットを送るため に使われるプロードキャスト・アドレスです。したがって、 ネットワーク番号て表されるネットワーク内でホストに割 当て可能なホスト番号の個数は、 ホスト自の長さ 2 1 ピットパターンが、、 " となっている部分は、イ剏個定されていなし、 ( 0 で も 1 でもいい ) ことを表します。 82 ホスト部の長さ 24 ピット 16 ビット 台のホストカ続できます。 となり、クラス A は ( 224 ー 2 = ) 16 , 777 , 214 台、クラス UNIX MAGAZINE 1998.12 は群しく紹介します。 Routing) という技術力嚇及していますが、これについては機会があれ 1 つのネットワークとみなせる CIDR (Classless Inter—Domain スプロック ) カリり当てられるようになっています。アドレスプロックを 2 ) 大きな糸に対しては、 ; 呼売した複数のクラス C アドレス ( アドレ てるのが一殳的です。ホスト番号の割当てはサプネット内 学であれば学部や学科といった単位でサプネットを割り当 ワーク番号をサプネットに分割し、企業であれは曙、大 そのため、このような糸目織では割り当てられたネット 川まそれカ吩かるでしよう。 万台のホストかプロードキャストをおこなう状況を想像す ネットワークにかかる負荷の面で得策とはいえません。数 のアドレスを 1 つのネットワークとして運用することも、 当てを一寸舌しておこなうのは困難です。これらの膨大な数 合、組織本で佃防台ものホストに対し、ホスト番号の割 とくに、クラス A やクラス B のアドレスを利用する場 がなされるようになってきました 2 ネットのバックポーンでは、クラスの概念を使わない運用 ラス B のアドレスカリり当てられることは稀で、インター 題となっています。したがって去も丘では、クラス A やク 数が急激に増加した現在、 IP アドレスの本曷が大きな間 インターネットの規模が拡大し、接続されるホストの台 ホストに対してホスト番号を割り当てることができます。 ーク番号を利用して、組織内のネットワークに接続された り当ててもらいます。参加糸目織は割り当てられたネットワ て申請をおこない、 IP アドレスのネットワーク番号を割 ば JPNIC ( あるいは JPNIC の会員である ISP) に対し ある系目系勧ゞインターネットに接続する場合、日本であれ ネットワーク通信をおこなうために利用されます。 内でテストをおこなったり、ホスト内のプロセスどうしが ます。ローカルホストのアドレスは 127.0.0.1 で、ホスト ルホスト、つまり自分自身に対するアドレスとして使われ なお、ドット表記で、、 127 " て始まるアドレスはローカ
連載 / コミュニケーション用サーハーのインストールと運用 図 3 送信人アドレスの謝奐えのテスト > 3 , 1 , 11 , 4 koyama > 3 , 2 , 21 , 4 koyama rewrite : rewrite : rewrite : rewrite : rewrite : rewrite : rewrite : > 3 , 1 , 11 , 4 root rewrite : rewrite : rewrite : rewrite : rewrite : rewrite : rewrite : rewrite : ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset 3 3 1 1 11 11 4 4 3 3 1 1 11 11 4 4 input : returns : input : input : returns : input : input : input : returns : input : input : koyama koyama koyama koyama koyama koyama く koyama く @ daigaku ・ ac @ daigaku ・ ac jp > jp > koyama daigaku ・ ac @ mail . daigaku ・ ac mail . daigaku . ac jp > jp > て 00t て 00t て 00t て 00t root root く く mail . daigaku . ac 図 4 言人アドレス奐えのテスト rewrite : rewrite : rewrite : rewrite : rewrite : rewrite: ruleset ruleset ruleset ruleset ruleset ruleset ruleset ruleset 3 3 2 2 21 21 4 4 input : returns : input : returns : input : input : returns : koyama koyama koyama koyama koyama koyama く koyama く koyama @ @ daigaku ・ ac @ daigaku . ac daigaku ・ ac jp > jp > 」 P メールのリレー制限に関する確認 情報をもとに、そのホストに対して SMTP コマンドを SMTP 接続元のホストのドメイン名と IP アドレスの ・ check-relay 各ルールセットは、次のような彳齬リを果たします。 仕組みになっています。 mail.cf を作っておけば、それを利用して判定してくれる き理由がないならは OK という結果を出すように send- 配送を拒否すべきときは、、 $ # error" を返し、拒否すべ か設定されて呼び出されます。その入力に対してメールの ットも、必要な状況下で sendmail 側からなんらかの入力 セットか用いられるようになりました。いすれのルールセ check-mail 、 check-rcpt 、 check-compat というノレーノレ のリレーに関するチェックをおこなうため、 check-relay 、 バージョン 8.8 以降の sendmail では、不正なメール 32 ・ check-mail 許可するか否かを決定する。 工ンべロープの送信人アドレスを入力としてとり、酉当 の可否のチェックをおこなう。 ・ check-rcpt 工ンべローフ。の受信人アドレスを入力としてとり、酉当 の司否のチェックをおこなう。 ・ check-comp at UNIX MAGAZINE 1998.12 スのあいだに、、 $ にを挟む形式になります。 以下に示すように、ホスト名 ( ドメイン名 ) と IP アドレ DNS を逆引き検索して得られるドメイン名との組です。 て SMTP 接続してきたもとのホストの IP アドレスと、 このルールセットへの入力は、その sendmail に対し check-relay している。 内で入力とマクロ刎直を組み合わせていのことを実現 はこの機能は用いられていない。代わりに、 check-rcpt り、酉占の可否のチェックをおこなう。ただし、 CF で 工ンべロープでの送信人と受信人の組を入力としてと
連載 / コミュニケーション用サーハーのインストールと運用ー⑨ 表 1 sendmail. cf の行の意味 コマンド説明 オプション説明 表 2 sendmail の -b オプション覧 ノレールセットの開始を宣二・ 換えルールを定義 配信工ージェントを定義 マクロを定義 クラスマクロを定義 キー付きマップを定義 醋医の優先度を定義 ヘッダ形式を定義 トラステッド・ユーサーを定義 起動時オフションを定義 sendmail. cf の・バージョンを定義 外部ファイルからクラスマクロを定義 キー付きマップ (K 行 ) UNIX MAGAZINE 1998.12 表 1 に ステスト・モードがあります。このモードでは、対言乱勺な こういった点を石忍するために、 sendmail にはアドレ 状兄を適切に区別するか。 ・メールのリレーに関して、拒否すべき状況とそうでない 適切な補完をおこなうようになっているか。 すにメールを発信した場合に、サイト外に出ていくなら されるか。とくに、 MUA が To: や Fr 。 m : に@ を付け ・配信工ージェントに応して、ヘッダの書換えが適切にな 択される ) ようになっているか。 正しく特別扱いされる ( 適切な配信工ージェントか選 イアウォールの場合、関連するアドレスのパターンが —UUCP を用いた酉当をおこなっているホストやファ く 1 。 cal 配信工ージェントが〕尺されるか。 ー自分のホストで受け取るべきアドレスに対して、正し ェントか〕尺されるか。 ・いろいろなメールアドレスについて、適切な配信工ージ のような点を確かめる必要があるでしよう。 したとおりに動作するかを確認します。具イ勺には、以下 CF などを利用して sendmail.cf を作成したら、意図 アドレステスト・モード こまでに解説した各行の意味を示します。 機能を用いる際などに K 行が自重丿君三成されます。 マップ名の定義をおこないます。 CF では、 usertable の した書換えができます。この機能を利用するには K 行で ルール (R 行 ) では、外部のデータベースの清報を利用 -bt ー bi -bd -bp アドレステスト・モードを起動する 標準入出力経由で SMTP を利用する ェイリアス・ファイルのデータベースを 初期化する ( コマンド名 newaliases で 起動しても同し ) デーモンとして起重丿庁る ( 25 番ポートで SMTP 接続を待ち受ける ) キューに溜まっているメールの一覧を表 示する ( コマンド名 mailq て起動しても 同し ) 操作によって sendmail.cf の動作を確認することができ ます。このモードを用いるには、 -bt オフション俵 2 参 照 ) を付けて sendmail を起動します。具ー勺には以下の ようになります ( 誌面の都合 - E 、で折り返しています ) 。 % /usr/lib/sendmail —bt —CsendmaiI . cf ADDRESS TEST MODE (ruleset 3 NOT - automatically invoked) Enter く ruleset> く address> -bt オプションのはかに一 C 伏文字 ) オプションも指定 しています。これにより、アドレステスト・モードで用い る sendmail. cf を指定します。こうして起動すると、メッ セージ 3 のあとにプロンプトの、、 > " か表示されます。 ます、アドレステスト・モードで巣作ガ去を知るため に、たんに、、 ? " のみを入力してみましよう。すると、コ マンドの一覧が出力されます ( 図 1 ) 。 マクロの内容の表示 $ を付ければマクロの内容を表示で 図 1 を見ると、 $ = " を付ければクラスマ きることが分かります。また、 クロの内容も確認できます。これを用いて、以下のような 重要なマクロに適切な値か設定されていることを確認しま mail . daigaku. ac. JP 3 メッセージには、 ruleset 3 NOT automatically invoked" とい う注書きが含まれています。これは、旧い sendmail のアドレステス ト・モードにあったすべてのメールアドレスの入力に対して無条件でルー ルセットの 3 番 (S3) が道月されるという物ゞ、現在では輸 E になっ たからてす。現在は、、 3 , 0 " のように複数のルールセット名をカンマで 区切って列挙することによリ、複数のルールセットを自山に組み合わて テストすることカてきます。 29
連載 図 2 酉言工ージェントの尺のテスト例 コミュニケーション用サーパーのインストールと運用 > 3 , 0 koyama rewrite: ruleset rewrite: ruleset rewrite: ruleset rewrite: ruleset > 3 , 0 koyama@mail ・ daigaku ・ ac rewrite : ruleset rewrite: ruleset rewrite : ruleset rewrite: ruleset > 3 , 0 koyama@yoso ・ ac ・ JP 0 : i nput : 0 3 returns: input : 96 3 input : 0 : input : 0 3 returns : input : 3 koyama koyama koyama $ # 10Ca1 koyama koyama koyama @ koyama く く smtp $ : koyama rewrite: rewrite : rewrite: rewrite : rewrite: ruleset ruleset ruleset ruleset ruleset 3 96 88 88 0 input : input : input : returns : returns : koyama mail ・ daigaku koyama く mail . daigaku $ # 10Ca1 $ : koyama yoso ⑩ YOSO . ac jp > yoso ・ JP $ # smtp $@ yoso . JP . . JP . $ # smtp $@ yoso koyama く @ yoso jp > $ : koyama く @ yoso jp > $ : koyama く @ yoso jp > ・ JP jp > 信工ージェントを用い、サイト外のホスト宛の場合には UNIX MAGAZINE 1998 ユ 2 FROM などの設定に応して S11 が生成されます。また、 CF の場合には、 FROM-ADDRESS や SPECIAL- ドメイン名が適切であるかを石忍します ( 図 3 ) 。 ます、送信人アドレスについては、 @がない場合に付く 順に石忍します。 されることになります。この処理がうまくいくかどうかを れ、 To : や Cc : については S3 → S2 → S21 → S4 が適用 中の From : については S3 → SI → S11 → S4 が適用さ 工ージェントが選択されたとしましよう。すると、ヘッダ 用いている場合に、ある宛先アドレスについて smtp 配信 たとえば、前述のような M 行をもつ sendmail.cf を そのルールセットの胙を確認する。 ・それぞれの場合について、 M 行の S= と R = を調べ れかなど ) 。 択されるかを卩串ヾる ( サイト内がどれで、サイト外がど ・どういうアドレスの場合にどの配信工ージェント名カ隨 石忍すれはよいでしよう。 れます。アドレステスト・モードでは、以下のような点を 定した値に従って書換え規則と配信工ージェントカ鴃めら CF を用いて sendmail.cf を作成すると、各変数に設 の手段としては SMTP が用いられます。 す。ただし、いすれも P=[IPC] という指定のため、配信 smtp 配信工ージェントを用いる、というイ督はみになりま LOCAL-ADMIN-USERS に定義されたユーザー名に ついては、上記の変数の設定とは関係なく FQDN ( マク ロ j のがイ寸加されるようになっています。これは、各 ホストの cron などが自動送信するメールについて、、どの ホストが送信したのか " を特定しやすくするための仕組み です。 ちなみに、 LOCAL-ADMIN-USERS と同様の扱い を別のユーサー名に対してもおこないたい場合には、 LO- CAL-USERS に指定するとよいでしよう。 続いて、受信人アドレスについても同様の確認をおこな います。ここで、「、、 To: koyama" なら local 配信工ー ジェントなんだし、、、 To : dareka@yoso ・ ac ・ jp ならも とからドメイン名が付いてるんだから、受信人アドレスの 書換えは必要ないのではないか」と思われるかもしれませ ん。しかし、 TO : koyama , dareka@yoso ・ ac ・ JP のように、ローカルューザーと外部のユーサーとに同時に 出されたメールの場合、外部のユーサーへ送信するメール については、 To : koyama@daigaku ・ ac ・ jp , dareka@yoso ・ ac ・ jp のように書き換える必要があるのです。 この場合、 smtp 配信工ージェントか尺されますから、 R = 21 か利用されることになります。そこで、図 4 のよ うにしてチェックします。 31
連載 / UN Ⅸの玉手箱ー① と、、 0x 仕仕仕 f0 " となります。ドット表記は IP アドレスの ドット表記といに、ネットマスクの値を 8 ピットすっ 4 つの部分に分け、それぞれをドットで区切って 10 進数で 表現します。この場合、さきほどのネットマスクは 255. 255.255.224 のように表せます。 スラッシュによる表記は去も丘使われるようになったも ので、ネットワーク・アドレスのあとにネットワーク部の 長さを表すピット数を加え、そのあいだを、、 / " で区切りま す。この表記法は、おもに特定のネットワーク・アドレス についてネットマスクの長さを表すために用いられます。 たとえば 192.168.1.16 / 28 や 192.168.1.32 / 28 のよう に使います。 ホストをネットワークに接続するには、 IP アドレスの ほかにネットマスクに関する情報も必要です。間違った ネットマスクを設定すると、 IP アドレスのネットワーク 部とホスト部の区切りを誤って解釈してしまうため、 IP バケットがほかのホストに正しく届かなくなる場合があり ます。したがって、接続するネットワークがサプネットを 利用しているような場合は、 IP アドレスだけでなく、ネッ トマスクの値が正しいかにも十分主意しましよう。 ホスト名と IP アドレス 8 月号でも紹介したように、ネットワークに接続され たホストには、 IP アドレスだけでなく、人間にとって分 かりやすい名前を付けることかできます。この名前はホス ト名と呼ばホスト名にドメイン名をイ寸加した FQDN (Fully Qualified Domain Name) を用いると、名前から ホストを一意に特定できます。 IP アドレスとホスト名は 独立した概念なので、両者を対応づけるために、ローカル の hosts データベースや NIS 、 DNS などカイ吏われます。 ホスト名には別名 (alias) を付けることもできます。 たとえは、、、 baystars" というホストを Web サーバー にしたい場合、別名として、、 www " という名前を設定し、 一般ューサーに対して「うちの Web サーバーの名前は www である」と教えておきます。すると、一殳ューサー は www というホスト名で baystars にアクセスすること ができます。なんらかの理由で web サーバーを baystars から lions というホストに移した場合も、 www という別 名を lions に付けてやるだけで、一ヨ殳ューザーは web サ ーバーがどのホストなのかを気にしないで、 www という 84 名前でアクセスできます。管理者にとっても、本来のホス ト名を変更する必要がないので手間が省けます。ここで挙 げた例のように、ホストの別名は、、 www" や、、 ftp" など、 そのホストカ甘是供するサービスの名前を付けることが多い ようです。 別名を除くと、ホスト名はそのマシンに唯一与えられ た名前だと思われがちですが、厳密にはそうではありませ ん。より正確には、ホスト名は IP アドレスと対応づけら れており、 IP アドレスはネットワーク・インターフェイ スに付けられます。通常のホストは、 Ethernet などに接 続するためのネットワーク・インターフェイスを 1 つし かもたないので、・与えられる IP アドレスやホスト名は 1 つだけです ( 別名を除きます ) 。これに対し、彳するゲー トウェイのように複数のネットワーク・インターフェイ スを備える機器に関しては、ネットワーク・インターフェ イスごとに IP アドレスが与えられます。たとえば、 2 つ のネットワークを接続するゲートウェイは 2 つのネット ワーク・インターフェイスをもっため、 IP アドレスも 2 つになります。その場合、それぞれの IP アドレスに別々 のホスト名を付けることかできます。もちろん、マシンに とっては IP アドレスさえ分かれは・いいので、ホスト名を 付けすに運用することも可能てす。 ホストが UNIX マシンの場合、ログインする際に表示 されるホスト名は (/bin/)hostname コマンドによって 与えられます。引数に何も与えすに実行すると、たんに現 在設定されているホスト名を表示します 3 。 nullpc$ hostname mypc ・ f00 ・ CO ・ JP nullpc$ 日 新たにホスト名を設定したり、ホスト名を変更するに は、引数として新たなホスト名を FQDN で指定します。 なお、ホスト名の設定や変更ができるのはスーパーユーザ ーだけです。 bash# hostname nullpc . f00 . co ・ JP bash# hostname 取 ullpc. f00. co ・」 p bash# 目 3 FreeBSD や BSD/OS など、 4.4BSD べースの UNIX では、ホス ト名を FQDN で与えます。ただしプライベートなネットワークなど で、ドメイン名を使わすに運用する場合はこのかぎりではありません。 UNIX MAGAZINE 1998.12
YNiX CONTENTS 98 / 12 連載 16 UNIX Communication Notes ・・・・・・山口英 ネットワーク管理 ( 10 ) コミュニケーション用サーバーのインストールと運用・ 25 ・ " 小山洋一 sendma ⅱ . cf の概要とアドレステスト・モード 38 ファイアウォールの作り方・・・・・・白崎博生 透過機能の実装 51 Network Techno gy ・・・・ " 播ロ陽ー RED ーールータによる輻輳制御 56 FreeBSD ノート・・・・・・浜田直樹 FreeBSD 3. O-RELEASE 、デバイスドライバの作成 ( 6 ) 67 プログラミング・テクニック・・・・・・多治見寿和 バスワード・ファイル 78 PERL ADV OR ・・・・・・ Rand し . schwartz 条件分岐と繰返し 81 UN Ⅸの玉手箱・・・・・・ n ⅶ ネットワーク接続の基礎とホスト情報 97 し inux でリラックス・・・・・・大崎博之 Linux1—トローダーー凵 LO UN Ⅸ知恵袋・・・・・・島慶ー 1 10 MagicPoint 倉敷芸術科学大学のネットワーク構築・・ 121 ・・小林和真 CATV によるインターネット接続 遠隔オフィスとの接続・・・・・・荒井美千子 127 Socks Watcher COVER, CONTENTS DESIGN ・ MORIYA, KAZUO & SONOBE, MAMI (AUDREYTHE DESIGN) ILLUSTRATION ・ SONOBE, MAMI
UN Ⅸへの招待⑩ 図 8 xdm の起動 XWindow System 図 7 xdm のログイン醯 XWindowSystem login: Password: Login: Password: 第第とロ 名 " で指定したホストから XDMCP て接続できるホ ネルで REXEC 用に設定した値カイ吏われます。 ストの一覧カ俵示されるので、そのなかから〕尺する ) 図の例ではコマンド名カ絲色対パス名になっていますが、 プロードキャスト : ホストを自動〕尺 ( 同しネットワー 接続ホスト側でのシェルの竟変数 PATH が正しく設定 クに接続しているホストのなかから、 XDMCP の要求 されていれば、コマンド名だけでもかまいません ( コント にもっとも早く応答したホストのログイン・ウインド ローノレ・パネルの REXEC の設定でも同しです ) 。 ウか表示される ) X 端末として使う 、、クラス名 " と、、ポート番号 " は、通常はデフォルトのま ASTEC-X では、 Windows マシンをあたかも X 端 までかまいません。 末であるかのように使うこともできます。さきほどとは 以 E の設定を入力したら、 [OK] または [ 適用 ] ボタン 逆に、、、ほとんどの作業は UNIX 上でおこなうが、と をクリックします。その後、 REXEC のときと同様に きには W ⅲ d 。 ws のアプリケーションも利用する " とい ASTEC-X を起動してください。 う場合にありがたい機能です。このようなときは X で 図 8 は、 xdm のログイン・ウインドウです。ー - 見して のログインを司っている XDMCP (X DispIay Man- 分かるように、図 7 とは様子力嗹います。図 8 は、 Win- ager Control Protocol) を使います。 XDMCP では、 dows のタスクバーやアイコンと xdm のウインドウか昆 ASTEC-X の起重加に UNIX のログイン・ウインドウ 在していますが、図 7 では右下に ASTEC-X の小さな が表示されます ( 図 7 ) 6 。 ウインドウがあるだけで、その他のアイコンやタスクバー XDMCP を利用する場合も、コントロール・パネル などはありません。これは、、、ウインドウ・モード " が違 での設定が必要です ( 図 3 ) 。、、 XDMCP を使用する " を うためです。 チェックし、、、接続ホスト名 " を入力します ( 指定したホ ストでは、 xdm か動いていなければなりません ) 。 ウインドウ・モード 、、 XDMCP を使用する " の部分には、ホスト、インダイ レクト、プロードキャストの 3 つの選択肢があります。 、、ウインドウ・モード " カ甘旨定でき ASTEC-X では、 それぞれ次の意味があり、いすれか 1 つを尺します。 ます。ウインドウ・モードとは、 X のアプリケーション のウインドウを W ⅲ d 。 ws 側でどのように扱うかを決め ホスト : 接続ホストを特定 ( 、、接続ホスト名 " で指定した るものです。 X クライアントと妾続方法や操作内容、あ ホストのログイン・ウインドウか表示される ) るいは自分の好みなどに応じてモードを使い分けると、よ インダイレクト : 接続ホストを自分 0 尺 ( 、、接続ホスト り使いやすい環竟れます。 6 UNIX で xdm が走力されていないと、 XDMCP は使えません。起 ASTEC-X には、次の 4 不鶤頁のモードがあります。 動されていても、はかのホストからの接続要求には応えない設定になっ ている場合があります。 XDMCP による孑勣ゞうまくいかないときは、 ・マルチウインドウ・モード これらの言を石忍してください。 174 UNIX MAGAZINE 1998.12
連載 / UN Ⅸの玉手箱ー① 図 3 netstat -rn の実彳」 nullpc$ netstat —rn Routing tables I nt e rnet : Destination default 127.0.0. 1 192.168.3 / 24 192. 168.3. 1 192 . 168.3. 10 192 . 168.3. 11 192 . 168.3.255 nullpc$ ■ Use 17 326 0 4 6 6 2087 t•H 2 1 0 2 1 1 3 8 9 6 5 : cd 6 : 3 1 0 3 8 0 1 : CH ・ 5 - 主 -1 0 # っ ~ 「ー 8 1 0 っ ~ ・ 1 ( し -1 -1 1 0 0 8 -1 Netif Expire vxO 100 vxO 100 vxO vxO 791 1197 経路テープルの経路情報が、 1 行に 1 っすつ出力され ネットワーク・インターフェイスの名前が表示されま ます。各経路情報には 7 つのフィールドがあり、おもな す。この例の場合、 nullpc がもつ Ethernet カードの フィールドの意味は以下のようになります。 インターフェイス名は、、 vx0 " です。 、 I 。 0 " はループパック・インターフェイスと呼はれる ・ Destination もので、ホスト内で閉じた通信をおこなう際に使われま 経路・清報における、デスティネーションのアドレスが す。 100 には、ローカルホストを表す 127.0.0.1 とい 表示されます。基本的には、直接バケットを送ること う IP アドレスか割り当てられます。ローカルホスト ができない経路についてはネットワーク・アドレスが、 ( 127.0.0.1 ) や自分の IP アドレスにこでは 192.168. できる場合は目的となるホストの IP アドレスか表示さ 3.10 ) 宛に送るときには、 1 。 0 がネットワーク・イン れます。デフォルト経路に関しては、、 default" が表示 ターフェイスとして用いられます。 されます。図 3 では、 127.0.0.1 ( ローカルホスト ) や 各フィールドの言岩田やその他の使い方については、オン nullpc が属するネットワークのホスト ( 192.168.3.1 ライン・マニュアル netstat(l) などを参照してください。 など ) 、プロードキャスト・アドレス ( 192.168.3.255 ) にはバケットを直接送れるので、ホストの IP アドレス が表示されます。 ・ Gateway デスティネーションに対するゲートウェイの IP アド レスか表示されます。図 3 では、 Ethernet 経由で直 接バケットを送ることかできるホスト ( 192.168.3.1 な ど、 192.168.3.0 に属するホスト ) については、デステ ィネーションのホストがもつ Ethernet アドレスがこ の部分に表示されています 12 ・ Flags 経路の状態がフラグとして表示されます。たとえば、経 路が利用可能な場合は、、 U " 、デスティネー ションカゞ ( ネットワークではなく ) ホストの場合は、、 H " など、さ まざまなフラグがあります。 ・ Netif その経路を使ってバケットを送る際、実際に使われる 12 solaris クメ易伶は、ここには IP アドレスがんパされます。 ホスト情報の設定 最後に、こまでに紹介した ( 自分の ) ホスト名や IP アドレス、経路情報に関する設定の具ー勺なガ去を紹介し ます。どの OS でも本質的な設頁目は同しですが、設定 ファイルの名前や記方法が異なります。 こでは、 FreeBSD と BSD/OS に分けて説明しま す。 Solaris についても簡単に触れます。 FreeBSD の設定 FreeBSD の場合は、前回紹介した NIS クライアント の設定も含めて、多くの設定が /etc/rc. conf ファイルに 集約されています。 /etc/rc. conf には設定をンヾラメー タ = 値 " として記し、ほかの起動設定ファイル (/etc/rc など ) では /etc/rc. conf の設疋パラメータにもとづいて 必要なコマンドを実行するようになっています。 FreeBSD マシンをネットワーク竟で運用するための 89 UNIX MAGAZINE 1998.12