SVX日記
2006-04-02(Sun) 電車の中でLANを組む
なんだか、だいぶ間があいてしまったが、まずは今年も、志半ばにして病に倒れてしまった我が心の師、祝一平氏を偲んで、1分間の黙祷を捧げさせていただく。そちらはどんな塩梅でしょうか? 今もその筋なコトを考え、実践されていらっしゃるのでしょうか? もしかしたら、もう生まれ変わって、コチラの世界で再びその筋を目指してマイ進中なのでしょうか?
さて、今日は予告どおりWBEL3とWBEL4を同時に起動して、互いに通信をしてみちゃったりしたい。フツーならWBEL4をcoLinuxで動かしたりしたら、次はXの設定なんかに進んでGUI環境を整えちゃったりするものなのだが、オイラはXにまるで興味がない。よって、こーゆー地味な方に突っ走っていってしまうのである。あーぁ、こんなコトだから、今日もスクリーンショットが地味すぎて困ってしまうのだ。
まずは、WBEL4を起動したら、いきなりネットワークがつながらない。WBEL3を起動していたりすると、Win側にひとつしかないTAPドライバの口を取り合ってしまうのが常だが、それが原因ではなくネットワークがつながらない。なぜなら、一旦ノートPCにインストールした時にeth0の設定にMACアドレスが書き込まれてしまっているので、それとインターフェイスが矛盾していると上がらないのだ。これの修正は矛盾したHWADDRを消すだけ。ついでにeth0のネットワークの設定もしておこう……
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.5.129
NETMASK=255.255.255.224
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.5.130
・HWADDRの行は消す
# ifup eth0
・これでインターフェイスは起動するはず
# ifconfig
・上がっているか確認する
で、あまり必要ではないのだが、Win側のIPアドレスはcoLinux側のdhcp機能で設定させたりしてみたい。こーすると、Win側のTAPの設定は自動にしておくだけで済む。あ、まずはdhcpパッケージのインストールね。
# rpm -ivh /mnt/bin3/WhiteBox/RPMS/dhcp-3.0.1-38_EL4.i386.rpm
# cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf
# vi /etc/dpcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.5.128 netmask 255.255.255.224 {
option subnet-mask 255.255.255.224;
range dynamic-bootp 192.168.5.144 192.168.5.159;
default-lease-time 21600;
max-lease-time 43200;
host suzaku40 {
hardware ethernet 00:FF:00:D7:A7:A1;
fixed-address 192.168.5.130;
}
}
縁起モンなので、ここらで一度、再起動しておこう……と、その前にうっとおしいサービスを落としておく。落としとくとよいサービスは、canna, kudzu, messagebus, smartdあたり。あと、cronを生かしておくと、突然makewhatisというmanページかなんかのインデックス処理が走ってCPUを食いまくるので、cronを落としておくか、/etc/cron.daily, /etc/cron.weeklyの中のmakewhatisをコメントアウトしておくのもよい。サービスを落とすにはntsysvコマンドを利用するとラクでいいぞ。
再起動したら、起動時の[FAILED]エラーが相当減ったはずである。気分よく、一般ユーザを追加したりしてみよう。apacheを動かした時にsuexecで悩まないように、uid, gidとも500で作る。
# groupadd -g 500 furuta
# useradd -u 500 -g 500 -m mitsu
# passwd mitsu
$ ssh 192.168.5.129 -l mitsu
作業の順番が前後するが、WBEL3とWBEL4を同時に使う場合、TAPデバイスを追加する必要がある。つまりは、仮想Linuxサーバとはいってもサーバであるから、2台のサーバに各々1枚ずつ(1枚以上でもよい)ネットワークカードが必要になるのだ。PC内部に存在するサーバに対し、ネットワークカードを1枚追加で挿すイメージである。
設定、コントロールパネル、ハードウェアの追加、次へ、ハードウェアを接続しています、次へ、新しいハードウェアデバイスの追加、次へ、一覧から選択したハードウェアをインストールする、次へ、次へ、ネットワークアダプタ、次へ、TAP-Win32 Provider(coLinux)、TAP-Win32 Adapter V8(coLinux)、次へ、次へ、続行、完了……って感じだ。
TAPデバイスが追加できたら、名前をcoLinux30とかcoLinux40とかにしておく。で、この名前は、coLinuxの起動設定ファイル、wbel4.colinux.xml等から参照される。具体的には設定ファイルの末尾の設定を、以下のような記述に変更する。
<network index="0" type="tap" name="coLinux40" />
各々の環境をちゃんと設定すると、WBEL3とWBEL4の両方が立ち上がるようになる。cygwinの端末から、各々の環境にsshでログインできるか確認してほしい。この時点で/etc/hostsはこんな感じかな。
192.168.5.65 wbel3-co wbel3-co0
192.168.5.66 suzaku3 suzaku30
192.168.5.129 wbel4-co wbel4-co0
192.168.5.130 suzaku4 suzaku40
実はcoLinuxは起動直後にTAPデバイスが有効になるので、Win側からはその時点でdhcpへの照会が始まるのだが、coLinux上でdhcpdが起動するまでには相当のタイムラグがあるので間に合わず、Win側のTAPデバイスに変なIPが付くコトがある。その場合は、Win側でipconfig /renewを実行し、IPを設定しなおすとよい。
で、仕上げ。この状況ではWinマシンがルータの役割をしないので、WBEL3とWBEL4の間で通信ができない。Winマシンをルータにするには、サービスを立ち上げればいい。マイコンピュータ、管理、サービスとアプリケーション、サービス、Routing and Remote Access、開始だ。スタートアップの種類を自動に設定しておくと、再起動毎にサービスを開始する手間がなくていい。
さて、WBEL3からWBEL4へのpingは通るだろうか? ルーティングの設定をちゃんとすると、個々の環境からLynxでWebアクセスもできるようになる。時々はwgetでrpmファイルをゲットする必要もあるであろうから、ネットワークはちゃんと設定しておくに越したことはない。