SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

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
・上がっているか確認する

  ……妙なネットマスクだが、WBEL3とWBEL4を同時に使いつつ、いろいろ実験をしたいんでこんなことにしている。GATEWAYはWin側のインターフェイスのIPアドレス(の予定)だ。

  で、あまり必要ではないのだが、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

  一般ユーザが作成できたら、主な作業はそっちでする。cygwinからsshでログインだ。

$ 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ファイルをゲットする必要もあるであろうから、ネットワークはちゃんと設定しておくに越したことはない。

  なお、Win側でルーティングサービスを上げる代わりに、ブリッジ接続を使うという手もあるらしい。おそらく、スイッチ(ハブ)につなぐような感じになるのだろうな。こっちのが設定は簡単だが、ネットワークが別にならないので面白みがないという問題はあるが。

  最後に、以前からやってみたかった、仮想TAP2本を使ったBonding環境(2本を束ねて1本にし、通信速度を倍もしくは信頼性を倍にする手法)の構築であるが……coLinuxにはBondingドライバは用意されてませんでした……そりゃそうか。ちゃんちゃん。