前回、Slirp を使ったネットワークについて見てみましたが、WinPcap を使った場合はどうでしょうか。
実は、この TOSHIBA AX/55E では現在のところうまくいきませんでした。今回は、この詳細を報告したいと思います。
最初に Fedora-10.bat を修正してみます。
ここで、WinPcap を使った時の設定に変更します。
Vista の場合は、
「コントロール パネル」 > 「ネットワークの状態とタスクの表示」 の中で、
「ネットワーク(パブリックネットワーク)」の部分で「接続」というところに現れる名前(ここでは「ローカル エリア接続」)を使います。
colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/coLinux/Fedora-10.img"
cobd1="C:/coLinux/swap.img" root=/dev/cobd0 ro
eth0=pcap-bridge,"ローカル エリア接続",11:02:AA:40:10:20
ここで、MAC アドレスを指定していますが、複数の coLinux を動作させる場合は、重複する可能性がありますので指定しました。ちなみに、11:02:AA は、 http://standards.ieee.org/regauth/oui/oui.txtにおいて、なにも指定されていないものを使いました。
Fedora10側の設定は、dhcp を使う設定のままにして、coLinux を立ち上げると、ここで使っているブロードバンドルータの dhcp サーバから情報を得て、IPアドレスとゲートウェイ設定が行われていました。
ping は、内から外と外から内の両方とも OK になりました。
しかし、ssh 等がまったくつながりません。
Wireshark でパケットを調べると、coLinux からはパケットが出ていくのですが、相手がACKを返しても反応がなく、coLinux が応答なしとみなして、またパケットを送りだすのを繰り返しているように見えます。
また、dig の応答はあるので、UDPの一部は正常に通信できるようです。
Slirp ではうまく通信できるので、Fedora10の設定の問題でないですね。
そこで、http://scratchpad.fc2web.com/colinux/winpcap.htmlを参考にして、
「ローカル エリア接続のプロパティ」ウィンドウで、「接続の方法」をみると、
Marvell Yukon 88E8039 PCI-E Fast Ethernet Controller
となっていました。これのプロパティで、
IPv4チェックサム オフロード
TCPチェックサム オフロード
UDPチェックサム オフロード
のすべてを、オフにしてもだめでした。
また、http://support.microsoft.com/kb/888750/の方法2も関係ありませんでした。
さらに、ドライバのバージョンが、10.0.4.3 だったので、http://www.marvell.com/driversから、新しいドライバ 10.69.2.3 (すこい更新の頻度ですね。)を持ってきて試しましたが、(Marvell Miniport Driver をアンインストールしてから、setup.exe を実行すればインストールできます。)これもダメでした。
Fedora-10.bat で、eth0 に nopromisc オプションを付けるのもダメです。
ということで、Marvell Yukon 88E8039 の場合は、coLinux 0.7.3 で WinPcap を使ったネットワークはできない場合があるというのが、現時点でのこのブログの結論です。
(この問題の解決には、解決編をご覧ください。この記事は、ダメな場合の対処方法がいくつか書いてあるので、その点が少しだけ役立つかもしれませんね。)
実は、この TOSHIBA AX/55E では現在のところうまくいきませんでした。今回は、この詳細を報告したいと思います。
最初に Fedora-10.bat を修正してみます。
ここで、WinPcap を使った時の設定に変更します。
Vista の場合は、
「コントロール パネル」 > 「ネットワークの状態とタスクの表示」 の中で、
「ネットワーク(パブリックネットワーク)」の部分で「接続」というところに現れる名前(ここでは「ローカル エリア接続」)を使います。
colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/coLinux/Fedora-10.img"
cobd1="C:/coLinux/swap.img" root=/dev/cobd0 ro
eth0=pcap-bridge,"ローカル エリア接続",11:02:AA:40:10:20
ここで、MAC アドレスを指定していますが、複数の coLinux を動作させる場合は、重複する可能性がありますので指定しました。ちなみに、11:02:AA は、 http://standards.ieee.org/regauth/oui/oui.txtにおいて、なにも指定されていないものを使いました。
Fedora10側の設定は、dhcp を使う設定のままにして、coLinux を立ち上げると、ここで使っているブロードバンドルータの dhcp サーバから情報を得て、IPアドレスとゲートウェイ設定が行われていました。
ping は、内から外と外から内の両方とも OK になりました。
しかし、ssh 等がまったくつながりません。
Wireshark でパケットを調べると、coLinux からはパケットが出ていくのですが、相手がACKを返しても反応がなく、coLinux が応答なしとみなして、またパケットを送りだすのを繰り返しているように見えます。
また、dig の応答はあるので、UDPの一部は正常に通信できるようです。
Slirp ではうまく通信できるので、Fedora10の設定の問題でないですね。
そこで、http://scratchpad.fc2web.com/colinux/winpcap.htmlを参考にして、
「ローカル エリア接続のプロパティ」ウィンドウで、「接続の方法」をみると、
Marvell Yukon 88E8039 PCI-E Fast Ethernet Controller
となっていました。これのプロパティで、
IPv4チェックサム オフロード
TCPチェックサム オフロード
UDPチェックサム オフロード
のすべてを、オフにしてもだめでした。
また、http://support.microsoft.com/kb/888750/の方法2も関係ありませんでした。
さらに、ドライバのバージョンが、10.0.4.3 だったので、http://www.marvell.com/driversから、新しいドライバ 10.69.2.3 (すこい更新の頻度ですね。)を持ってきて試しましたが、(Marvell Miniport Driver をアンインストールしてから、setup.exe を実行すればインストールできます。)これもダメでした。
Fedora-10.bat で、eth0 に nopromisc オプションを付けるのもダメです。
ということで、Marvell Yukon 88E8039 の場合は、coLinux 0.7.3 で WinPcap を使ったネットワークはできない場合があるというのが、現時点でのこのブログの結論です。
(この問題の解決には、解決編をご覧ください。この記事は、ダメな場合の対処方法がいくつか書いてあるので、その点が少しだけ役立つかもしれませんね。)