【 集 中 企 画 】

井 上 尚 司◆菊 地 宏 明なぜ、今、PC-UNIXなのか？

232 INTERNET magazine 1998/4

その答えは簡単だ。
OCNの登場で個人でも常時接続のネットワーク環境を持てる時代になったからだ。借り物のIPアドレスではなく常に固定のIPアドレ
スを持てること。プロバイダーが提供する「 ˜user」ではなく自分のドメインにホームページを置けること。これらはすべて夢ではなくなった。そうなると次はDNSやメールサーバーを自分で運用するという課題が生まれる。ここに高性能で無料で古いマシンでも動作するサーバーOSがあるとしたらどうだろう。それがFreeBSDをはじめとするPC-UNIXなのだ。すでにOCNに加入している人、これから加入しようと考えている人、この記事をきっかけに、ぜひPCUNIXという選択肢を手に入れてほしい。
インターネットマガジン／株式会社インプレスR&D
DaemonはMarshall Kirk McKusick氏の許可を得て転載しています。
©1994-2007●本誌に掲載されているBSD
Impress R&D

FreeBSD●ウィンドウズNTサーバー
vshOSは無料で高性能、管理者への道も遠くない
OCNエコノミーの普及でDNSやメールサーバーを個人が運用する機会が多くなった。そして最近、これらのサーバーのOSとして「FreeBSD」や「Linux」などのPCで動くUNIXがにわかに注目を集めている。ここでは、今回の記事で紹介するFreeBSDともう1つの有名なサーバーOS「ウィンドウズNTサーバー」とを比較して、なぜ今PC-UNIXなのかを考えてみたい。

最大の魅力はフリーソフト
ウェアであることにもう一度電源を入れてみてほしい。FreeBSD
でサーバーマシンとしてよみがえる可能性は本当に高いのだ。

OCNエコノミーに加入する際の初期費用を考えてみよう。工事費、ドメイン登録料、その月の利用料、ルーター代などを合わせるとおよ

信頼と実績はお墨付き

そ12万円ほどの出費となる。これに、DNSサ
ーバーソフトウェアとメールサーバーソフトウェ

もともとインターネットの技術やプロトコル

ア、そしてこれらを動かすOSの費用が加わるわの多くはUNIXのプラットフォーム上で育ってきけだ。

た経緯がある。加えて、長い年月の間多くの開ウィンドウズNTサーバーを使った場合、OS

発者やユーザーの手によってバグフィックスがとサーバーソフトウェアを合わせて12万円から施 されてきた。実 際 に、あのY A H O O ! でも20万円といったところだ（表1）。OCNの初期

WWWサーバーの一部にFreeBSDを使っている費用との合計はおよそ30万円になる。

という。

これに対してFreeBSDはフリーソフトウェア

今回は、実験のため、まったく同じスペック

だからOSは無料。専用のFTPサイトからダウのPCを2台用意して一方にウィンドウズNTサ

ンロードできるほか、市販のCD パッケージもーバー4.0とIIS 3.0をインストールし、もう一方

4,000円から6,000円程度で購入できる。さらにFreeBSD 2.2.5とApache 1.2.5をインストーに、各種サーバーソフトウェアもすべて無料。

ルした。この2つのサーバーに対して、クライア

FreeBSDなら初期費用プラス1万円以下ですべント側からHTTPプロトコルを使って100個のフてがそろってしまうのだ。

ァイルを読みこむプログラムを同時に10プロセ
ス走らせてみた。これを10回行って全プロセス

眠れるマシンがよみがえる

うだろうか。

（表1）

ウィンドウズNTサーバーの場合
OS
約10万円
BIND 4.9.5 for NT（DNS）
無料
Sendmail with POP3（メール） 89,800円
合計
約20万円
FreeBSDの場合
無料
OS（CDは4〜6,000円）
各種サーバーソフトウェア
無料
合計
0円〜6,000円
■動作環境

（表2）

ウィンドウズNTサーバー
CPU
486/25MHｚ以上
メモリー
16MB以上ハードディスク
175MB以上
FreeBSDCPU
386SX以上
メモリー
5MB以上
ハードディスク
60MB以上にかかる時間の平均を出したのが表3だ。結果
は、NTサーバー4.0のほうが約1秒ほど速かったが、10万円と無料の差が誤差の範囲ともいえサーバーソフトウェアを動かすためのPCはど■サーバーソフトウェアの価格

るわずか1秒。性能に関しても十分に信頼のお

■性能比較

（表3）

ウィンドウズ
NTサーバー
FreeBSD

けるOSであることがお分かりだろう。

86.11
87.39
0

20

40

60

マイクロソフト社のウェブサイトには、ウィンドウズ N T サーバーの動 作 環 境 が 4 8 6 ／25MHz以上のCPUと16Mバイト以上のメモリ

UNIXはむずかしくない？

ーと記述されているが、実際に運用するためには少なくともペンティアム166MHz のCPU に
64Mバイトのメモリーは必要だろう。

80
単位：秒

のだ。いくつかのコマンドを覚えたとたんにこのUNIXといえばむずかしいものの代名詞のよOSがいかに使いやすいものかが分かるはずだ。

うで抵抗がある人も多いはずだ。はっきりいっ

さらに、サーバーソフトウェアの設定ファイ

これに対してFreeBSDの動作環境は驚くほて初 めてU N I X に触 るという人 にとっては、

ルを自分で編集するという作業は、面倒な反面

ど低スペックであることが分かる（表2）。今回

FreeBSDでのサーバー設定は楽じゃない。ウィネットワークの仕組みが手に取るように分かっの記事のために編集部で立ち上げたサーバーマ

ザードが対話的に設定を進めてくれるウィンドウてくるというメリットがある。実際に設定しな

シンは、486DX2-66のCPUに16Mバイトのメズと比べると確かに「むずかしそう」に見える。

がらこの記事を読んでいくうちに、今よりもイ

モリーという古い仕様にもかかわらず、すべてでもちょっと待ってほしい。初めてウィンド

ンターネットが身近に感じるようになるはずだ。

のサーバーが同時に起動しても実に快適にかつ

ウズやマッキントッシュに触ったときのことを思高性能なOSやサーバーソフトウェアが無料

安定して動いた。

い出してほしい。おそらく何がなんだかさっぱで使える。その上、ネットワークが本当に理解もし、ウィンドウズ95が満足に動かないよう

りわからなかったはずだ。そう、UNIXは決してできる。これだけでもFreeBSDにチャレンジしな古いPCが押し入れに眠っていたら、この機会

むずかしくはない。ただ、慣れていないだけなてみる価値は大いにあるはずだ。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

233

サーバーソフトウェアを動かす準備をしよう

h これさえ乗り越えればあとはワンダーランド
さて、さっそくサーバーの設定といいたいところだが、その前にFreeBSDで各種のサーバーソフトウェアを動かすための準備をしておこう。FreeBSDのインストールに関してはページ数の関係上ここでは詳細について触れない。その代わりに有益な情報を多く盛り込んだ。困ったとき、何かの設定でつまずいたとき、ここで紹介した情報が必ず役に立つはずだ。

2.2.1のCD-ROMと日本語インストーラーに対

インストールには運不運がある
FreeBSDのインストールがスムーズにいくかどうかは、自分の持っているPCがどんなハードているハードウェアのI/O アドレスやIRQ 番号と、自分のマシンのそれとがぴったり一致した

FreeBSD 2.2.5-RELEASE収録先：
ナビゲーターCD【B】
標準的なインストールの手順は410ページ参照のCD-ROMを購入する方法だ。

応したブートフロッピー付きで3,600円はお徳

最新のCD-ROMは米国WalnutCreek社のもだ。「単なるインストール本ではない」のキャッのがhttp://www.cdrom.com/からオンライン

チフレーズどおり、これだけでFreeBSDの基本で購入できるほか、日本ではこれに加えてパシは一通りマスターできるはずだ。

フィック・ハイテック株式会社製のものが下記

ウェア構成になっているかで決まる。インスト
ール時に使用するブートフロッピーで設定され+CD-ROMのショップなどで発売されている。また、2月

FAQやメーリングリストを利用しよう

21日にLASER5出版局から日本語環境がイン
ス ト ー ル 後 す ぐ に 使 え る 「 FreeBSD 2.2.5
COMPLETE PACKAGE」が発売されたばかり

場合はなんの問題もなくインストールできる。

「FreeBSD徹底入門」を読んでもまだ解決ししかし、一致しない場合は自分のPCのハードない問題がある。そんな場合は、「FreeBSD友ウェアを調べて、ブート時にI/OアドレスとIRQの会」のホームページにアクセスしてみよう。

●FreeBSDの入手先

番号を変更しなくてはならない。

ここにはFreeBSDに関するさまざまなテーマに

jftp://ftp.freebsd.org/pub/FreeBSD/だ（プレゼントコーナー参照）。

特に問題となるのは、CD-ROMドライブとついてのメーリングリストや、これまでに寄せら●秋葉原にあるおもなFreeBSD販売店

イーサネットカードが認 識 できない場 合 だ。

れた質問をまとめたFAQなどが用意されている。

CD-ROMが使えなくてはインストールができな

特に貴重な情報としては、「FreeBSDが標準

いし、ネットワークに接続するためのイーサネでサポートしていないハードウェアを使えるようットカードを認識しなければサーバーとしてのに設定できた」などのユーザーからの投稿だ。

■ぷらっとホーム（通信販売あり）
地図：http://www.impress.co.jp/
akibamap/map/map_00.html
ブロック【B3】
jhttp://www.plathome.co.jp/

機能を果たせないからだ。使用しているハード

たいていのハードウェア名はどこかに掲載されウェアがFreeBSD2.2.5でサポートされていないているので検索を駆使して探してみよう。

という最悪のケースもありえる。

なお、メーリングリストに入会して質問を送

本誌CD-ROMに収録のFreeBSD 2.2.5のイ
ンストールの仕方については、410ページで解■LASER5秋葉原店（通信販売あり）
地図：http://www.cdrom.co.jp/shop/

jhttp://www.cdrom.co.jp/

る際には必ずFAQを見て過去に誰かが同じ質問をしていないかをチェックしよう。

