6.PC-9801NS/A でサーバーを作ろう(FreeBSD導入記)
AirH"でLANごとインターネット

「こんなことはおまえに言われなくてもすでにできている。」
そんな人の方が多いでしょうがそんな人は読まないでください(笑
高性能なノートマシンを持っていてWin2000,98SE,ME,XPを
持っている場合は導入する必要はそこまでないとおもいます。
(インターネット共有機能を使えばできます。)

用意したもの
NEC PC-9801NS/A (HDDは300MB程度あればOK)
CONTEC C-NET(9N) E-10(拡張バス用LANアダプタ)
SII MC-P300 (Air H"カード これ以外では動かないものがある)

1.FreeBSD(98)を手に入れる
FreeBSD(98)とPAO(98)を手に入れないことには
どうしようもないのでまず手に入れましょう。
http://www.jp.freebsd.org/pc98/
のリンクをたどってDLしてください。
DLするのはBASE(4MB程度)でかまいません。
http://www.tim.hi-ho.ne.jp/~kura/freebsd/index.html
にあるPAO3(98)もダウンロードしてください。
kernelイメージとmfsrootイメージとpao98binをDLしてくださいね。
FreeBSD4.x系はNS/Aのカードスロットがつかえないので
現在手に入るものは3.5.1だけになります。
なお、AT版のbinが必要なので
http://www.freebsd.org/ja/
からリンクをたどってDLしてください。

2.インストール
詳しい説明は本家にあるので省略します。
ハンドブック等を参照してくださいね。

わたしがとった方法はNS/AのHDD(325M)をDOSのFormatコマンドで
290MBと35MBに分割し35MBの方にインストール用のデータを入れました。
(前半がDOSだとEPSONのスタートアッププログラムがFreeBSDを自動起動
させられなかったみたいなので・・・第一領域しかダメなのかなあ?)
インストール用起動FDはPAO3のあるサイトからDLしたイメージをを使ってください。
標準のイメージではPCカードスロットは標準サポートされません。

AirH"カードは入れたまま起動してください。
警告:
PC-98901NS/AはPCカードの活線挿抜ができないみたいなので
かならず電源をきって抜き挿ししましょう。

起動させるとデバイスのコンフィグ画面が出てきますので
そこでVisualModeでネットワークデバイスを登録?してください。
デフォルトではネットワークデバイスはすべてDisableされてます。
ちなみにC-NET(9N)はfe1で認識されるみたいなのでfe1を登録します。

インストーラが起動するとPCカードを使うか聞いてきますので使うを選んでください。
あとメモリウインドウは0xda000にしないとPCカードが使えません。

配布ファイルはbin98binpao98binにチェックを入れてインストールしてください。

3.FreeBSD(98) 3.5.1の設定
ここも環境によって違うので詳細は省略します。

/etc/ppp/ppp.confの設定
ハンドブックや解説しているページがあるので省略します。
ポイント:##61は\#\#61といれないと接続できません。

/etc/rc.confの設定
わたしは/etc/defaults/rc.confを直接いじってます(^^;;;

gateway_enable="YES" ←重要!!
を追加します。.
オンデマンドで常時接続して遊ぶ場合は
ppp_enable="YES"
ppp_mode="AUTO"
ppp_nat="YES" ←重要!!
ppp_profile="自分のプロバの設定書いてある(うちならair)"

4.クライアントの設定
Win98の場合
LANアダプタのTCP/IP設定で
IPアドレスはプライベートアドレスを手動で設定します。
DNS欄にはプロバのDNSアドレスをいれます。
ゲートウェイに9801NS/AのIPアドレスをいれます。(うちは192.168.0.1)

これでLAN上のマシンからインターネットにアクセスできます。
なお、一部のネット用のソフトなどは接続できなくて使えないことがあります。

うちではなぜかエラーがでまくっていたりします(^^;;;
/kernel :sio strange line status - PC-card removed?
ってメッセージが頻繁に出ています。
このままではログが埋め尽くされてしまうので対策を施すことにします。

taisaku.pl
#!/usr/bin/perl

open (CGI,"grep -v sio /var/log/messages |");
@lines = <CGI>;
close(CGI);

open (OUT,">/var/log/messages");
print OUT @lines;
close(OUT);

@line=();

open (CGI,"grep -v repeated /var/log/messages |");
@lines = <CGI>;
close(CGI);

open (OUT,">/var/log/messages");
print OUT @lines;
close(OUT);

exit;

これを適用すると一部のシステムの大事なメッセージ(ログ)が
消えてしまいますので使用する場合はその点を十分考えて使用してください。
なお、このスクリプトを使用した結果被ったいかなる人的、金銭的被害について
私は一切責任はとりませんし、いかなる補償もしません。

使用する場合は実行属性をつけてcronで自動実行させるといいです。

もどる