coLinux(0.8.x)のインストール [TAP-Win32でのブリッジ接続(WindowsXP)]

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

  1. coLinux設定ファイルの修正
  2. Host PCの設定
  3. coLinuxの設定
  4. LAN上の他の機器の設定

network-bridge

coLinux設定ファイルの修正

TAP-Win32の確認

インストール時に TAP-Win32をインストールするように選択しておくと、 「ネットワークとダイヤルアップ接続」に アイコンが一つ増えているはずです (coLinuxが起動していない状態では×印がついています)。 プロパティを見ると接続の方法のところに 「TAP-Win32 Adapter V8 (coLinux)」と表示されるので判別できるはずです。

network-property

TAP-Win32のアイコンが一つだけの人は、 coLinuxの設定ファイルを特にいじる必要はありません。 設定ファイルに以下の様な行があればOKです。 coLinuxが自動的にTAP-Win32を認識します。

[plain]
eth0=tuntap
[/plain]

TAP-Win32のアイコンが2個ある人(coLinuxを同時に複数立ち上げる場合等)はちょっと注意が必要です。 coLinuxの設定ファイルに使用するTAP-Win32を指定しなければなりません。 これはcoLinuxの設定ファイルで行うのですが、 TAP-Win32のアイコンの名前が日本語だとうまくいきません。 まず、アイコンの名前を半角英数字に変えます(例えば、"coLinux Network"とします)。

次に、coLinuxの設定ファイルのnetwoerkの部分を 以下のように書き換えます。

[plain]
eth0=tuntap,”coLinux Network”
[/plain]

このようにすると、coLinuxが使用するTAP-Win32を指定することができます。

設定ファイル例

この方法の場合の私のcoLinux設定ファイルは以下の通りです。 必要に応じてtuntapの部分を書き換えてください。

[plain]
kernel=vmlinux
cobd0=c:coLinuxroot.img
cobd1=c:coLinuxswap.img
root=/dev/cobd0
ro
initrd=initrd.gz
mem=128
eth0=tuntap
[/plain]

Host PCの設定

NAT接続の設定をしてしまった人は、 Host PCのインターネットの共有の設定を必ずオフにしておいてください。

準備

はじめに、Host PCのIPアドレス設定を固定IPとしている場合 (DHCPでない場合)は、その設定をメモっておきます。

ネットワークブリッジの作成

「コントロールパネル」→「ネットワーク接続」と開いて、 ブリッジするアイコンを2つ選択した状態で、 右クリックすると「ブリッジ接続」というメニューが現れるので これを選択します。 選択するアイコンは1つは「既存のLANへの接続」で もう一つのアイコンは「TAP-Win32 Adapter V8 (coLinux)の接続」 です。

network-bridge-xp1

ブリッジが作成されると「ネットワーク接続」のウィンドウに 「ネットワークブリッジ」という項目ができそこに アイコンができているはずです。

network-bridge-xp2

次にこのアイコンをダブルクリックしてプロパティを開きます。 そして「アダプタ:」のところで再び「既存のLANへの接続」と 「TAP-Win32 Adapter V8 (coLinux)の接続」の2つを選択します。 下の図では隠れていてよくわかりませんが、 「ローカルエリア接続(既存のLANへの接続)」と 「ローカルエリア接続3(TAP-Win32 Adapter V8 (coLinux)の接続)」の 2つのチェックボックスをオンにしています。

network-bridge-xp3

さらにHost PCのIPアドレスが固定IPである場合には、 ネットワークブリッジのプロパティの 「この接続は次の項目を使用します」という欄から 「インターネットプロトコル(TCP/IP)」のプロパティで 先ほどメモったIPアドレス設定を入力しておきます (こうしないとブリッジ接続を設定したとたん、 Host PCのIPアドレスをDHCPで設定しようとします)。

以上の設定をしてネットワークプロパティを閉じると、 ネットワーク接続のウィンドウでは、 「LANまたは高速インターネット」にあったアイコンが 「ネットワークブリッジ」に移動しているはずです。

network-bridge-xp4