説しているので、とりあえず手順どおりに進めてみてほしい。これでうまくいった幸運な人はlFreeBSD友の会ホームページ

次のページに進もう。うまくいかなかった人は

jhttp://www.jp.freebsd.org/

以下に紹介するいずれかの方法を試してみてほ
しい。

最新のFreeBSDを入手しよう「FreeBSD徹底入門」を入手しよう

2月5日現在のFreeBSD正式版の最新バージ

FreeBSDのインストールには、これだけで1

ョンは本誌CDに収録の「2.2.5-RELEASE」だ

冊の本ができてしまうほど多くのバリエーショ

が、今後も頻繁にバージョンアップしていくはンとTIPSが存在する。CD-ROMが使えない場ずだ。そして、バージョンが上がるたびにサポ合の対処方法やFTPサイトからネットワーク経ートされるハードウェアも増えていく。現バー由でインストールする方法など、とてもこのペジョンでのインストールがうまくいかなくても、ージだけでは解説しきれない。

次のバージョンでは問題なくインストールでき

そこで、数あるFreeBSDのインストール解説ることがあるのだ。

本の中から編集部おすすめの1冊を紹介しよう。

最新のFreeBSDを入手する方法は2種類。1

株 式 会 社 翔 泳 社 から出 版 されている「F r e eつは下記のFTPサイトなどからネットワーク経

BSD徹底入門」を入手してほしい。FreeBSD

由でダウンロードする方法。もう1つは、最新

234 INTERNET magazine 1998/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

FreeBSD徹底入門（上）PC-AT互換機版 （下）PC98版
発行：株式会社翔泳社
価格：各3,600円（＋税）リストA●

portsを使ってソフトウェア
をインストールしよう# cp/cdrom/ports-current/apache/usr/ports/www/apache# cp/cdrom/ports-current/popper/

usr/ports/mail/popper

ソースコードがアップデートされ場合、これを# make install

インストールするためのportsも新しくする必要

FreeBSDのソフトウェアのインストールには何を実行する。この際 に、「/usr/ports/distfiles」

種類かの方法がある。ここでは、手軽であることにtarballがなければ「/cdrom/ports/distfiles」

から「ports」というインストールを簡易化するパ（CD-ROM内）を探し、ここにもなければ自動ッケージを使った方法を紹介する。

的にFTPサーバーからダウンロードする。

がある。最新のportsは

ftp://ftp.jp.freebsd.org/pub/
FreeBSD/ports-current/

まず、rootでログインする。FreeBSDのセット

なお、今回の記事で紹介するサーバーソフト

以下からダウンロードできる。インターネッ

アップ時にportsをインストールしていない場合は、ウェアのインストールに必 要 なt a r b a l l は、トに接続していれば、portsの入手後に先に解「 q p o p p e r 」 を除 いてすべてC D - R O M の説した手順で「# make install」コマンドを実「/ports/distfiles」に収録してある。これを使行するだけで、適切なFTPサーバーから最新のを実行して「Configure」→「Distributions」→

うために、CD-ROMを「/cdrom」としてマウ

ソースコードが自動的にダウンロードされる。

「Custom」→「ports」を選び、portsのインスト

ントしておこう。次のコマンドを実行する。

# /stand/sysinstall

ールを済ませておこう。

今 回 の記 事 では、 W W W サーバーソフト「apache」とPOP3サーバー「qpopper」はと# mount /cdrom【/cdromをマウントする】

もに最新のバージョンを使用するため、C D -個別のインストール方法は各章に記述してあportsを使ったインストールは、通常「/usr/
ports/distfiles」に「tarball」（ソースコードを集めて1つのファイルにしたもの）を入れておき、れを既存のものと置き換えておこう。

【最新のportsを入手しよう】

うえで、リストAのコマンドを実行する。

CD-ROMを「/cdrom」としてマウントした

この記事で紹介したサーバーソフトウェアのそれぞれのportsディレクトリー内で→「save changes」）。

# cd /usr/src/sys/i386/conf「カーネル」を作り直そう
F r e e B S D ではオペレーティングシステム（OS）の中核となる部分を「カーネル」と呼ぶ。
システムに変更があった際には、管理者はカーネルを変更してコンパイルし、新しいカーネ

汎用の設定ファイル「GENERIC」を適当な次に、設定ファイルに対応したコンパイル処

ファイル名でコピーする。通常は自分のホスト

理を制御する「Makefile」を作成するために、

名（ここではKURAZONO）などを使う。

次のコマンドを実行する。

# cp GENERIC# config KURAZONOKURAZONO

ファイルの編集は「vi」や「ee」コマンドでルに作り変えることができる。
今回の記事で紹介するサーバーソフトウェアの中には、カーネルを作り直しておかなければ使えないものがある。ここでこの記事に必要な設定をすべて済ませておこう。まず、rootでログインして作業をする。

【パッチを当てる】
今回の記事ではマック用のファイルサーバー「netatalk」を使うため、カーネルにパッチを当てる必要がある。
CD-ROMを「/cdrom」にマウントして次の行うが、viの使い方が分からない場合は「ee」を使おう。次のコマンドを実行する。

この設定ファイルには、各種デバイスの設定

カーネルが作られたら、新しいカーネルと今やカーネルオプションの選択が書かれている。

までのカーネルとを入れ替える。次のコマンド

これを編集して適切な設定にする。まず、カーを実行する。

ネルの識別子が書かれた行（ident）を探し、新しく付けたファイル名に変更しておく。

ident

マンドを実行してFreeBSDを再起動しよう。

# reboot
古 いカーネルは「 / 」 ディレクトリーに（netatalkでは、次の1行を追加）「kernel.old」というファイル名で保存される。

options

再起動の際に新しいカーネルで動作しなくなっ

NETATALK【カーネルの再コンパイルをする】

た場合には、こちらを指定して起動すればよい。

（DHCPでは、次の1行を追加）
カーネルの再コンパイルには、まずカーネルの設定ファイルの作成から始める。カーネルの# make install
以上でカーネルの作り直しは完了だ。次のコ

KURAZONOに、下に示す行を追加する必要がある。

# cd /usr/src/sys# patch < /cdrom/updates/atalk.diff.2.2

Makefileが作成されるので、コンパイル用ディレクトリーに移ってコンパイルを行う。

# cd ../../compile/KURAZONO# make depend ; make（ フ ァ イ ル 名）
# ee KURAZONO（

今回の記事では、netatalkとDHCPを使う際コマンドを実行する。

システムのブート時に「Boot:」が表示された

pseudo-device bpfilter

4

conf」

この2 行 を追 加 したらファイルを保 存 する

ディレクトリーにあるので、ここに移動しよう。

（eeなら「Esc」キーを押して「leave editor」

設定ファイルは「/usr/src/sys/i386/

ROMにportsの最新バージョンを収録した。こるのでそれを参考にしてほしい。

ら次のコマンドを実行する。

Boot: /kernel.old

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

235

ネットワークプランを立てよう!!
h ルーターとホストの設定

OCNエコノミーを申し込んでしばらくすると、NTTから「契約内容のご案内」が送られてくる。そこには、NTTから契約者に割り当てられたIPアドレスやセカンダリーDNSサーバーの情報が書かれている。
最初にしなければならないのは、それらの情報をもとに自分のネットワークの構成を考え、IPアドレスなどの割り当てを行うことだ。

OCN

MN128-SOHO

router
203.139.162.225＊MN128-SOHO/DSU
ns
203.139.162.226

win95
203.139.162.227

mac
203.139.162.228

発売元：㈱エヌ・ティ・ティ・テレコムエンジニアリング東京
製造元：㈱ビー・ユー・ジー
価 格：69,800円

り」の状態を描くことだ。ここでは上の図で示すように、論 理 的 な1 つのイーサネット上 にFreeBSDのサーバーホスト、ウィンドウズ95のホスト、マッキントッシュのホストがあり、さらにルーターとしてNTT-TE東京のダイアルアッ〜

最初の作業はネットワークの設計をすること。つまり、OCNに接続したあとの「できあが

1
2
3
4
5
6

IPアドレス
203.139.162.224
203.139.162.225
203.139.162.226
203.139.162.227
203.139.162.228
203.139.162.229

・
・
・
・

表1.

自分だけのネットワーク
設計図を作る15 203.139.162.238
16 203.139.162.239

対 象
ネットワークアドレス
MN128-SOHO ルーター
FreeBSD PC-UNIXサーバー
ウィンドウズ95
マッキントッシュ

ホスト名

役 割

router
ns
win95
mac

デフォルトゲートウェイとなる
DNSやメール等のサーバーとなる

ブロードキャストアドレス＊上記のIPアドレスは、OCNの「DNSサーバ設定方法」で使用されているものを流用した。実際にはNTTから送付される「契約内容のご案内」を参照して自分に割り当てられたものに変更する。

プルーター「MN128-SOHO」を使ってOCNへ接続する、という構成を目指すことにする。そトワークアドレスとして「203.139.162.224」、

利用可能なIPアドレスが分かったら、ホスト

して、FreeBSDホストでDNSやメールなどのサ「サブネットマスク」として「255.255.255.240」

への割り当てをしよう。ここでは表1に示すようーバーソフトウェアを稼動させることにする。

というように指定されている。

に3台のホストにIPアドレスを割り当て、それぞ

3台のホストとルーター以外に必要な機材は、

DNSサーバーを自分で用意する場合、サブ3台のホストに取り付けるネットワークカードとネットマスクは通 常 上 記 に示 す「2 5 5 . 2 5 5 .

10Base-Tのイーサネットケーブルぐらいなもの

255.240」が割り当てられる。これは28ビット

なお、DNSサーバーとなるホストの名前は、だ。ハブに関してはMN128-SOHOは3ポート分のサブネットマスクであり、最後の4ビットの部

OCN申し込み時に記入した名前を用いる必要のイーサネットハブを内蔵しているので、3台ま分の「1」・「0」の組み合わせによって、合わがある。またこのホストのIPアドレスは、NTT

でなら別に用意する必要はない。

せて全部で16個のIPアドレスを生み出すことがからの「ご案内」に記された「プライマリDNS

ネットワークの設定でもっとも重要なのはIPできるわけだ。上記の例では、最後の4ビット

IPアドレス」を割り当てなければならない。

