この方法の目標は下図のネットワークを構築することです。 設定は3段階あります。
- Host PCの設定
- coLinuxの設定
- LAN上の他の機器の設定
Host PCの設定
まだインストールしていない人はWinPCapをインストールしましょう。 http://www.winpcap.org/install/default.htmから 「WinPcap auto-installer (driver+DLLs)」をダウンロードして ダブルクリックすればOKです (このページを作成している時点ではWinPcap 4.0.1が正式版でした)。
接続名の変更
最近のcoLinuxはブリッジするLAN(coLinuxを接続したいLAN)を自動認識 するようなので、 Host PCにネットワークカード(LAN端子)が1個しかついていない人は この処理をする必要がありません。
LAN端子が2個以上ある場合は、 ブリッジするLAN(coLinuxを接続したいLAN)の名前を coLinuxの設定ファイルで指定する必要があるのですが、 接続名が全角だと上手く指定できません。
そこで、デフォルトでは「ローカルエリア接続」という名前に なっていると思いますが、 これを半角英数字の名前に変えます (たとえば"Local Area Network")。 なお、下図で×がついているのはTAP-Win32のアイコンです。 ここでは関係ありません。
hostsファイルの修正
あとは、Host PCのhostsファイルを修正して、 coLinxのホスト名とIPアドレスを追加しておきましょう。 hostsファイルはC:\WINNT\system32\drivers\etc\にあります(Windowsのフォルダがc:\WINNTの場合)。 メモ帳で開いて、以下の行を追加しておきましょう。
192.168.10.6 colinux
以上で、Host PC側の設定は完了です。
coLinux側の設定
coLinuxの設定ファイルの変更
coLinux自体の設定ファイルを変更する必要があります。 coLinuxが起動しているならば閉じておきましょう。
まず、coLinuxの設定ファイル(my.colinux.xml)を編集しますので、 メモ帳で開きましょう。 そして以下のように変更します。変更したのはnetworkのところだけです。
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" path="\DosDevices\c:\colinux\root.img" enabled="true"></block_device> <block_device index="1" path="\DosDevices\c:\colinux\swap.img" enabled="true"></block_device> <bootparams>root=/dev/cobd0</bootparams> <initrd path="initrd.gz"></initrd> <image path="vmlinux"></image> <memory size="128"></memory> <network index="0" type="bridged" name="Local Area Network"></network> </colinux>
type属性を「bridged」に、 name属性を「ネットワークとダイアルアップ接続に表示される接続の名前」 にするところが変更点です。
name属性は必要に応じて指定します。 LANが1個ならば通常省略することができますが、 coLinuxがLANを認識しない場合にはここでブリッジするLANを指定します。 name属性に指定する名前が半角英数字でなければならないのは 既述のとおりです。
coLinux内(Debian)の設定変更
これ以降は、coLinuxを起動して設定を変更します。
colinux-consoleからrootでログインします。 以降はcolinux-consoleから操作します。
coLinuxのIPアドレスを変更するには、 /etc/network/interfaceを変更します。 変更する為のエディタコマンドはviかeditorが良いでしょう。
# cd /etc/network # editor interface
変更する内容は次のようにします。 IPアドレスをこれ以外にしたい人はaddressを書き換えてください。 gatewayのところは、ADSLモデムのIPアドレスです。
auto lo eth0 iface lo inet loopback iface eth0 inet static address 192.168.10.6 gateway 192.168.10.254 netmask 255.255.255.0
/etc/network/interfaceの書き換えが完了したら、 以下のコマンドでそれを反映させます。
# /etc/init.d/networking restart Reconfiguring network interface...done.
確認にはifconfigコマンドを使います。次のように表示されればOKです。
# ifconfig eth0 Link encap:Ethernet HWaddr B0:C4:20:00:00:01 inet addr:192.168.10.6 Bcast:192.168.10.255 Mask:255.255.255.0 ---- 省略 ---- lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ---- 省略 ----
細かな数字は違うかもしれませんが、eth0とloの2つ出力があることと、 eth0のinet addrが192.168.10.6であればOKです。 またゲートウェイの設定は以下のコマンドで確認します。
# route -n Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.10.254 0.0.0.0 UG 0 0 0 eth0
ここではdefaultで始まる行のGatewayの列が192.168.10.254であればOKです。
次に、/etc/hostsファイルを作成しcolinux自身と Host PCの名前を追加しておきましょう。 Host PCの名前をwin2kの場合は、/etc/hostsを以下のようにすればOKです。
127.0.0.1 localHost 192.168.10.3 win2k 192.168.10.6 colinux
次に、最後に/etc/resolv.confを編集して、 自分のプロバイダのDNSサーバのアドレスを記入します。 例えば、 DNSサーバのアドレスが123.123.123.123と123.123.123.124の場合は、 /etc/resolv.confの内容を次のようにします。
nameserver 123.123.123.123 nameserver 123.123.123.124
動作確認
ここまできたら、ちゃんと通信できるかテストしてみましょう。
まずはHost PC→coLinuxです。pingコマンドで調べましょう。 Host PCのコマンドプロンプトで以下のコマンドを実行して返事が返ってくることを確認しましょう。
> ping 192.168.10.6 Pinging 192.168.10.6 with 32 bytes of data: Reply from 192.168.10.6: bytes=32 time<10ms TTL=64 Reply from 192.168.10.6: bytes=32 time<10ms TTL=64 Reply from 192.168.10.6: bytes=32 time<10ms TTL=64 Reply from 192.168.10.6: bytes=32 time<10ms TTL=64 Ping statistics for 192.168.10.6: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
うまくいったら、 「ping colinux」でもうまく動くことも確認しておきましょう。
次はcoLinux→Host PCの確認です。 まあ、Host PC→coLinuxが大丈夫なら問題ないと思いますが 念のためやっておきます。 colinux-consoleで次のコマンドを打ちましょう。
# ping -c 4 192.168.10.3 PING 192.168.10.3 (192.168.10.3): 56 data bytes 64 bytes from 192.168.10.3: icmp_seq=0 ttl=128 time=1.3 ms 64 bytes from 192.168.10.3: icmp_seq=1 ttl=128 time=0.3 ms 64 bytes from 192.168.10.3: icmp_seq=2 ttl=128 time=0.3 ms 64 bytes from 192.168.10.3: icmp_seq=3 ttl=128 time=0.3 ms --- 192.168.10.3 ping statistics --- 4 packets transmitted, 4 packets received, 0% packets loss rount-trip min/avg/max = 0.3/0.5/1.4 ms
こちらも、「ping -c 4 win2k」ででもうまく動くことも確認しておきます。
次に、colinuxからインターネットに出れることを確認しましょう。 colinux-consoleで自分のプロバイダのサイトにpingしてみて、 返事が返ってくることを確認します。
# ping -c 4 scratchpad.f2c.com PING scratchpad.f2c.com (69.25.27.171): 56 data bytes 64 bytes from 69.25.27.171: icmp_seq=0 ttl=243 time=18.7 ms 64 bytes from 69.25.27.171: icmp_seq=1 ttl=243 time=20.1 ms 64 bytes from 69.25.27.171: icmp_seq=2 ttl=243 time=15.5 ms 64 bytes from 69.25.27.171: icmp_seq=3 ttl=243 time=17.6 ms --- scratchpad.f2c.com ping statistics --- 4 packets transmitted, 4 packets received, 0% packets loss rount-trip min/avg/max = 15.5/17.9/20.1 ms
最後に、LAN上にPCがある人はそこからcolinuxにpingしてみましょう。 これもうまくいくはずです。 以下はLAN上のLinux Serverからpingした結果です。
$ ping -c 4 192.168.10.6 PING 192.168.10.6 (192.168.10.6): 56 data bytes 64 bytes from 192.168.10.6: icmp_seq=0 ttl=64 time=2.4 ms 64 bytes from 192.168.10.6: icmp_seq=1 ttl=64 time=0.8 ms 64 bytes from 192.168.10.6: icmp_seq=2 ttl=64 time=0.9 ms 64 bytes from 192.168.10.6: icmp_seq=3 ttl=64 time=0.9 ms --- 192.168.10.6 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.8/1.2/2.4 ms
LAN上の他の機器設定
実はほとんどやることはありません。 colinuxにホスト名でアクセスしたい場合は、 LAN上の各機器のhostsファイルに以下の行を追加すればOKです。
192.168.10.6 colinux
以上で、この方法の設定はおしまいです。
うまくいかない場合は…
WinPcapを使用した場合に、 うまくネットワークが機能しない問題に遭遇する場合があります。 私が遭遇した点を以下のページに書いてありますので 参考にしてみてください
コメント