VMware Playerを便利に使っているのですが、ゲストOSのネットワークが繋がらなくなることがありました。症状はこんな感じです。
- 繋がらなくなってもゲストOS側ではネットワークインターフェイスをきちんと認識している
- その現象になるとVMwareのすべてのVMでネットワークへ接続できなくなる(FreeBSD, Ubuntu, CentOS...)
- bridgeだけその現象になり、その現象になってもNATにすればゲストOSは外へ繋がる
- ゲストOSを再インストールしたり、新しいVMを作成したりしてもだめ
- いつの間にか直ることがある
これらの現象から、どうやらVMware側の問題のようだが原因が分からないということで、しばらくあきらめていました。
しかしつい先日、やっと解決しました。ホストOSで複数のネットワークインターフェイスを認識しているとき、使えるネットワークインターフェイスを自動で選んでブリッジしてくれるようなのですが、サスペンドなどでそれまで使っていた一時的にネットワークインターフェイスが使えなくなったときに、外部に接続できないネットワークインターフェイスを自動的に選んでしまうようなのです。ちょうど自分のPCにはVirtual PCも入っていて、「Microsoft Loopback Adapter」という外に接続できないネットワークインターフェイスがあるのですが、それを選んでしまうようなのです。それでBridgeが繋がらなくなってしまう、ということのようです。
対策は使わないネットワークインターフェイスでのBridge接続を無効にすること。使って欲しくないネットワークインターフェイスのプロパティで、「VMware Bridge Protocol」のチェックを外せば使われなくなります。
あるいは、Virtual Network Editorを使って、Bridge接続(VMnet0)に割り当てるネットワークインターフェイスを設定するという方法もあります。VMware Playerをインストールしたディレクトリにあるvmnetcfg.exeを実行し、Host Virtual Network MappingタブのVMnet0に、割り当てたいネットワークインターフェイスを設定します。おそらくデフォルトではBridged to an automatically chosen adapterになっています。これを任意のものにすればそれしか使われなくなります。ただしノートPCのように、移動場所によって有線LANと無線LANを切り替えて使う場合は前者のやり方の方が良いと思います。
これで安心してVMware上の環境をきちんと構築できますね。