CoLinux
Advertisement

「手順」に戻る

概要[]

選択肢と特徴

coLinuxでネットワークに接続するには、3つの方法があります。それぞれの特徴は以下の通りです。

  • 1.Slirp
一番手軽ですが、低速です。ICMPメッセージ(pingとか)の送受信はできません。ワイヤレスカードをつかっていても問題が起きにくいです。
  • 2.TAPドライバ
ホストOSとの間の転送速度は最も高速ですが、設定には十分なネットワークの知識が必要です。。coLinuxとホストOSの間でプライベートネットワーク接続します。
  • 3.pcap-bridge
Slirpと比較すると、設定は必要ですが、速いです。ワイアレスカードと相性が悪いです。


設定方法[]

confファイルに設定するか、coLinuxの起動パラメータとして設定することができます。

いずれの場合にも、以下のように、ethX= にネットワークのタイプを指定してください。

ethX=slirp | tuntap | pcap-bridge,<options>
  • <X>は必須です。ネットワークインターフェースを識別するために、任意の番号を指定してください。
  • 第一パラメータは、ホスト(Win)側のインターフェースを指定します。slirp 、 tuntap 、 pcap-bridgeが指定できます。
  • オプションもつけられます。


タイプごとの設定方法は、この後述べます。
ネットワーク設定とネットワークのタイプについて詳しくは、README.TXTを参照してください。また、Wikiの 'Network' には例がたくさんあります。

Tuntap[]

概要[]

Tuntapとは

Tuntap は、coLinuxとホストの間のプライベートネットワークです。WindowsホストとcoLinuxの間のネットワークとしては、最速の方法です。

注意事項

ネットワークは、Windowsホストのアダプタで使用されていないサブネットエリアに構築する必要があります。Tuntap を実ネットワーク外に構築できますが、WindowsとLinuxのネットワークについて十分な知識が必要です。 ネットワークに詳しくなければ、tuntap を WindowsとcoLinux間の SSH login や VNC network のみに利用するのがよいでしょう。

設定方法[]

ちょっと面倒な手順があります。。

TAPドライバをインストールします[]

インストールを参照してください。

confファイルなどに設定します[]

構文
ethX=tuntap,<network connection name>,<MAC>
  • <X>は必須です。ネットワークインターフェースを識別するために、任意の番号を指定してください。
  • <network connection name>はオプションです。hostシステムに設定したTAPアダプタの名前を指定してください。
hostシステムに設定したTAPアダプタの名前です。"Local Connection 1"とか、そんな名前がついています。名前をつけなkれば、coLinuxは最初にみつけたTAPアダプタを使用します。TAPアダプタを1つしか設定していない場合は、名前は指定しなくてよいです。
  • <MAC>はオプションです。ハードウェアMACアドレスを指定してください。指定しない場合、適当な番号をつけて使用します。

coLinuxを起動します[]

coLinuxの起動とログインを参照してください。

ブリッジを作成します[]

  • Windowsのコントロールパネルより、「ネットワーク接続」を開きます。
  • インターネットに接続可能な接続とTAPアダプタを選択し、コンテキストメニュー(右クリック)より「ブリッジ接続」を選びます。
⇒数秒待つと、ブリッジが作成されます。

ネットワークを再起動します[]

coLinuxのコンソールにて以下のコマンドを実行し、ネットワークを再起動します。

service network restart

IPアドレスが割り当てられたかどうか、以下のコマンドで確認できます。(Xには、設定ファイルで指定した番号を指定してください)

ifconfig ethX

※オプション ethX(eth0など)を指定しない場合は、すべてのネットワーク接続が表示されます。

設定例[]

以下に例を挙げます。

例1
eth0=tuntap				# Use the first TAP device.
  • 最も単純な指定方法です。最初にみつけたTAPデバイスを使用します。TAPデバイスがひとつの場合はこれでOKです。


例2
eth0=tuntap,"Local Area Network"	# You name it.
  • TAPデバイスの名前を指定します。複数のTAPデバイスがある場合には、指定したほうがよいでしょう。(TAPデバイスがひとつの場合も指定できます)


例3
eth0=tuntap,,11:22:33:44:55:66		# Set a MAC address.
  • ハードウェアMACアドレスを指定した例です。

Slirp[]

概要[]

メリット

Slirpは、インターネットに接続するための最もシンプルな方法です。
Windows上でユーザアプリケーションとして動作し、Windows側の設定を変更する必要ありません。
Slirpは、WinSockを経由してアクティブなネットワークアダプタでTCPパケットやUDPパケットを送受信します。

デメリット

3つの接続方法の中で、最も低速です。

制約

ICMPメッセージの送受信はできません。つまり、pingやtracerouteコマンドは使えません。
したがって、ネットワークの接続がうまくできたかどうかを確認するには、wgetとかftp等、別のコマンドを使用してください。

設定方法[]

構文

Slirpを使用する場合の構文は以下の通りです。

