coLinux(0.6.x)のインストール [WinPCapを使ったブリッジ接続]

この方法の目標は下図のネットワークを構築することです。 設定は3段階あります。

  1. Host PCの設定
  2. coLinuxの設定
  3. LAN上の他の機器の設定
Bridge Model

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のアイコンです。 ここでは関係ありません。

network property

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 index="1" path="\DosDevices\c:\colinux\swap.img" enabled="true" />
    <bootparams>root=/dev/cobd0</bootparams>
    <initrd path="initrd.gz" />
    <image path="vmlinux" />
    <memory size="128" />
    <network index="0" type="bridged" name="Local Area 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を使用した場合に、 うまくネットワークが機能しない問題に遭遇する場合があります。 私が遭遇した点を以下のページに書いてありますので 参考にしてみてください

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送