投稿

中古パソコンとFreeBSDを用いた実験用ネットワーク


疋田春水(明海大学経済学部助教授・物理学担当)



1.はじめに

 筆者は少し前まで大学のネットワークのシステム管理を行っていた。この経験からサーバプログラムのインストール等練習や小規模なネットワークで動作を確認できる教育用システムの必要性を痛切に感じた。昨年、筆者がシステム管理を離れたのを機会に、このような実験用のネットワークを研究室内に構築することを計画した。たまたま、コンピュータ教室の中古パソコンが更新のために配布されたこともあり、これを利用してできるだけ費用をかけずにネットワークを構築することを考えた。また、このネットワークは実用レベルで充分使えることを目標にした。 ちょうどこの頃からフリーな pc-unix が広く配布されるようになったので、これをネットワークOSとして検討した。
 フリーな pc-unix として国内では LINUX と FreeBSD が知られている。LINUX については配布元が種々あるため選択に迷ったこと、 FreeBSD にはNAT(Network Address Translation)とIPFWというパケットフィルタ機能が標準で実装されており、ports という仕組みでパッケージソフトの組み込みや削除が簡単である等により 、FreeBSD を採用した。構築した実験用ネットワークはプライベートアドレスを使用してさまざまな実験が行える環境をめざした。このネットワークの骨格は1998年6月に完成し連続運転を行っている。このシステムの概要については明海大学教養論文集1)に報告したが、今回はさらにネットワークを拡充し、様々な実験も行ったので報告する。


2.システムの概要

(1)ハードウェアの構成

 使用したパソコンは前述のように配布されたコンピュータ教室の中古の LANボード付きFMV486SD2(CPU 386SX)3台である。使用したFreeBSDは Walnut Creek 版 2.2.6 である(3.1にバージョンアップの予定)。この実験用のネットワークの構成を図1に示す。使用した機器の詳細は以下の通りである。

図1 実験用ネットワークの構成


R1: FMV486SD2(CPU Pentium ODP 80MHz に交換)
ハードディスク 620MB メモリ 28MB
CD ROM内蔵
R: FMV486SD2(CPU 486DX 66Mhz に交換)
ハードディスク 170MB メモリ16MB
CD ROMなし
LANボード1枚増設(I/Oアドレスの変更)
S: FMV486SD2(CPU Pentium ODP 80MHz に交換)
ハードディスク 620MB  メモリ 28MB
CD ROM内蔵

P1,P2: NEC-PC9821 Windows 95
P3: DOS/V Windows 95
HUB: 8ポート 2台
 新規に購入した機器はなく、手持ちのものだけで構成した。ケーブルも手近の10BTで自作した。費用は80MHzのODP2個、16MBのメモリ2個、FreeBSD のCD-ROMの購入だけであり、すべて合わせても10万円程度であった。 FreeBSDはこの程度のコンピュータでも充分に動作し、現在ではパソコンの性能も向上しているのでODPやメモリは必要ない。ただし、ハードディスクについては必要に応じて増設するつもりである。インストールはそれほど難しくはないが、対応する機器が限られているので注意が必要である。大手の国内のメーカであれば対応していると思われる。また、インストール時にトラブル対策としてMS-DOS領域を10MB程度確保し、カーネルは必要に応じて再構築を行った。