セキュリティ設定の修正

非常に悩ましいのがこのセキュリティの設定です。 WindowsXP SP2では標準でセキュリティ機能が効いています。

セキュリティがOKになっていると外部からこのPCにアクセスできなくて、 安全といえば安全なのですが、 Host PCフォルダの共有とかができなくなってしまいます。

本来ならばTAP-Win32の接続はcoLinux専用で安全なので、 TAP-Win32の接続に関してはファイアウォールを 切ってしまってもいいのですが、 接続をブリッジ接続に組み込んでしまうと、 ブリッジ接続単位でしかファイアウォールの設定ができません。

とりあえずここでは、 安全のためファイアウォールの設定はpingが通るようにだけしておきます (面倒な方はこれもをしなくてもOKです)。

「コントロールパネル」→「Windowsファイアウォール」と開いて、 「詳細設定タブ」の「ネットワーク接続の設定」グループから 「ネットワークブリッジ (ネットワークブリッジ)」を選んだ状態で 設定ボタンを選択します。

network-firewall-xp1

詳細設定ダイアログボックスが開いたら「ICMPタブ」を選択して、 「エコー要求の着信を許可する」をオンにします。 これでpingコマンドに応答するようになります。

network-firewall-xp2

hostsファイルの修正

最後に、Host PCのhostsファイルを修正して、 coLinxのホスト名とIPアドレスを追加しておきましょう。 hostsファイルはC:WINNTsystem32driversetcにあります (Windowsのフォルダがc:WINNTの場合)。 メモ帳で開いて、以下の行を追加しておきましょう。

[plain]
192.168.10.6 colinux
[/plain]

以上で、host PC側の設定は完了です。

coLinux側の設定

colinux-consoleからrootでログインします。 以降はcolinux-consoleから操作します。

coLinuxのIPアドレスを変更するには、 /etc/network/interfaceを変更します。 変更する為のエディタコマンドはviかeditorが良いでしょう。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
# cd /etc/network
# editor interface
[/plain]

変更する内容は次のようにします。 IPアドレスをこれ以外にしたい人はaddressとgatewayのところを 書き換えてください。

[plain]
auto lo eth0

iface eth0 inet static
address 192.168.10.6
gateway 192.168.10.254
netmask 255.255.255.0

iface lo inet loopback
[/plain]

/etc/network/interfaceの書き換えが完了したら、 以下のコマンドでそれを反映させます。

[plain toolbar=false gutter=false highlight_lines=”1″]
# /etc/init.d/networking restart
Setting up IP spoofing protection: rp_filter
Reconfiguring network interface…done.
[/plain]

確認にはifconfigコマンドを使います。次のように表示されればOKです。

[plain toolbar=false gutter=false highlight_lines=”1″]
# ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0
—- 省略 —-

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
—- 省略 —-
[/plain]

細かな数字は違うかもしれませんが、eth0とloの2つ出力があることと、 eth0のinet addrが192.168.11.2であればOKです。 またゲートウェイの設定は以下のコマンドで確認します。

[plain toolbar=false gutter=false highlight_lines=”1″]
# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.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
[/plain]

ここでは0.0.0.0で始まる行のGatewayの列が192.168.10.254であればOKです。

colinux自身のホスト名はデフォルトではdebianとなっています。これを変えるには/etc/hostnameファイルを変更します。ここではホスト名をcolinuxにするため/etc/hostnameを以下の様にします。

[plain]
colinux
[/plain]

変更したら以下の様に反映と確認を行います。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
# /etc/init.d/hostname.sh
# uname -n
colinux
[/plain]

次に、/etc/hostsファイルを作成しcolinux自身と host PCの名前を追加しておきましょう。 Host PCの名前をwin2kの場合は、/etc/hostsを以下のようにすればOKです。

[plain]
127.0.0.1 localhost
192.168.10.3 win2k
192.168.10.6 colinux
[/plain]

次に、最後に/etc/resolv.confを編集して、 自分のプロバイダのDNSサーバのアドレスを記入します。 例えば、 DNSサーバのアドレスが123.123.123.123と123.123.123.124の場合は、 /etc/resolv.confの内容を次のようにします。