ethX=slirp,<MAC>,<redirections>
  • <X>は必須です。ネットワークインターフェースを識別するために、任意の番号を指定してください。
  • <MAC>はオプションです。ハードウェアMACアドレスを指定してください。
  • <redirections>はオプションです。WindowsホストからcoLinuxへのアクセスを許可するための設定です。これに関して、以下に述べます。


<redirections>について

以下、<redirections>についてもう少し説明します。

Slirpは、coLinuxの 外向きアクセス専用のファイアウォールとして動作します。
デフォルトでは外部からcoLinuxにゲスト接続できません。<redirections>を指定することにより、外部から接続できるようになります。

<redirections>の構文は、以下の通りです。

[プロトコル("tcp" or "udp")]:[Windowsホストのポート]:[coLinuxのためのポート][:count]

形式の説明:

  • プロトコルには、"tcp" or "udp"を指定してください。
  • Windowsホストのポートには、Windowsホストからアクセスさせるためのポートを指定してください。
  • coLinuxのためのポートには、coLinuxで使用しているポートを指定してください。
  • countは、連続したポートを配列で指定する場合に使います。連続したポートの数を指定してください。(設定例の4を参照)
  • 複数指定する場合は、tcp:2222:22/tcp:8080:80のように、/で区切ってください。


補足

Windowsホストのファイアウォールで、colinux-serial-daemon.exeから外部への接続を許可しておいてください。

設定例[]

以下に、設定例を挙げます。

例1
eth0=slirp			# Simplest slirp mode (outgoing only)
  • 最も単純な設定です。coLinuxから外へのアクセスはできますが、外からcoLinuxへ接続できません。


例2
eth0=slirp,,tcp:22:22		# Forwards SSH from host to guest
  • coLinuxのSSH(ポート22)をWindowsよりポート22でアクセスできます。


例3
eth0=slirp,,tcp:2222:22		# Forwards 2222 on host to guest 22
  • coLinuxのSSH(ポート22)をWindowsよりポート2222でアクセスできます。


例4
eth0=slirp,,tcp:2222:22/tcp:4000:80:3	# Forwards counts of ports
					# Host --> guest (coLinux)
					# 2222 --> 22
					# 4000 --> 80
					# 4001 --> 81
					# 4002 --> 82
  • coLinuxのSSH(ポート22)をWindowsよりポート2222でアクセスできます。
  • coLinuxのポート80~82をWindowsより、それぞれポート4000~4002でアクセスできます。

補足[]

coLinux内部では、パラメータを取得するために、DHCP-Clientを使うか、スタティックなパラメータを使います。
(注)コード埋め込みという意味だと思います。

WinPCap[]

概要[]

Pcap-Bridgeは実ネットワークアダプタカードを使用したイーサネットフレームの送受信にイーサネットライブラリを使用します。物理的なネットワークカード上で、もう一つネットワークカードを追加したかのようにふるまいます。これにより、coLinux仮想マシンをインターネットに接続することができます。外部からみると、あたかもWindowsホストが別のMACアドレスをもったネットワークカードをもっているかのようです。
coLinuxサイドからみると、イーサネットカードを使用してできることは何でもできます。(Pingも、ルータ経由のDHCPも、TCP/IPやIPXなど多くのプロトコルが利用できます)
注意して欲しいのは、この方法をとるとネットワーク上に仮想ネットワークを構築することになりますので、大概のネットワークポシリーにあわないということです。MACアドレスが同一コネクション内でも変わるため、pcap-bridgeとして使用できないネットワークカードもあります。Pcap-bridgeは、実ネットワーク接続がないと機能しません。つまり、実ネットワークアダプタが接続されていないと、この接続方法は使えないということです。

設定方法[]

構文
ethX=pcap-bridge,<network connection name>,<MAC>,<promisc>
  • <X>は必須です。ネットワークインターフェースを識別するために、任意の番号を指定してください。
  • <network connection name>は必須です。イーサネットや無線カードの名前を"をつけて指定してください。通常は"Local Connection"とか、そんな名前です。
  • <MAC> はオプションです。ハードウェアMACアドレスを指定してください。
  • <promisc>はオプションです。
<promisc>に何も指定しないと、'promisc'(無差別)となります。
無差別モードでは、アダプタに直接アドレスされていないパケットを受け取ります(sniffing mode)。
これはイーサネットアダプタのために動作します(???)。
ワイヤレスカードのように、'nopromisc'でしか動作しないものもあります。

設定例[]

例1
eth0=pcap-bridge,"Local Area Network"	# Uses PCAP bridging.
  • PCAPブリッジを使用する例です。


例2
eth0=pcap-bridge,"Local Area Network",11:22:33:44:55:66,nopromisc
					# Define a MAC address and
					# disable the Promiscuous mode.
  • MACアドレスを指定します。
  • promisc'(無差別)モードを無効にします。

ICS[]

Internet Connection Sharing(インターネット接続共有)を利用する方法です。

Advertisement