アドレスである。契約後にNTTから送られてくがすべて「0」のときの「203.139.162.224」

以降の例では、申請して割り当ててもらったる「契約内容のご案内」には、割り当てIPアド

から、4 ビットがすべて「1」のときの「201.

ドメイン名を「kurazono.co.jp」と仮定して話レスとして「ネットワークアドレス」と「ネッ

139.162.239」までの16個が、利用可能なIPを進める。

トマスク」が指定されている。たとえば、ネッ

アドレスとなる。

236 INTERNET magazine 1998/4

れns、win95、macという名前を付けることにする。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

IPアドレスを割り当てる＜MN128-SOHOの設定＞
MN128-SOHOは初期状態でDHCP機能がネットワークの設計が終わったら、実際に各ホストの設定作業に移る。ここでは、ルーター、オンになっているので、この状態でWWWブラ
ウザーから設定するのが手っ取り早い。

FreeBSD、ウインドウズ95、マッキントッシュのすべての作業は「詳細設定」で行う。まず設定作業をそれぞれ見ていこう。なお、それぞれ「ISDN設定」で回線種別を専用線128Kにし、ルーターの設定が終わったら、電源を入れ直のクライアントマシンにはTCP/IPプロトコルな「接 続 / 電 話 登 録 」の「# 0 」で接 続 モードをしておく。MN128-SOHOをOCNエコノミーでどの必要なソフトウェアはすでにインストール

LAN型接続にする。

利用する場合の詳しい説明が設定時のオンライされていることが前提となる。また、DNSサー

次に「IP設定」に行き、オプションの欄へのバーの指定では1つのDNSサーバーしか指定しデフォルトルートの書き込みと、オンになっていていないが、OCNから知らされたセカンダリー

るDHCPサーバー機能などをオフにする。最後サーバーのアドレスも指定するほうがよりよい。

にIPアドレスとサブネットマスク長を書き込む。

＜ウィンドウズ95＞

今回の例では「203.139.162.225/28」となる。

ンヘルプに載っているので、参考にするとよい。

ネットマスクに「255.255.255.240」を入れる。

ウィンドウズ95ホストで必要な作業は、IPア「ゲートウェイ」タブでは、ルーターのアドレ

ドレス、デフォルトゲートウェイ、DNSの3つスを登録する。今回の例では、MN128-SOHOを設定することだ。いずれも、「コントロールパのIPアドレスである「201.139.162.225」を入ネル」の「ネットワーク」の中の「TCP/IPのれる。

プロパティ」で行う。

最後は「DNS設定」タブだ。「DNSを使う」「IPアドレス」タブでは、IPアドレスを自分でを選び、ホスト名、ドメイン名、DNSサーバー

指定するほうを選ぶ。そしてたとえば今回の例でなどを指定する。以上を設定して再起動すれば、は、IPアドレスに「201.139.162.227」を、サブ完了だ。

＜マッキントッシュ＞

ドレス、ネームサーバーアドレスをそれぞれ入

ここではMacOS 8を例にとって説明する。

力する。

必要な作業はウィンドウズ95と同様にIPアドレ

さて、 コントロールパネルにあるのがス、ゲートウェイ、DNSの設定である。

「TCP/IP」ではなく、「MacTCP」だという方「コントロールパネル」の「TCP/IP」で表示もいるはずだ。表示されるウィンドウは異なる

さ れ た ウ ィ ン ド ウ で 、「 経 由 先 」 と し てが、行うべき設定はまったく同じだ。アドレス

Ethernetを選び、さらに「設定方法」として取得を「マニュアルで」にして、IPアドレス、手入力を選ぶ。

サブネットマスク、ゲートウェイアドレス、ネIPアドレス、サブネットマスク、ルーターア

ームサーバー情報を入力すればよい。

＜FreeBSD＞のインストール時のネットワーク設定と同様のFreeBSDでのネットワークの設定は、インス画面である。この中から、イーサネットインタ

トール時に行える。また、インストール時に行わーフェイスのデバイスを選ぶと、そのインターなくても、インストール後「/stand/sysinstall」

フェイスの設定画面となる。

コマンドで行うこともできる。
sysinstallを起動した場合、「Configure」、「Networking」、「Interfaces」、「No」と進む

ここで設定するのは、ホスト名、ドメイン名、
ゲートウェイ、ネームサーバー、IP アドレス、
ネットマスクなどである。

（それぞれ項目を選択して「スペース」キーを押

ホスト名は、ドメイン名を付けた完全な形のす）と、ネットワークインターフェイスデバイ

ものを指定する。設定はGUIベースなので、難スの選択画面となる。この画面は、FreeBSDなく行えるはずだ。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

237

DNSサーバーを作ろう

hIPアドレスとドメイン名のマッピング

さて、ここから本格的なネットワークの設定が始まる。UNIXのコマンドを使って設定ファイルを編集していくわけだ。最初は暗闇の中を明かりもつけずに歩いているような不安を感じるかもしれない。でも、ここでの設定さえ終われば、NTTに「DNSの設定が完了しました」と電話をして、いよいよネットワークが開通する。お楽しみはこれからだ。

からネットワーク上で必須なIPアドレスを検索

DNSサーバーの役割したり、反対にIPアドレスからドメイン名を検索したりといった作業を行ってくれるのがDNS

OCNエコノミーで独自ドメインを利用する場

サーバーである（これをマッピングと呼ぶ）。マ合、まず最初に用意しなければいけないのがッピングには、ドメイン名からIPアドレスを得

DNSサーバーだ。DNSは「ドメイン・ネーム・る正引きと、IPアドレスからドメイン名を得るシステム」の略。

逆引きがある。DNSサーバーは、自分が管理す

インターネットに接続するホストには、世界中べき範囲（これをゾーンと呼ぶ）のすべてのホで一意のIPアドレスを割り当てる。このIPアドレ

ストの情報を保持し、クライアントからの要求

スをもとにデータのやり取りを行っているわけだ。

に回答する。

しかし、IPアドレスは数字の並びのため覚えにく

また、DNSサーバーは、単にマッピングをす

く、間違いやすいので、文字による表記のドメイるだけでなく、メールの配送先の指定などにもン名が用いられている。たとえば、インプレスの用いられる。

ウェブサーバーのIPアドレスは192.218.90.1であFreeBSDには、BINDと呼ばれるDNSサーバ

るが、ほとんどの人はwww.impress.co.jpしかーが初めから用意されている。ここではBINDの気にしなくていいはずだ。

設定を見ていくことにする。

OCN

DNSサーバー
MN128-SOHO

ns.kurazono.co.jp
203.139.162.226

win95.kurazono.co.jp
203.139.162.227

この、人間にとって分かりやすいドメイン名

サーバー用
設定ファイルFreeBSDでの設定//etc

named.boot/namedb

DNS の設定・運用に関係するファイルは、右図に示したとおりである。DNSサーバーとな

named.root

るホストは、同時にDNSクライアントでもある。
そのため、サーバーとして必要なファイルだけ
でなく、クライアントとして必要なファイルもkurazono.zone

クライアント用
設定ファイルある。
クライアント用 のファイルとしては、まず「/etc/host.conf」がある。これは、ドメイン名

host.conf

203.139.162.224.zone

resolv.conf

127.zoneとIPアドレスのマッピング方法と、その適応順序を記述するファイルである。もう1つのクライ
アント用のファイルに「/etc/resolv.conf」が＊緑色のファイルは編集が必要ある。これは、問い合わせるDNSサーバーの指定を行うファイルだ。
サーバー用のファイルのうち、設定ファイル
はすべて「/etc/namedb」というディレクトリ

というファイルがある。これはルートネームサー

ためのファイル、逆引きマッピングのためのフバーと呼ばれる世界中のおおもととなるサーバ

ァイル、ループバックアドレスの逆引きのためーを示したファイルだ。

のファイルである。

ーに置く。このディレクトリーにはあらかじめ

この2つのファイルのほかに管理するゾーンの設定ファイル以外に必要なファイルとして「named.boot」のサンプルと、「named.root」

情報を記述したファイルをいくつか用意する必は、「/etc/rc.conf」と「/etc/rc.network」フが入っている。まず基本となるのが「named.

要がある。今回の例のような比較的単純なネッ

ァイルがある。これらは、システムの起動時にboot」だ。これはDNSサーバーが起動するとき

トワーク構成の場合、3つのファイルを用意す利用されるファイルで、ネームサーバーへのフに参照するファイルである。次に「named.root」

ることになる。それらは、正引きマッピングのラグの指定や、実際の起動を行っている。

238 INTERNET magazine 1998/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

リスト2●「named.root」

リスト1 ●「named.boot」
1項

2項

3項

1行

directory/etc/namedb

2行

cache

.

named.root

3行

primarykurazono.co.jp

kurazono.zone

4行

primary224.162.139.203.in-addr.arpa

203.139.162.224.zone

5行

primary0.0.127.in-addr.arpa

127.zone

が管理を行うゾーンの指定と、そのゾ

named.boot
ファイルの編集ーンの情報が入っているファイルの指定だ。最初の項目である「primary」

DNSサーバーの設定として、まず最初に行うは、このサーバーがそのゾーンに対す作業は、named.bootファイルの設定である。

るプライマリー（主、あるいは一次）

このファイルは、DNSサーバーの動作を指定すサーバーとなることを意味している。

る初期設定ファイルで、起動時に読み込まれる。

第2項目の管理するゾーンの指定では、

F r e e B S D をインストールすると、「 / e t c /ドメイン名を入れる。

namedb」ディレクトリーの中にDNSサーバー

3行目の例では、kurazono.co.jpを

関 係 のファイルが用 意 されている。n a m e d .

指定している。

bootファイルのサンプルも、ここに入っている。

第3項目がファイル名である。この3

とりあえずは、リスト1の「named.boot」を行目は、ドメイン名からIPアドレスへ

見てほしい。用意されているサンプルには、説のマッピング、すなわち正引き用のも明のために多くのコメントが入っているが、このである。

こではそれらを省いて必要最小限の5行のみを示

4行目と5行目のドメイン名表記は、している。設定ファイルでは、それぞれの行が見慣れた形式のものとは異なる。これ

DNSサーバーに対する指示を表している。以下