[plain]
nameserver 123.123.123.123
nameserver 123.123.123.124
search
[/plain]

動作確認

ここまできたら、ちゃんと通信できるかテストしてみましょう。

まずはHost PC→coLinuxです。pingコマンドで調べましょう。 Host PCのコマンドプロンプトで以下のコマンドを実行して返事が返ってくることを確認しましょう。

[plain toolbar=false gutter=false highlight_lines=”1″]
> ping 192.168.10.6

Pinging 192.168.10.6 with 32 bytes of data:

Reply from 192.168.10.6: bytes=32 time=1ms TTL=64
Reply from 192.168.10.6: bytes=32 time=1ms TTL=64
Reply from 192.168.10.6: bytes=32 time=1ms TTL=64
Reply from 192.168.10.6: bytes=32 time<1ms 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 = 1ms, Average = 0ms
[/plain]

うまくいったら、 「ping colinux」でもうまく動くことも確認しておきましょう。

次はcoLinux→Host PCの確認です。 まあ、Host PC→coLinuxが大丈夫なら問題ないと思いますが 念のためやっておきます。 colinux-consoleで次のコマンドを打ちましょう。

なお、これは前述のファイアウォールの設定で 「エコー要求の着信を許可する」をオンにしている場合です。 オフにしている場合は、ping応答が帰ってきません。

[plain toolbar=false gutter=false highlight_lines=”1″]
# 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=16.7 ms
64 bytes from 192.168.10.3: icmp_seq=1 ttl=128 time=0.9 ms
64 bytes from 192.168.10.3: icmp_seq=2 ttl=128 time=0.9 ms
64 bytes from 192.168.10.3: icmp_seq=3 ttl=128 time=0.9 ms

— 192.168.10.3 ping statistics —
4 packets transmitted, 4 packets received, 0% packets loss
rount-trip min/avg/max = 0.9/4.8/16.7 ms
[/plain]

こちらも、「ping -c 4 win2k」ででもうまく動くことも確認しておきます。

次に、colinuxからインターネットに出れることを確認しましょう。 colinux-consoleで自分のプロバイダのサイトにpingしてみて、 返事が返ってくることを確認します。

[plain toolbar=false gutter=false highlight_lines=”1″]
# ping -c 4 scratchpad.f2c.com
PING scratchpad.f2c.com (69.25.27.171): 56 data bytes
64 bytes from 69.25.27.170: icmp_seq=0 ttl=241 time=194.3 ms
64 bytes from 69.25.27.170: icmp_seq=1 ttl=241 time=184.7 ms
64 bytes from 69.25.27.170: icmp_seq=2 ttl=241 time=184.8 ms
64 bytes from 69.25.27.170: icmp_seq=3 ttl=241 time=185.7 ms

— scratchpad.f2c.com ping statistics —
4 packets transmitted, 4 packets received, 0% packets loss
rount-trip min/avg/max = 184.7/187.3/194.3 ms
[/plain]

最後に、LAN上にPCがある人はそこからcolinuxにpingしてみましょう。 これもうまくいくはずです。 以下はLAN上のLinux Serverからpingした結果です。

[plain toolbar=false gutter=false highlight_lines=”1″]
$ 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=0.509 ms
64 bytes from 192.168.10.6: icmp_seq=1 ttl=64 time=0.379 ms
64 bytes from 192.168.10.6: icmp_seq=2 ttl=64 time=0.334 ms
64 bytes from 192.168.10.6: icmp_seq=3 ttl=64 time=0.400 ms

— 192.168.10.6 ping statistics —
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.334/0.405/0.509/0.067 ms
[/plain]

LAN上の他の機器設定

実はほとんどやることはありません。 colinuxにホスト名でアクセスしたい場合は、 LAN上の各機器のhostsファイルに以下の行を追加すればOKです。

[plain]
192.168.10.6 colinux
[/plain]

以上で、この方法の設定はおしまいです。

フォローする