(2)サーバ用アプリケーションの導入と運用

 R1については学内のグローバルアドレスを与え、ホスト名を学内のメインのDNSに登録した。サブドメインの登録も考えたが、メインのDNSにサブネットマスクを含む逆引きの設定が少々面倒であったこともあり、今回は行わなかった。R1は routed を起動してルータの機能も持たせ、学内のルータをデフォルトルータとした。IPFWのパケットフィルタ機能により HTTP、DNS query、MAIL、SSH、XNTP の各パケットと P1、P2からの TCP パケット だけを通過させるようにした。これらの設定は経路制御の勉強になった。さらにセキュリティの向上を図るためTCP_Wrapper によるアクセス制限を行った。将来はR1にフリーのファイアーウォールソフト FWTK をインストールしてファイアーウォールホストの実験を行う予定である。サブドメインの登録を行っていないためDNSを立ち上げる必要はないが、後述するプライベートアドレスからのアドレス解決のためキャッシュだけの named を立ち上げた。キャッシュは学内のメインのDNSを指すように設定した。log に関しては syslogの出力レベルを下げ、メッセージを直接コンソールに表示させネットワークの監視をしやすくした。
 R1にインストールしたサーバプログラムは sendmail、pop3、apache、ssh、mule、canna、xntpである。メール、日本語環境は充分なものであった。sendmailの設定については、プライベートアドレス側にDNSを参照せずに直接メールを送る設定を行った。また、spam対策のためメールの中継を禁止し、さらにIPアドレスを用いたメールの送受信を禁止した。apache については筆者の講義に関する学生の連絡用のBBSを試験的に立ち上げ、このBBSは学内だけからアクセスできる設定を行った。また、異文化コミュニケーションの教員と共同で、授業の一環として米国と日本の間で学生と教員のコミュニケーションが行えるBBSを立ち上げた。2)
 現在、国外からもかなりアクセスがあるが問題なく動作している。
 Rはグローバルアドレスとプライベートアドレスの両方のアドレスをもつマルチホームホストとし、アドレス変換のためNATを使用した。ハードディスクの容量が非常に少ないので、FreeBSD はシステムだけの必要最小限のインストールを行った。また、telnet、ftp は禁止し、 ssh による login だけを許可し、R1と同様のパケットフィルタを行った。プライベートアドレスはクラスAを使用した。
 Sはプライベートアドレスを持つDNSサーバの設定を行い、このサブドメイン名を phys.meikai.ac.jp として内部でさまざまな実験が安全に行える環境をめざした。R1と同様 sendmail、pop3、apache、ssh、mule、canna をインストールし設定の実験を行った。NATのおかげでメール、HTTPは内側から問題なく外側に出ることができた。外側からは R1を経由しないとphys.meikai.ac.jp に入ることはできなかった。Sにはppp接続の必要上、ルータの設定をしてRをデフォルトとした。
 このサーバSにwide-dhcp をインストールしてDHCP(Dynamic Host Configulation)の実験を行い、パソコンP3で動作を確認した。さらにiij-ppp が標準で実装されているので、学内の内線電話を用いてppp接続の実験を行った。pppの端末側はノートパソコンを用い、2台のモデムを用いた。シリアルポートのコントロールチップ(UART)が初期のタイプ(NS8250)にも関わらずV34、19.2Kbpsで接続でき、端末とサーバS間の ping は 250ms 程度であった。36Kbps での接続も実験予定である。TAでも基本的には同様と思われるので、今後はFreeBSDで使えるISDNボードがあれば実験を行ってみたいと思っている。
 現在このシステムでsamba を用いたファイルサーバの実験を行っている。sambaを利用すると、パソコンのWindowsへの login とUNIXへの login が同じユーザで済むので便利である。小規模であればNTの代わりにファイルサーバとして充分使えそうである。
 NATの応用として、図1のマルチホームホストRの両側のハブをケーブルでつなぐと、プライベートアドレス側のホストはグローバルアドレスとプライベートアドレスの混在した状態が可能になる。これを利用すると、アドレスの付け替えや変更(例えばDHCPへの移行)のときネットワークを止めて一挙にアドレスを変更しなくてもよい。変更したいネットワークの先頭にNATのマルチホームホストを一時的につなぎ、かつ両方のハブをケーブルをつなげばネットワークが稼働中でもアドレスの変更が可能である。


3.システムに対する評価

 システム構築後、研究室内で連続運転を行ってもうすぐ1年を越えるが、継続的な使用による問題は生じていない。このネットワークを構築する作業は筆者にとり大変勉強になった。本システムはネットワークの教育用としても充分利用でき、また学部内でもpc-unixに関心を示す教員も何人か出始めている。
 大量の中古パソコンの在庫はどこでも大きな問題であるが、pc-unixを使って小規模な部署のサーバとして再利用することは有効な方法であろう。こうすれば中古パソコンが予備機やバックアップとして大量に使えるので、コストパフォーマンスはかなり良くなる。ただし、pc-unixは簡単にネットワークに接続できるがセキュリティには充分配慮する必要がある。この報告のサーバも今年の5月に激しいアタックを受けたが、幸いに被害はなかった。小さいサーバといえども毎日の監視は必要だと思っている。マイクロソフト系のOSに比べてFreeBSDは動作が安定で、堅牢なOSというのが筆者の評価である。


4.終わりに

 今回の実験により、中古パソコンとFreeBSD を用いた小規模なネットワークは実用的にも充分に使えることが分かった。現在、関心のある教員と共同で小規模な実際のネットワークを計画しており、必要な機器さえあれば2日程度で立ち上げられるであろう。
 他に中古のパソコンを再利用するアイディアとして、小中学校のネットワークのサーバやルータとしての利用がある。ホスト数が100台以内であればpc-unixのサーバはコストパフォーマンスにも優れている。また、アプリケーションはパッケージで導入し、設定はマニュアル化すれば効率的であると思う。問題はフリーなOSを用いた場合に支援できる業者がまだ少ないこと、業者に委託する場合は技術的なコストを考慮する必要がある。筆者としてはこれを支援できるような仕組みがあればと思っている。筆者の技術的な資料はファイルとして蓄積されているので、今後ホームページ等で公開したいと考えている。


謝辞

 最後にこの報告を書くにあたり、フリーのソフトを開発されている方々、多くのご指導を下さった旧TRAINの皆様、参考にさせていただいたホームページの方々に感謝いたします。
(hhikita@meikai.ac.jp)



参考文献
1) 疋田春水:明海大学教養論文集 No.10, 65 (1998)
2) 白野伊津夫、疋田春水、Lisa A. Stefani:
第7回情報教育方法研究発表会発表予定

【目次へ戻る】 【バックナンバー 一覧へ戻る】