は、逆引き用のゾーン指定の表記を表に順番に見ていく。

している。

1行目では、これ以降で指定されているファ

4 行 目 は、 ネットワークアドレス

イルがどのディレクトリーに入っているかを示し（236ページの表参照）の前後を逆にている。初期設定のまま、「/etc/namedb」をして、その後ろに「in-addr.arpa」を指定しておけばよい。

付けて記述する。

2行目は、キャッシュの指定である。2項目のインターネットでは、ループバック「.」を忘れてはいけない。3 項目の「named.

ネットワークとローカルホスト

root」はファイル名で、この中に情報が入って（localhost）が定義されている。ルー

いることを示している。このファイルは、すでにプバックネットワークのネットワークア

用意されているものを用いればよい。ちなみに、ドレスは127.0.0で、ローカルホストの

中身はリスト2の「named.root」のようになっIPアドレスは127.0.0.1である。インタている。これは、世界中のルートネームサーバ

ーネットのどのホスト上 でも、ーをリストしたもので、全部で13個のサーバー

127.0.0.1は常にそのホスト自身を意が示されている。この内容は時々変わることが味している。これらのアドレスの逆引あるので、常に新しいものを用意する必要があき用ゾーン指定が、5行目ということる。ファイルの入手は、「ftp://ftp.rs.internic.

になる。ネットワークアドレスである

net/domain/named.root」から行う。

127.0.0の前後を入れ替えて0.0.127と3行目、4行目、5行目が、このDNSサーバー

し、その後ろにin-addr.arpaを付ける。

「named.bootの編集」

11）rootでログイン
2）# cd /etc/namedb ･･「namedb」ディレクトリーに移動
3）# ls ･･･････････････････「namedb」ディレクトリーの中身を表示
4）# ee named.boot ････「named.boot」ファイルを編集;
This file holds the information on root name servers needed to;initialize cache of Internet domain name servers;(e.g. reference this file in the "cache . <file>";
configuration file of BIND domain name servers).
;;
This file is made available by InterNIC registration services;
under anonymous FTP as;
file/domain/named.root;
on server
FTP.RS.INTERNIC.NET;-OR- under Gopher at
RS.INTERNIC.NET;
under menu
InterNIC Registration Services (NSI);
submenuInterNIC Registration Archives;
file
named.root;;
last update:Aug 22, 1997;
related version of root zone: 1997082200;;; formerly NS.INTERNIC.NET;.
3600000 IN NS
A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.
3600000
A
198.41.0.4;; formerly NS1.ISI.EDU;.
3600000
NS
B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.
3600000
A
128.9.0.107;; formerly C.PSI.NET;.
3600000
NS
C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.
3600000
A
192.33.4.12;; formerly TERP.UMD.EDU;.
3600000
NS
D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.
3600000
A
128.8.10.90;; formerly NS.NASA.GOV;.
3600000
NS
E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.
3600000
A
192.203.230.10;; formerly NS.ISC.ORG;.
3600000
NS
F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.
3600000
A
192.5.5.241;; formerly NS.NIC.DDN.MIL;.
3600000
NS
G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.
3600000
A
192.112.36.4;; formerly AOS.ARL.ARMY.MIL;.
3600000
NS
H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.
3600000
A
128.63.2.53;; formerly NIC.NORDU.NET;.
3600000
NS
I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.
3600000
A
192.36.148.17;; temporarily housed at NSI (InterNIC);.
3600000
NS
J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.
3600000
A
198.41.0.10;; housed in LINX, operated by RIPE NCC;.
3600000
NS
K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.
3600000
A
193.0.14.129;; temporarily housed at ISI (IANA);.
3600000
NS
L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.
3600000
A
198.32.64.12;; housed in Japan, operated by WIDE;.
3600000
NS
M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.
3600000
A
202.12.27.33; End of File

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

239

正引きゾーン
ファイルの編集

4NSレコードと呼ばれ、DNSサーバーの指定

これ以降の行では、パターンがだいたい決まを意味する。最初の行は当然ながら今設定っている。まずホスト名に対してIPアドレスを中のホスト名となる。この下の行はOCNが付けるためのAレコードがあり、それに続いてゾーンファイルの説明に入る前に、重要な点を1つ確認しておこう。ゾーンファイルの記述で知らせてきたセカンダリーDNSサーバーを指MXレコード、HINFOレコード、CNAMEレコ定する。

ードが続くという形だ。ホスト名まで指定しては、ピリオド1つの有無によってまったく動作が5 アドレスを指定するA レコード。ここでは、異なってしまうので、注意が必要である。基本

DNSサーバーを稼動するこのホストのIPアド

的に、ピリオドで終われば記述したままの形でレスを指定している。これは、ホスト名を付

HINFOレコードでは、そのホストのハードウ取り扱われるが、最後にピリオドを付けないとけずにドメイン名だけを検索したときに返す

ェアやソフトウェアの情報を記述する。ここできは、その時点でのデフォルトのゾーン名が後IPアドレスとなる。この例では、kurazono.

はこの情報はコメントとしてのみ扱うように、ろに置かれることになる。

co.jpへの参照はns.kurazono.co.jpへの参行の先頭に「;」を入れている。

メールを送ることがないときは、各ホストに対するMXレコードはなくてよい。

照とみなすことになる。
リスト3の「kurazono.zone」が、正引き用

6MXレコードといい、メールの配送先の指定のkurazono.zoneゾーンファイルだ。このファをする。ドメイン名にkurazono.co.jpが指イルは新規に作成する。次のコマンドを実行し定されたメールは、この指定に従って、ns.

て設定を記述する。

逆引き用ゾーン
ファイルの編集

kurazono.co.jpに送られる。

# ee kurazono.zone

次は逆引き用ゾーンファイルである。これも7ローカルホストのアドレス指定。ローカルホ

新規に作成する。リスト4 の「203.139.162.

ストに対する正引きは、ほとんどの場合ゾー

224.zone」を見てほしい。ファイルの最初の部

1ホスト名を書く。最後はピリオドで終わらせる。

ンとしては独 立 させずに、 このように分は、正引き用と同様である。違うのは9のと2管理者のメールアドレスの「@」を「.」に変え

kurazono.co.jpゾーンの中で行う。

ころで、これはドメイン名ポインターを意味すたものを書く。最後はピリオドで終わらせる。

8CNAMEレコード。別名の指定を意味しているPTRレコードである。この例では、ゾーン名

3シリアル番号。DNSではこの番号をもとにデる。ここではloghostという別名を用意し、である224.162.139.203.in-addr.arpaに対しータの新旧を判断している。そのため、ゾー

それが実際にはlocalhostだということを指て、kurazono.co.jpへのポインタを作っている

ンファイルに変更を加えたら、必ずこの値を定している。

ことになる。
qは、習慣的にネットマスクを入れているが、増加させなければならない。

これはなくても問題ない。あとは、各ホストのリスト3 ●「kurazono.zone」
@

IN

SOA

IPアドレスの最下位部とホスト名とのPTRレコ

1 ns.kurazono.co.jp. root.ns.kurazono.co.jp. (; Serial
2
3 199802011
3600; Refresh
300
3600000
86400 )のマッピングが定義されることになる。wはこのネットワーク全体を表すドメイン名。通常は「xxx-net.xxx.co.jp」の形式で記述する。

NSNS

ns.kurazono.co.jp. 4
ns-tk011.ocn.ad.jp.

IN
IN

A
MX

203.139.162.226 5
10
ns.kurazono.co.jp. 6

localhostloghost

IN
IN

A
CNAME

127.0.0.1
localhostrouter
;

IN
IN

A
HINFO

203.139.162.225
ISDN-ROUTER MN128-SOHO

ns

IN
IN
IN
IN
IN
IN
IN
IN

A
MX
HINFO
CNAME
CNAME
CNAME
CNAME
CNAME

203.139.162.226
10 ns.kurazono.co.jp.
INTEL
FreeBSD2.2.5
ns
ns
ns
ns
ns

IN
IN
IN

A
MX
HINFO

203.139.162.227
10 ns.kurazono.co.jp.
INTEL
Windows95

IN
IN
IN

A
MX
HINFO

203.139.162.228
10 ns.kurazono.co.jp.
MACINTOSHMacOS8

win95
;
mac
;

240 INTERNET magazine 1998/4があるおかげで、IPアドレスからドメイン名へ; Retry; Expire; MinimumIN
IN;
serverwwwftp
mailmailhost

ードを記述するだけだ。これらのPTRレコード

リスト4 ●「203.139.162.2240.zone」
@

IN

SOA

ns.kurazono.co.jp. root.ns.kurazono.co.jp. (199802011; Serial
3600; Refresh300; Retry
3600000; Expire
86400 ); Minimum

IN
IN

NS
NS

ns.kurazono.co.jp.
ns-tk011.ocn.ad.jp.

IN
IN

PTR
A

kurazono.co.jp.
255.255.255.240

PTR
PTR
PTR
PTR
PTR

kurazono-net.kurazono.co.jp. w
router.kurazono.co.jp.
ns.kurazono.co.jp.
win95.kurazono.co.jp.
mac.kurazono.co.jp.

7
8

224
225
226
227
228

IN
IN
IN
IN
IN

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

9qリスト5 ●「127.zone」
@

IN

SOA

ns.kurazono.co.jp. root.ns.kurazono.co.jp. (199802011; Serial
3600; Refresh300; Retry
3600000; Expire
86400 ); MinimumINNS

ns.kurazono.co.jp.

IN
IN

PTR
PTR

loopback-net.
localhost.

ループバックの逆引き用
ゾーンファイルの編集
最後は、ループバックの逆引き用ゾーンファ
イルである。これも新規に作成する。リスト5の「127.zone」を見てほしい。このゾーンのセ

0
1

13

e

カンダリーサーバーになるDNSはないので、ここではNSレコードは自分自身のみで問題ない。
PTRレコードも、必須なのはeのlocalhostのみである。 例で示してある0のPTRレコード
13（あ）は、ループバックネットワークに名前を付ける意味を持つ。

自動スタートの設定
すべての設定ファイルの準備ができたら、システムの立ち上げ時に自動的にDNSサーバーが起動するように、「/stand/sysinstall」コマンドを使って設定する必要がある。sysinstallを起

