Ubuntu 9.04、カーネル2.6.28-18、およびvmware-server2.0.1を実行しています。
NATまたはホストのみではなくブリッジインターフェイスを使用するように仮想Linuxマシンをセットアップしようとしています。NATとホストのみは正常に機能します。vmware-config.pl
を実行するときは、/ dev/vmnet0をeth0のブリッジに、/ dev/vmnet1をホストのみに、/ dev/vmnet8をNATに設定しました。
ifconfig -a
を実行すると、物理インターフェイス(eth0)、vmnet1、およびvmnet8が両方とも稼働していて、IPアドレスが割り当てられていることがわかります。ここには関係のない他のさまざまなインターフェースもあります。
Webコンソールで、ゲストマシンのネットワークカードをブリッジするように要求すると、ブリッジされたセットアップが「使用不可」であると表示され、無効なデバイスアイコンが表示されます。ゲストマシンの内部には、好きなように設定できるeth0インターフェイスがありますが、外部ネットワークやホストを見ることができません。
Vmware/hostd.logに、「デバイスvmnet0のネットワークブリッジが実行されていません。仮想マシンはホストまたはネットワーク上の他のマシンと通信できません」というエラーが表示され、問題が確認されます。
vmnet-bridgeが実行されており、プロセステーブルに次のように表示されます。
/usr/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 -i eth0
/var/run/vmnet-bridge-0.pidファイルがあり、正しいプロセスを指していることを確認します。
私は この質問 Ubuntu 9.04とブリッジインターフェースに関連しているのを見ました。ポスターは、vmware-config.plスクリプトの欠陥のためにvsockライブラリが構築されていないと判断しました。パッチを適用し、スクリプトを再実行して、vsock.koとvsock.oが/ libディレクトリ構造にあることを確認しました。 vsockはlsmod
に表示されます。
私の/ etc/vmwareディレクトリには/ vmnet1および/ vmnet8サブディレクトリがあります。これらには、DHCPおよびNATタイプのサービスを期待どおりに実行するための構成ユーティリティが含まれています。 vmnet0サブディレクトリはありません。私の/etc/vmware/netmap.confファイルはvmnet0のエントリを表示します。スクリプトから構成した名前とデバイスの両方。
私の/ devディレクトリには、デバイスvmnet0からvmnet9が含まれています。メジャーデバイス番号は119、マイナーデバイス番号は0から9です。/proc/net/devは、vmnet1とvmnet8の統計を表示しますが、vmnet0は表示しません。/proc/vmnetディレクトリがありますが、空です。
/etc/init.d/vmware start
を使用してvmwareサービスを開始または停止すると、次のように表示されます。
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family: done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet8 (background) done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done
VMware Server Authentication Daemon (background) done
Shared Memory Available done
Starting VMware management services:
VMware Server Host Agent (background) done
VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
Virtual machines done
そこには何も悪いことはないようです。
Vmnet0とvmnet0のみがインターフェイスリストに表示されないように、どのようなn00bを実行していますか?
D'oh!これを投稿した直後に答えが見つかりました。どうやらvmnet-netifupはvmnet0に対して実行されていませんでした。私が走ったら:
`/usr/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet0.pid /dev/vmnet0 vmnet0`
それはうまくいきました。では、他の2つが起動したときに、なぜ自動的に起動しなかったのでしょうか。それはまだ未解決の質問です。