化石化したLCIIIをNetBSDで甦らせる(基本アプリ導入編)

 前回書き忘れたが、サーバーとして機能させるからにはEthernetのインターフェースが必要だ。NetBSDの現バージョンではLocalTalkはサポートされていない。とりあえず手元にあったのが、Farallon EtherMac LC-C と IDOL Japan HM-LC PDS の2種類。HM-LC PDS は、秋葉館で安売りしていた怪しいカードだ。当然いずれもMacOSでの使用には全く問題はないが、NetBSDで使うとなると話は違ってくる。結論からいって、HM-LC PDS は駄目だった。LCシリーズでNetBSDを動かそうとしている方は注意していただきたい。
 NetBSDで動くかどうかは、ボードのコントローラチップに大きく依存しているようだ。EtherMac LC-C は DP83902 であった。DP83902を使用しているボードなら大体動くと思って良さそうである。一方、HM-LC PDS は MX98803 というチップが使われていた。
 私はたまたま手元に Farallon があったので問題なかったが、これからカードを入手しようとする場合は、注意して購入しないと痛い目に遭う。Asante あたりが値段、入手性からいって無難な線であろうか。なんにしてもMacBSDのHPにある動作確認リストをよく見てから買うことだ。

 NetBSDのインストールに成功したら、次はいろいろと設定を行ってアプリをインストールする。ここでも解説本「MacBSDネットワークサーバ構築ガイド」が大活躍する。この本の通りにコンパイル、インストール、設定を行えば一通りは動いてしまう。

 まず初めにやるのがIPの設定である。これができていないと始まらない。EtherMac LC-C は ae0 で認識されていた。ちなみに、HM-LC PDS は起動の段階でカードの存在は認識されるがデバイスとしては認識されない。安くて入手しやすいカードだけに残念だ。もし、すでに入手してしまってどうにもならなくなってしまったカードを持っていたら、それを開発チームに寄付すればそのうちサポートされるかもしれない。(^^;
 手元にあるマシンにアドレスを割り当てて、ping や telnet でテストする。ここまでできたら後の作業はメインマシンから telnet でやった方が効率がいい。マルチセッションで複数ログインすることもできるし、コンソールよりも動作が速い。
 DNSは、面倒くさいので立ち上げなかった。マシンの数はたかがしれてるのでhostsファイルで十分だ。NetBSDのhostsファイルは、最初から入っているファイルに設定例が示されているので簡単だ。
 しかし問題なのはMacOS側のhostsファイル。マニュアルやヘルプファイルのどこを探しても設定方法なんぞ書かれていない。結構複雑な書式になので、適当に書いてみても駄目である。結局AppleのサイトからOpenTransportの技術資料を拾ってきてやっと解決した。設定例を載せておくので、お困りの方がいたら参考にして欲しい。

sunshine		CNAME		sunshine.muneki.0462.ne.jp
moon			CNAME		moon.muneki.0462.ne.jp
forest		CNAME		forest.muneki.0462.ne.jp
muneki.0462.ne.jp			A	192.168.0.1
sunshine.muneki.0462.ne.jp		A	192.168.0.1
moon.muneki.0462.ne.jp		A	192.168.0.2
forest.muneki.0462.ne.jp		A	192.168.0.3

CNAME とか A とかいうのが必要なおまじない。フルネームと省略形をしっかり設定しないと駄目なようだ。

 基本設定が終わったら必要そうなアプリを片っ端からインストールする。まずは tcshだ。これがあるとないとでは作業性に雲泥の差があるので、ぜひともインストールするべきだ。

 その後は解説本の通りに進めていっても良いが、私は早い段階で netatalk(AppleTalkサーバ)をインストールすることを強く勧める。これが立ち上がっていれば、何かをインストールする度にNetBSDを再起動する手間から開放される。
 ただ、こいつのインストールは解説本の通りというわけにはいかなかった。NetBSDでAppleTalkを使う場合には、/etc/services にちょいちょいとおまじないを書き込む必要がある。NetBSD1.3.0 では既に登録されているとあるが、私の1.3.1 の場合は登録されていなかった。登録の手順は本に書いてあるので、自分で/etc/services を書き換える。
 (後日談:↑と思っていたが、実はやっぱり登録されていました。/etc/servicesの一番後ろに付け足してあったのね。気がつかなかった)

 次に rc.atalk を/etc/ にコピーするが、これの元ファイルがどこにあるかというと、インストールされたディレクトリの/usr/local/atalk/etc にある。解説本の書き方が曖昧でアーカイブファイルを展開したディレクトリの netatalk/ にあるように思ってしまったが(しかも、ここに rc.atalk のテンプレートがいくつかある)、ここのファイルをコピーしていじってみても netatalk は動いてくれない。
 そして結構悩んだのが、netatalk でログインする場合のパスワードの問題。AppleTalkではログインパスワードは8文字以下ということになっている。それ以上のパスワードは受け付けられない。つまり、NetBSD で長いパスワードを設定しているユーザは netatalkでログインすることができない。
 一方、NetBSD でのパスワード設定は6文字以下だと短すぎるといって怒られてしまう。ということでパスワードの選択には結構悩んでしまう。が、実はNetBSD で短いパスワードを設定することができるのである。やり方は簡単で、パスワードを入れたときに短いといって怒られたら、そこであきらめずにしつこく同じパスワードを入力する。すると今度はあっさりと同じパスワードを許可してくれる。5文字程度のパスワードを設定したいことは時々あるので、覚えておいて損はしないTipsだ。

 で、後はお好みのものをどんどんインストールする。とりあえず私は perl, ppp, apache をインストールした。pppのインストールは、以前インストールした時はpapの設定で思いっきり悩んでしまったが、国内向けパッチ済みパッケージ(ppp-setjp.tgz)がCD-ROMに入っていたので楽チンだった。

 PPP接続での最大の関門は、NATである。ローカルネットワークのIPアドレスは外の世界には出ていくことはできない。そこで、ローカルアドレスをPPPで割り当てられたアドレスに変換して外の世界に流す機能がNATだ。外の世界を覗くだけなら、後からインストールするproxyサーバ(代理サーバ)だけでなんとかならないこともない。が、代理人が間に立っているといろいろと不便なことがあるのは世の常なので、外の世界と直接繋がる(ように見える)NATは動かしておいて損はない。
 しかし、これをまともに立ち上げるのは容易ではない。世の中の一般的な方法は大きく2種類あって、一つはLINUXにビルトインされているIP-Masquradeを使う方法。もう一つはIIJ-PPPにパッチをあてる方法だ。LINUXでは前者が、FreeBSDでは後者がよく用いられるようである。しかし、NetBSDでのPPPはpppdだ。こいつは困った。困った。.....と思っていたら、例の解説本にすばらしい解決方法が掲載されていた。なんと、NetBSDにもNATがビルトインで実装されていたのだ。何ともあっけない解決。
 大騒ぎしたものの、結局PPP関連は付録CD-ROMのppp-setjp.tgz だけで全て解決するのであった。ちゃんちゃん。

 そしてさらにapacheとperlが動くと、CD-ROMのおまけで入っているPPP接続/解除CGIが使えるようになる。こうなってしまえばいちいちBSDにログインしなくてもPPP接続/解除が行えるようになるので、使い勝手も直接接続とほとんど変わらない。

 今回はここまで。


Back to  Do Machintosh! or HOME