リスト6 ●「host.conf」# $Id: host.conf,v 1.2 1993/11/07 01:02:57 wollman Exp $# Default is to use the nameserver firstbind# If that doesn't work, then try the /etc/hosts filehosts
# If you have YP/NIS configured, uncomment the next line# nis
リスト7 ●「resolv.conf」

domainkurazono.co.jp
nameserver 203.139.162.226
nameserver 203.139.160.69

動後「Configure」に進み、さらに「Startup」に進むと、「named」と「namedflags」というメニューが出る。namedをオンにし、namedflags

め用意されているので、とくに行う作業はない。

で「-b /etc/namedb/named.boot」と指定す

もう1つのファイルは「/etc/resolv.conf」

ると、/etc/rc.confファイルの中の変数に値がで、DNSサーバーの検索方法を指定するものだ。

設定され、システムの立ち上げ時に/etc/rc.

ネットワークの設定を行うと自動的にファイル

network内に書かれたnamedプログラムが起動が作成されるが、実際の運用ではさらに設定をするようになる。

追加する必要がある。
とりあえずリスト7の「resolv.conf」を見てほしい。最初の「domain」行はローカルドメ

DNSクライアントとしての設定インを定義している。ピリオドの入っていない
ホスト名が使われた場合、このドメイン内のホ

DNSクライアントとしての設定は、ファイル2つのみである。

スト名と解釈される。
「nameserver」行は、問い合わせるDNSサ

バーのIPアドレスである。DNSサーバーへのア

まずはマッピングの方法とその順序を決める

ーバーの指定である。最初のアドレスはこのホ

クセスは、ここに書かれた順に行われる。なお、「/ e t c / h o s t . c o n f 」ファイルだ。リスト6 の

スト自身のIPアドレスであり、2番目のアドレ

自分自身のIPアドレスのところは、ローカルホ「host.conf」に示す内容のファイルがあらかじ

スはOCNが知らせてきたセカンダリーDNSサーストを示す127.0.0.1を書いてもよい。

動作確認をしてみよう
サーバーとクライアントの設定が終わったら、さっそく動作確認する。DNSの確認には、nslookupコマンドを用いるとよい。
必要な確認項目は、以下のとおりである。
（1）自ドメイン内のホストのホスト名を入れて、IPアドレスが返されることを確認（たとえばwin95）
。
（2）
（1）
のホスト名の代わりに完全なドメイン名まで入れてみる（win95.kurazono.co.jp）。
（3）自ドメイン内のホストのIPアドレスを入れて、ホスト名が返されることを確認。
（4）自ドメイン以外のホスト名を入れて、IPアドレスが返されることを
確認。
（5）
（4）
のIPアドレスを入れて、ホスト名が返されることを確認。

ここで「set type=mx」と入力し、以降はMXレコードを検索するように指定する。
（6）自ドメインの名前を入れてみる（たとえばkurazono.co.jp.）。
（7）さらにホスト名も付けてみる（win95.kurazono.co.jp.）。
（8）自ドメイン以外のドメイン名を入れてみる（最後にピリオドを付ける）。
ここまで確認して問題なければ、一応正しく設定されている考えてよい。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

241メールサーバーを作ろう

h 自分のメールボックスを管理する

DNSの設定が終わったら、次はなんといっても電子メールだろう。プロバイダ
ーや会社のメールボックスに送られてきたメッセージをクライアントソフトで読むというのは昨日までのこと。これからは自分のネットワークにメールサーバーが置かれることになる。もちろん、メールアドレスにも取得したドメイン名が使
えるのだ。

受信
送信
OCN

名だ。IMAP4のプロトコルを使うと、届いた電メールサーバーの役割

子メールのヘッダーだけを読みこんでダウンロー

MN128-SOHO

ドするメールを自由に選べるなど機能的にも優
電子メールサーバーは、2つの役割を複合しれているが、現時点ではIMAP4に対応する電子て行っている。1つは、クライアントのコンピュ

メールソフトはまだ少ないため、今回はPOP3にータから差し出された電子メールを相手の電子対応したサーバーを用意する。クライアントとな

メールサーバーに届ける役割だ。

SMTPサーバー

るPCには使い慣れた電子メールソフトを設定しもう1つは、インターネットから自分のネットておく。メールの送信はSMTPサーバー経由でワークに届いた電子メールを蓄積して保存し、インターネットに送り、インターネットから届いクライアントが電子メールを読み込むまで管理たメールは受け手のSMTPサーバーが蓄積する。

する役割だ。クライアントは、各種クライアン

クライアントはPOP3サーバーに接続して届いた

トソフトウェアを使って、この電子メールを取りメールを読む。

出して読めるようになる。

POP3サーバー

メールの送信SMTPサーバーとPOP3サーバーは別のマシン

クライアントがメールサーバーから電子メールを読み込む方法としては、POP3とIMAP4が有に設定することも、同一のマシンに設定するこ
メールの読み出しともできる。

FreeBSDでの設定

sendmail.cf//etc

利用する電子メールサーバソフトは、SMTP
inetd.conf

が「sendmail」、POPが「qpopper」となる。
FreeBSD 2.2.5には「sendmail 8.8.7」が組み込まれており、インストールなしに設定作業か

passwdら行えばよい。
POPサーバーを利用するときには、利用者別にI D とパスワードを用 意 する。 これは、

rc.confF r e e B S D のアカウントに該 当 するので、FreeBSDの利用者登録を行う。

#

このままの設定では、通常のユーザーと同様/stand/sysinstall

Aに、FreeBSDにログインすることも可能になる。

このコマンドを実行して、「Configure」→

メールの利用は許可するが、ログインを行わせ「User Management」→「Add user」を選択ないようにするには、「vipw」コマンドを使っしていくと、ユーザー登録画面が表示されるて「/etc/passwd」ファイルを編集すればよい。

（図A）。ここでログインID、パスワード、フル

このファイルには登録利用者ごとにID などがネーム、メンバーグループ（省略可）、ホームデ「：」で区切って記載されている。該当するIDィレクトリー、ログインシェルを設定する。この最 後 の項 目 の部 分 をリストA のようにのログインIDとパスワードがPOP3サーバーの「/nonexistent」にする。

IDとパスワードになる。

リストA●「passwd」＊sendmailの最新版は8.8.8となっている。
入手先：ftp://ftp.iij.ad.jp/pub/network/sendmail/242 INTERNET magazine 1998/4

kurazono:*:1001:1001:Keizo Kurazono:/:/nonexistent

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

リストB●# cp /cdrom/INTERNETmagazine/sendmail/sendmail-v7.cf /tmp/sendmail.cf# cd /tmp# install -c -o root -g wheel -m 644 sendmail.cf /etc

sendmail.cfの作成

リストC●「rc.conf」
UNIX管理者でも避けて通りたいのが「/etc/

sendmail_enable="YES"# Run the sendmail daemon (or NO).

sendmail.cf」ファイルの設定だ。SMTPサーバの動作時に参照する設定ファイルで、難解で面倒なことで定評がある。通常は、もう少し分か

設定よりも便利になっている。かつてはドメイン

sendmail.cfファイルをCD-ROMに収録した。

りやすい形式で設定を記述し、「CF」や「m4」

名などの情報を書き込む必要はあったものの、

CD-ROMがマウントされていることを確認してといったマクロ言語処理を行って生成する。たある程度はすでに設定されている情報を参照しからリストBのコマンドを実行する。次に、リス

だし、この方法も「perl」の知識などが必要なてくれるようになった。そのため、高度な設定

トCのように「/etc/rc.conf」ファイルを修正し、ため、分かりやすくなるものの別の手間は避けを行わないのであれば、汎用的な設定ファイル

sendmail̲enableを「YES」にする。

て通れない。

を使うことができる。

しかし、FreeBSDでのsendmail.cfは従来のそこで、 今 回 設 定 なしですぐに使 える

最後に、設定を反映させるためにFreeBSDを再起動する。

リストC●「inetd.conf」

popperの設定# example entry for the optional pop3 server#
pop3 stream tcp
nowaitroot/usr/local/libexec/popper

FreeBSD用のPOP3サーバソフトウェアとし

popperてqpoperが配布されている。今回は最新のバー
ジョン2.4 をインストールしよう。このためのportsは先にCD-ROMからコピーしてあるはずだ。今回、popperのtarballはCD-ROMに収録を編集する。POP3に関する設定がコメントに##

cd /usr/ports/mail/popper
make installなっている（最初の1文字目に「#」がかかれている）箇所を探し、その行の先頭の「#」を削されていないので、portsを使ってFTPサーバー

画面に表示されるメッセージを見ていると、からtarballをダウンロードする方法に挑戦してFTPサーバーにアクセスしてpopperのtarballをみる。といっても、DNSの設定が済んでいればダウンロードしているのが分かるはずだ。インス

次のコマンドを実行するだけで自動的に済んでトールが終わったら「/etc」ディレクトリーに移

行する。

しまう。

動し、リストCの「/etc/inetd.conf」ファイル#

設定を反映させるために、次のコマンドを実続いて現れる「Subject」にメールの題名を動作を確認しよう

入力して「Enter」キーを押す。そのあとが本文入力になる。本文の最後の印に「Ctrl」キーをまず、sendmailだけでも動いているかどうかを確認したい。
そのためには、FreeBSDでmailコマンドを実行する。

# mail除する。

押しながら「d」キーを入力する。これで電子メ

killall -HUP inetd

出したメールを読むには、次のコマンドを実行する。

# mailールが送信される。まず、自分自身に出してみメールが来ていれば知らせてくれ、読むことよう。rootでログインしているのなら、次のようができる。 ここでメールが届 いてなければ、になる。

sendmailの設定手順を確認する。

# mail root

メールアドレス

POP3アカウントに、＜FreeBSDでの利用者

各クライアントの設定

名＞＠<サーバーのホスト名>を書くメールソフ
トもあるようだ。この詳細は、使用する電子メ

次に、クライアントになるコンピュータの電子メールソフトを設定しよう。

ールソフトのマニュアルを参照してほしい。
クライアントから自分宛に電子メールを送信

SMTPサーバー:<サーバーのホスト名>

し、さらに着信するかどうかを確認する。着信

POP3サーバー:<サーバーのホスト名>

しなければFreeBSD上で着信を確認する。ここアカウント：＜FreeBSDでの利用者名＞

で問題なく着信を確認できれば、qpopperの設

パスワード：＜FreeBSDの利用者パスワード＞

定をもう一度確認しよう。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

243

WWWサーバーを作ろう

h ドメイン名を取得した喜びを実感する瞬間

OCN

DNSもメールサーバーも動くようになった。と来れば、次はWWWサーバーだろう。自分が取得したドメイン名がそのままウェブコンテンツのURLになる。その喜びを味わえる瞬間がやってきた。ここで紹介するWWWサーバー「Apache」
はDNSやメールサーバーと比べると設定はいたって簡単。ここは、ちょっと一休みの気分で気軽に挑戦してみてほしい。

WWWブラウザー

MN128-SOHO
WWWサーバー

My.html

表示させるといったことが多く行われている。プ

WWWサーバーの役割

ロバイダーのサービスを使う場合、CGIの利用
やホームページの容量に制限を設けられてしまう

WWWサーバーはHTMLファイルを中心にさが、自家製WWWサーバなら制限はほとんどな

まざまな種類のコンテンツを保持し、クライアン

し。自分のウェブサイトを自由に拡張できるだ

トのWWWブラウザーからの要求に応じてコンテろう。

ンツをHTTPプロトコルで送信する。

WWWブラウザー

CGIで使われるPerlもFreeBSDで動作するに作り込めるのだ。さらに、LAN側の利用者に最近のホームページではCGIを使ってサーバし、ホームページのサイズもハードディスクの許向けてコンテンツを充実させていけば、立派にーマシンで処理した結果をWWWブラウザーにす限り増やすことができる。ホームページを存分

イントラネットの中心的サーバーとなるだろう。

Apacheのインストール

Apache 1.2.5を収録した。このバージョンでは# mount /cdrom# cd /usr/ports/www/apache# make install

セキュリティー関連のバグフィックスもなされている。CD-ROMから最新のportsをコピーしたら、

WWWサーバーソフトにはApache を使う。

Apache のディレクトリーに移動して「make本誌CD-ROMには2月10日の時点での最新版

install」を行う。これでインストールは完了だ。

access.conf//usr/local/etc

インストールが終了したら、FreeBSDを再起動する。

制御命令を記述したファイルの名前を指定する。8URLの要求で第一引数の文字列を第二/apachehttp.conf

引数に置き換えて処理をする。長いURLを縮めて表記するときに役立つ。9サーバースクリプ
トの指定で8と同様の置き換えをする場合、こsrm.confのように指定する。qこのサーバーを示すURLの中に第一引数の文字列を見つけると、第二引数のURLへと移動する。つまり、クライアントを使用するかどうかを設定する。この先頭にFreeBSDでの設定

が「http://www.kurazono.co.jp/impress/」「#」を付けてコメントアウトするとアイコンをを参照すると、対象の文字列が見つかるので表示しなくなる。5と6アイコン表示時のアイ「http://www.impress.co.jp/」に移動するこ

Apacheの設定ファイルは、/usr/local/etc/

コンとファイルタイプの関連付け、アイコンととになる。通常はコメントになっているので、

apacheディレクトリーに置かれるaccess.conf、

拡張子の関連付けを定義している。7アクセス「#」をはずして使う。

httpd.conf、srm.confの3つ。access.conf、
httpd.confは変更しなくても大丈夫。リストAのsrm.confの中から以下の記述を見つけてほしい。1URLでサーバー名だけ指定したときのルートディレクトリーが指定されている。2利用者のホームディレクトリーを公開するときのサブディレクトリー名。3URLでファイル名までの指定がなかったときに、初めに読む込むファ
イルの名前。複数のファイルを指定するときは、スペースで区 切 る。 4 ディレクトリー内 をリストA ●「srm.conf」/usr/local/www/
1 DocumentRoot
public_html
2 dataUserDir
index.html
3 DirectoryIndex
on
4 FancyIndexing
5 AddIconByType (TXT,/icons/text.gif) text/*/icons/binary.gif .bin .exe
6 AddIcon
7 AccessFileName.htaccess8 Alias/icons/ /usr/local/www/icons/
9 ScriptAlias/cgi-bin/ /usr/local/www/cgi-bin/q Redirect
fakename url

WWWブラウザーで表示させたときにアイコン

244 INTERNET magazine 1998/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

A
ホームページを置いてみる
srm.confの「DocumentRoot」で指定された/ u s r / l o c a l / w w w / d a t a ディレクトリーに「index.html」というファイル名で自分の作成

/

/usr

/local

/www

/data

index.html
http://kurazono.co.jp//home/kikuchi/public̲html

index.html
http://kurazono.co.jp/˜kikuchi//inoue/public̲html

index.html
http://kurazono.co.jp/˜inoue/

したページを置いてみよう。これがサーバーのホームページ、つまりhttp://www.kurazono.co.jp/とURLを指定した際に表示されるページとなる。
また、サーバー内のそれぞれの利用者のホー
ムディレクトリーにページを置く場合には、それぞれが自分のアカウントでログインしてホーム
ディレクトリーにsrm.confの「UserDir」で設定した名前（先の例ではpublic̲html）のディ
レクトリーを作り、この中に「index.html」を置く。このページを見るためのURLはユーザー
名が「kikuchi」ならhttp://www.kurazono.co.jp/˜kikuchi/となる（図A）。

マニュアルを表示させよう「public̲html」ディレクトリーを作る

2

1）自分のアカウントでログイン
2）% mkdir public̲html ･････「public̲html」ディレクトリーを作成
3）% cd public̲html ･･････････「public̲html」ディレクトリーに移動

P O R T S を使 ってインストールすると、Apacheのマニュアルも組み込まれる。このマニ
ュアルはHTMLで記述されているため、ここでアクセスを制御する

指定した名前を付けてアクセス制御を書き記し設定したばかりのWWWサーバーで公開すればたファイルをそれぞれのホームディレクトリーに

WWWブラウザーを使って読める。そこで、サ置いておけばよい。先の例では、ファイル名をーバーのホームディレクトリー（ ここではそれぞれのユーザーが公開しているホームデ「.htaccess」と設定していたはずだ。アクセス/usr/local/www/data）の下にマニュアルへのィレクトリーでもアクセス制御はできる。この制御の書き方には多くのバリエーションがあり、リンクを設定しよう。リストCのコマンドを実行ためにはsrm.confの「AccessFileName」で後述のApacheのマニュアルに詳細が記されてしよう。

いる。リストBの「.htaccess」では、index.

リストB ●「.htaccess」

htmlが存在しないディレクトリーをURLで指定

あとはWWWブラウザーで、サーバーのホー
ムページのURLに「man/」を付け足す。

した場合、ディレクトリーの中身をWWWブラ

AllowOverride None
Options None
allow from all

ウザーに表示しない設定になる。

http://www.kurazono.co.jp/man/
これでマニュアルを読めるようになる。

リストC●「srm.conf」# ln -s /usr/ports/www/apache/apache_1.2.5/htdocs /usr/local/www/data/man

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

245

ファイルサーバーを作ろう

h ウィンドウズやマッキントッシュとファイルを共有するためにここまでで、インターネットサーバーとしての機能はかなり充実したはずだ。そこで、次のステップとしてFreeBSDをインストールしたサーバーをファイルサーバーにして、ウィンドウズやマッキントッシュなどの異なったプラットフォー
ム間でのファイル共有ができる環境を作ってみよう。自宅のネットワークがさらにパワーアップすること間違いなしだ。

MN128-SOHOが用意されている。

ファイルサーバーの役割

ウィンドウズクライアントとのファイル共有を
実 現 するソフトは S a m b a だ。 S a m b a はファイルサーバーは、ネットワーク上の複数

FreeBSD上で設定した共有ディレクトリーをウの利用者に対してファイル共有の機能を提供すィンドウズ95やNTからアクセスできるようにする。ウィンドウズでは、ファイルサーバーとしてる。クライアントからの操作は、NTサーバーやNTサーバーのファイル共有機能があり、小規模共有に設定されたウィンドウズ95のフォルダーなピアツーピア接続としてウィンドウズ95やNTにアクセスするときと同じように、ネットワーク

ワークステーションのファイル共有機能がある。

コンピュータやエクスプローラを使って行う。

マッキントッシュの場合は、ファイルサーバーとマッキントッシュのファイル共有をサポートすしてはAppleShareが標準的で、ピアツーピア接るソフトはnetatalkになる。マッキントッシュに

続ならシステムに組み込まれているファイル共有

組み込まれているAppleShareクライアントによがこれにあたる。

Sambaサーバー
Netatalkサーバー

ウィンドウズって、FreeBSD上の共有ディレクトリーにアクFreeBSDでは、これらと互換性のあるファイ

マッキントッシュ

セスできる。

ル共有サービスを提供するサーバーソフトウェアにワークグループ名を設定する。さらにSambaのインストールと設定

guest account = nobody

本誌CD-ROMから最新のportsをコピーしたら、Sambaのディレクトリーに移動して「makeでゲスト接続するときのアカウントを設定している。

install」を行う。これでインストールは完了だ。

# mount /cdrom# cd /usr/ports/japanese/samba# make install[homes]エントリーはFreeBSDにアカウントを持つユーザーのホームディレクトリーにファイ

リストA ●「smb.conf」[global]comment = FreeBSD - Samba %v
workgroup = KURAZONO-HOME
printing = bsd
printcap name = /etc/printcap
load printers = yes
guest account = nobody

ル共有ディレクトリーを設置する場合に参照される（リストB）。アクセスするにはFreeBSDにインストールが終わったら、/usr/local/etcのログインするときと同じユーザーIDとパスワード

ディレクトリー内に作られたサンプルファイルをが必要になる。重要なファイルの閲覧などファ元に「smb.conf」を編集する。次のコマンドをイルを読むだけの場合は「read only」の項目を実行しよう。

「yes」としよう。

# cd /usr/local/etc# cp smb.conf.sample smb.confを設定するときは、新しくエントリーを作る

ホームディレクトリー以外に共有フォルダー

リストB ●「smb.conf」[homes]comment = Home Directories
browseable = noread only = nocreate mode = 0750

（リストC）。
smb.confはSambaの動作を設定するファイ

次に、FreeBSDの起動時に自動的にSamba

ルだ。大きく分けて、[global]、[homes]と、サーバーが立ち上がるようにする。次のコマンド

それ以外のエントリーからなる。

を実行しよう。

[global]エントリーは全体に関係する設定だ# cd /usr/local/etc/rc.d# cp samba.sh.sample samba.sh（リストA）。

workgroup = KURAZONO-HOME

246 INTERNET magazine 1998/4

設定が終わったら、Sambaを起動するためにリストC ●「smb.conf」[tmp]
comment = Temporary file spacepath = /tmp
public = yes
only guest = yes
writable = yes

システムを再起動する。これで完了だ。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D設定が正しければ、ワークグループにファイウィンドウズ95でアクセスしてみる

ルサーバが見つかるはずだ。
デスクトップのネットワークコンピュータやエウィンドウズ95側では、TCP/IPでLAN上の

クスプローラからSambaのフォルダーにアクセ

NTサーバーやウィンドウズ95のファイル共有がスしたときにパスワードを尋 ねられたら、使える設定にする。コントロールパネルの「ネFreeBSDにログインする際のパスワードを入力

ットワーク」 を開 き、 ネットワーク構 成 にすればいい。もちろん共有フォルダーなら、ゲス「Microsoftネットワーククライアント」がある

トでもアクセスできる。

ことを確認する。ユーザー情報の「ワークグル
ープ」はSambaで設定したワークグループと同「ワークグループ」にリスト9で指定したものと同じ名前を入れるじにする（右図）。

netatalkのインストールと設定

トリーを追加しよう（リスト12）。初めの項目は< インタフェース名 > - p h a s e 2 - n e t

共有するディレクトリー、2番目の項目はその共< A p p l e T a l k ネットレンジ開 始 番 号 > -有ディレクトリーをクライアントから見たときの<AppleTalkネットレンジ終了番号>−addr

初期設定ではFreeBSDのカーネルはマッキン

名 前 になる。 すでに書 かれている「 ˜ 」 は<サーバのAppleTalkネット番号>.<ノード番号>

トッシュの標準プロトコルであり、AppleShare

FreeBSDのユーザーのホームディレクトリーを-zone

ファイルサーバーにも使われている「AppleTalk」表す。リストDでは「/tmp」ディレクトリーをとなる（リストE）。なお、インターフェイス名をサポートしていない。インストールの前に235「Public」という名前で共有に設定している。

は237ページの＜FreeBSD＞の設定で使用したページに掲載のnetatalkを使うための設定（修複数のAppleTalkゾーンがある場合は、サー

正パッチのインストールとカーネルの再作成）を

バーがどのゾーンに属するかを指定する。/usr/

済ませておこう。

ports/net/netatalk/work/netatalk-1.4b2/

本誌CD-ROMから最新のportsをコピーした

configディレクトリーにあるatalkd.confを編集ら、n e t a t a l k のディレクトリーに移 動 してし、/usr/local/etcにコピーしておこう。記述す「make install」を行う。これでインストールはるのは1行で、"<サーバの属するゾーン名>"

イーサネットインターフェイスのデバイス名のこと。
設定が終わったら、netatalkを起動するためにシステムを再起動する。これで完了だ。

完了だ。

#
#
#

mount /cdrom
cd /usr/ports/net/netatalkmake install
インストールが終わったらFreeBSD内のどのディレクトリーを共有するかを設定する。/usr/
local/etc のディレクトリー内にある「Apple
Volumes.default」の最後に共有するディレク

リストD ●「AppleVolumes.default」~/tmp "Public"
リストE ●「atalkd.conf」

ep0 -phase 2 -net 0-65534 -addr 65280.226 -zone "AppleTalk Zone"

サーバーを選んで「OK」を押すと、IDとパス

マッキントッシュでアクセスしてみる

ワードを尋ねてくる。FreeBSDのそれぞれのユーザーのホームディレクトリーにアクセスするのクライアントは、イーサネットに接続されたなら、FreeBSDにログインする際のアカウント

マッキントッシュであれば、 なんでもよい。

とパスワードを入力する。それ以外の共有ディAppleメニューから「セレクタ」を選び、ウインレクトリーは、ゲストで利用できる。

ドウ左側のアイコンから「AppleShare」を選ぶ。

ゲストまたは利用者IDとパスワードを入力すAppleTalkのネットワークが複数のゾーンを構成

ると、共有されているディレクトリーがボリューしている場合は、ゾーンリストからnetatalkサー

ムリストに表示され、最後にマウントしたいボリ

バーの属するゾーンを指定する。すると、右側

ュームを選ぶと、デスクトップにそのボリュームにサーバーが現れる。DNSで設定した名前になのアイコンが現れる。

っているはずだ。

リストDで指定した「Public」が見える

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

247さらに強力なサーバーにしよう

hDHCPサーバーとFTPサーバーを運用する
自宅のネットワークにノートパソコンなどの移動可能なPCが接続されているな
ら、IPアドレスを動的に割り当てるDHCPサーバーがあれば便利だ。また、ネットワークの内外を問わず、ほかのコンピュータと頻繁にファイルのやり取りをするなら、FTPサーバーも絶対に欠かせない。さらに強力なサーバーにするために、これらの機能を追加してみよう。

リストA●「dhcpdb.pool」

DHCPサーバーの役割

global:!snmk=255.255.255.240:tmof=32400:

DHCPサーバーは、DHCPクライアントからの要求に応じて、IPアドレスを動的に割り当て

kurazononet:tblc=global:dht1=500:dht2=850:brda=203.139.162.239:dnsd=kurazono.co.jp:dnsv=203.139.162.226:rout=203.139.162.225:albp=true:

る。ノートパソコンのように、特定のLANに接続されるだけでなく、移動によって数か所の
L A N に接 続 し再 び切 断 するような場 合 に、
DHCPサーバから常に適切なIPアドレスを割り当ててもらうようにすれば、ネットワークの設定
を手動で書き換える手間がかからない。DHCP
サーバーは、IPアドレスはもちろん、ドメイン名

node0:
node1:
node2:
node3:
node4:
node5::ipad=203.139.162.233:dfll=3600:maxl=7200:tblc=kurazononet::ipad=203.139.162.234:dfll=3600:maxl=7200:tblc=kurazononet::ipad=203.139.162.235:dfll=3600:maxl=7200:tblc=kurazononet::ipad=203.139.162.236:dfll=3600:maxl=7200:tblc=kurazononet::ipad=203.139.162.237:dfll=3600:maxl=7200:tblc=kurazononet::ipad=203.139.162.238:dfll=3600:maxl=7200:tblc=kurazononet:

やDNSサーバー、デフォルトゲートウェイなどの情報も割り当てられるからだ。

DHCPサーバーのインストールと設定# touch /etc/dhcpdb.relay

後半は、割り当てるIPアドレスの個数分だけレコードを追加する。この際にIPアドレスが重複

2つ目の設定ファイルは/etc/dhcpdb.poolで、本誌CD-ROMから最新のportsをコピーした

これも新規に作成する。各項目は「:」で区切る。

ら、WIDE DHCPのディレクトリーに移動してリストAを見てみよう。ファイル前半の設定は以「make install」を行う。これでインストールは下のとおりだ。

完了だ。

しないように注意しよう。次の書式で記述する。
ipad=＜割り当てるIPアドレス＞
次に、FreeBSDの起動時に自動的にDHCP# mount /cdrom# cd /usr/ports/net/wide-dhcp# make install!snmk=＜サブネットマスク＞

サーバーが立ち上がるようにする。リストBのコ

brda=＜ブロードキャストアドレス＞

マンドを実行しよう。

dnsd=＜ドメイン名＞

WIDE DHCPを使うには、カーネルの変更が次に「wide-dhcps.sh」を開きリストCの

dnsv=＜DNSサーバーアドレス＞「[Interface Name]」の部分を237ページの＜

rout=＜デフォルトルーターアドレス＞

FreeBSD＞の設定で使用したイーサネットイン必要である。インストールの前に235ページに掲

albp=true＜BOOTP対応の古いマッキントッ

ターフェイスのデバイス名に書きかえる。

載のWIDE DHCPを使うための設定（カーネルシュでDHCPを使えるようにするためのオプショの再作成）を済ませておこう。

ン＞

設定が終わったら、DHCPサーバーを起動するためにシステムを再起動する。これで完了だ。

次 に、カーネルに組 み込 んだ「B e r k e l e y
Packet Filter（BPF）」に対応できるようにBPF
で使用するデバイスを作成する。以下のコマン
ドを入力しよう。

# cd /dev# ./MAKEDEV bpf0 bpf1 bpf2 bpf3
DHCPサーバーの設定ファイルは2つ。まず、1つ目の「/etc/dhcpdb.relay」を作ろう。これは空のファイルだ。

248 INTERNET magazine 1998/4

リストB●# cd /usr/local/etc/rc.d# cp wide-dhcps.sh.sample winde-dhcps.sh
リストC●/usr/local/sbin/dhcps [Interface Name]↓/usr/local/sbin/dhcps ep0

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

マッキントッシュならコントロールパネルのクライアントでDHCPサーバーの働きを確認しよう「TCP/IP」で「DHCPサーバを使う」を選ぶ。

まず、クライアントのコンピュータ側でDHCP「MacTCP」を使っているならば、IPの割り当て

コントロールパネルに「T C P / I P 」がなくてを使えるように設定する。

方法を選ぶボタンで「サーバから」を選ぶようウィンドウズならば、コントロールパネルのにする。コンピュータを再起動したら「TCP/IP」「ネットワーク」設定から「TCP/IP」の「プロ（MacTCP）の「ファイル」メニューから「情報パティ」を押し、「IPアドレス」タブで「IPアドを見る」を選ぶ。
「TCP/IP」情報の「このコンレスを自動的に取得」にチェックを付ける。コ

ピュータ」と「ルータアドレス」に正しいアドレ

ンピュータを再起動したら「スタート」メニュー

スが表示されていればOKだ。

の「 ファイル名 を指 定 して実 行 」 を選 んで「winipcfg」と入力する。
「IP設定」の各項目にウィンドウズ95の「IP設定」（上）とマッキントッシュの「TCP/IP情報」（下）正しいアドレスが表示されていればOKだ。

FTPサーバーの役割
プロバイダー

インターネット

MN128-SOHO

インターネットを使ってファイルをやり取りす

FTPサーバーる手 段 として広 く使 われているプロトコルがFTP。FTPクライアントでFTPサーバーに接続すファイルの送受信

ればファイルの送信と受信ができるようになる。
プロバイダー経由などの方法で外から自宅のFTPサーバーにアクセスしてサーバーにファイルを置いたりサーバーからファイルを取得したりと自宅のネットワーク

いった使い方ももちろん可能だ。
インストール前

FTPサーバーのインストールと設定
FreeBSDには標準でFTPサーバーが組み込ま

匿名FTPにログインした際に、最初に現れる/usr/libexec/ftpd

ディレクトリーは、匿名FTP用に作られたftpとインストール後いうアカウントのホームディレクトリーになる。

/usr/local/libexec/ftpd

つまり、匿名FTPで利用するファイルは「˜ f t p」

れているが、ここでは、匿名FTPサーバーとしてよく使われる「wu-ftpd」という別のFTPサーバ
ーをインストールして使う。

のディレクトリーに置けばいいということだ。
システムを再起動すればFTPサーバーが動作する。

本誌CD-ROMから最新のportsをコピーした

この状態でFreeBSDのそれぞれのユーザーは

らwu-ftpdのディレクトリーに移動して「makeFreeBSDにログインする際のアカウントとパス

install」を行う。これでインストールは完了だ。

ワードでFTPサーバーにログインできる。匿名###「/ s t a n d / s y s i n s t a l l 」コマンドを入 力 して

F T P （a n o n y m o u s F T P ）を許 可 するには、

mount /cdrom
cd /usr/ports/net/wu-ftpd
make install「Configure」→「Networking」→「AnonFTP」にチェックを付ける。図Aの画面が表示

ftpdの起動はinetdというプログラムから行わされるがこのまま「OK」を押せば設定は完了だ。

れる。inetdの設定ファイル/etc/inetd.confのftpdの記述を確認しよう。ftpdの置かれたディレクトリーが変更されるので、設定ファイルを編システムを再起動せずに、ftpdに新しい設定を反映させる集する。ftpdは下記のインストール前のものと

1）rootでログイン
2）# ps -ax ¦ grep inetd ･･････････････････現在動いているプロセスをすべて調べて「inetd」だけを表示する
3）2）の結果の先頭の数字をチェックする4）# kill -HUP 3）でチェックした数字 ･････inetdに変更した設定が反映され新しいftpdが起動するようになる

インストール後のものと2つのディレクトリーに置かれる。/etc/inetd.confをインストール後のパスに書き換えよう。

3

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

249

セキュリティーを強化しよう

h お金をかけずにここまでできる以上でサーバーの設定についての解説は完了だ。でも、実際の運用にあたっては
もう1つ忘れてはならない大事な点がある。
「セキュリティー」だ。この記事を通してできあがったサーバーは、機能は十分でも「自宅に鍵をかけていない」状態
なのだ。そこで、最後の仕上げとしてお金をかけずにちょっとした工夫でネットワークのセキュリティーを強化する方法を解説しよう。

どこを公開してどこを
閉じるか
OCN

インターネットに常時接続という形態でつながると、セキュリティーを考慮することが必要にクライアントMN128-SOHO

なってくる。これは、サーバーかクライアントかにかかわらず言えることだ。また、FreeBSDなDNSサーバー
メールサーバー

どのPC-UNIXに限らず、ウィンドウズやマッキ
ントッシュにも言えることである。

イントラネット
WWWサーバーセキュリティーの基本は、ドメインの内側と外側との間に、どれだけの制限を加えるかということだ。たとえば、イントラネット用のWWW
サービスを提 供 する場 合 、 ドメイン外 から

イントラネット
ファイルサーバー

WWWサーバーへのアクセスを一切拒否するといったものがこれにあたる。
しかし、制限を加えてはいけないところもある。DNSサーバーとメールサーバーなどがそれでだけでしか利用できないサービスをはっきり分けなことから、ルーター専用機やファイアーウォーることだ。

ル専用ソフトウェアの導入などの究極の方法まある。たとえばメールサーバーが外から見えない

内側と外側との間で、何らかの方策で制限を状態になっていると、インターネットから送られ加えることを、「ファイアーウォールを構築する」てくるメールを受け取れなくなってしまう。重要という。このファイアーウォールの構築にはサーてOCNに接続しているときに利用できる、単純なのは、外側からも利用できるサービスと内側バーの特定のサービスを停止するといった単純なファイアーウォールの例を示す。

MN128-SOHOでパケットフィルターをかける

セッション確立用パケットのみをフィルタリング

で、多種多様なやり方がある。
ここでは、FreeBSDとMN128-SOHOを使っする機能を持っている。そのため、たとえば、
リストBのように指定すれば、外側から内側に

最 初 に、誰 でもすぐにできる方 法 として、

TCPセッションを確立することはできないが、内MN128-SOHOのパケットのフィルタリングを取側から外側にはTCPセッションを確立できるとり上 げる。これは、M N 1 2 8 - S O H O を通 るいう状態を構成できる。

TCP/IPプロトコルのパケットに対して、特定の中身のものを通さずに破棄するというものだ。
この設定は、MN128-SOHOのIP設定ページの「オプション」内に、「ip filter」コマンドを記述して行う。コマンドの引数の詳しい意味につMN128-SOHOのIP設定ページの「オプション」に設定を記述する

いては、MN128-SOHOのマニュアルを参照してほしい。
たとえば、外側から内側のWWWサーバーへ送られる要求パケットをすべて破棄するには、リストA ●

ip filter 1 reject in * * * * www remote 0

リストAのように指定する。これで、外側から内側に送られてくるhttpプロトコルのパケットは、
すべてMN128-SOHOで破棄される。

リストB ●

ip filter 1 reject in * * tcpest * * remote 0

また、MN128-SOHOでは、TCPパケットの250 INTERNET magazine 1998/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

MN128-SOHO

ns

win95

mac

OCN

FreeBSDをゲートウェイ
ホストにするグローバルIPアドレス
プライベートIPアドレス

FreeBSDなどのPC-UNIXが威力を発揮するのは、ゲートウェイホストとなったときである。ルーティング専用機は高速だが、高価でそう簡単には手に入れにくい。

リストC ●

しかしPC-UNIXなら非常に安価にゲートウェイホストが完成する。

# ifconfig -a

最初の例は、お金を使わずに実現する方法だ。ネットワーク構成
はまったく変わらない。これまでどおり、ドメイン内には1つのイー

lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
ep0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

サネットにすべてのホストが接続されている。

inet 203.139.162.224 netmask 0xfffffff0 broadcast 203.139.162.239

FreeBSDではネットワークインターフェイスに対して複数のIPア

inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255

ドレスを割り当てることができる。そこで、今回のネットワークを

atalk 65280.226 range 0-65534 phase 2 broadcast 0.255

例にとると、OCNから割り当てられたアドレス、すなわちグローバ

ether 00:60:8c:cb:a1:18

ルIPアドレスをルーターとnsの2つのみに割り当てる。そして外部か

tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

らアクセスできないプライベートIPアドレスをwin95とmacに割り当

sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552て、さらにnsにも割り当てる。すなわちnsにはグローバルとプライ

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000

ベートの2つのIPアドレスが割り当てられ、パケットのルーティング

atalk 0.0 range 0-0 phase 2をすることになる。こうすれば、外側からwin95やmacに直接パケットが届くことはなくなる。しかし、たとえばwin95からルーターへ#

は一度nsを経由することになるので、ネットワークトラフィックは倍増することになる。
インターフェイスに2つのIPアドレスを付けるには、ifconfigコマ
ンドでalias引数を用いる。インターフェイスに2つのIPアドレスが付いた状態をリストCに示した。この方式を利用
イーサネットA

するには、ifconfig以外に各ホストでのIPアドレスの設定や、ルーティング、NATなどの設定が必要

グローバルIPアドレス
プライベートIPアドレス

MN128-SOHO
OCN

となる。

イーサネットB

イーサネットカードを
2枚挿す

ns

最後の例は、nsにイーサネットカードを2枚挿す方法である。自

win95

mac

リストD●

ドメイン内にイーサネットを2本用意するわけだ。一方のイーサネッ# ifconfig -a

トにはルーターとnsのみを接続する。これらには、OCNから割り当

lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500

てられたグローバルIPアドレスを付ける。

ep0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

そしてもう一方のイーサネットには、nsの2つ目のインターフェイ

inet 203.139.162.226 netmask 0xfffffff0 broadcast 203.139.162.239

スとwin95、macを接続し、プライベートIPアドレスを付けるわけだ。
パケットの流れは先の例と同じだ。外側と内側とのやり取りは、

ether 00:60:8c:cb:a1:18
ep1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

すべてnsを通る。ただ、ネットワークが完全に分れているので、ト

inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255

ラフィックの影響が及ぶことはない。

atalk 65280.226 range 0-65534 phase 2 broadcast 0.255
ether 00:60:8c:cb:9f:8c

2枚のイーサネットカードの状態をリストDに示した。

FreeBSDでインターネットはもっと身近になる
非常に早足ではあるが、FreeBSDを使ったインターネット兼イン
トラネットサーバーの構築例を一通り見てきた。FreeBSDによってOCNエコノミーの常時接続環境用のサーバーが安価に用意できるので、自分のドメイン名を持つときの強い味方になることが分かったはずだ。
今回取り上げたソフトウェアは、FreeBSDで用意されているソフ
トウェアのうちの氷山の一角にすぎない。FreeBSDにはまだまだ有用なソフトウェアが入っている。たとえばセキュリティー関係では、パケットのフィルタリングソフトや、ファイアーウォールを実現するソフトまである。非常に奥が深いことは間違いない。
ただ、商用製品ではないので、手厚いサポートを期待する場合には向かない。ある程度の覚悟と努力は必要だ。その努力が身を結んだ
とき、インターネットに対するスタンスが変化することは間違いない。挑戦するだけの価値は、必ずある。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1998/4

251

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバー
アーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ
番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.