我开发用的计算机安装的是ubuntu 11.04,然后安装vmware player 4.0.1 linux version,运行Windows XP的虚拟机。机器有两块网卡,一块连接实验室大网,一块连接开发的单板,进行Linux的开发。Windows用来运行notes/office等。

Windows XP大多数的时间只连接大网,但有时候需要连接到单板上进行测试(如用IE浏览器的测试),因此虚拟机需要有两块网口,而且这两块网口需要分别绑定到不同的物理网卡。但是vmnet0只能连接一块物理网口。需要连接的时候,只能down掉一个网口,up另一个网口的方法进行切换,非常麻烦,今天终于在网上找到了方法,分享下。

(这里会有人问,为什么不用vmware workstation? workstation是不存在这个问题的。其实很简单,workstation是需要购买的,player是免费的。)

一. 添加vmnet2,并绑定物理网卡
ning@diatom:bin$ sudo /usr/lib/vmware/bin/vmware-netcfg

1. 绑定vmnet0到物理网卡eth0, 桥接模式
2. 创建vmnet2,绑定vmnet2到物理网卡eth1,桥接模式
3. 退出

不要用root用户执行上面的程序,否则会出现下面的错误:

root@diatom:/home/ning# /usr/lib/vmware/bin/vmware-netcfg
g_dbus_connection_real_closed: Remote peer vanished with error:
Underlying GIOStream returned 0 bytes on an async read
(g-io-error-quark, 0). Exiting.
已终止

二. 添加虚拟网卡
进入vmware player的 Virtual Machine Settings:
1. 添加一块网卡
2. 退出

三. 修改虚拟网卡的连接类型
修改 Windows XP Professional.vmx,添加
ethernet0.connectionType = "custom"
ethernet1.connectionType = "custom"

四. 虚拟网卡和物理网卡绑定
再次进入vmware player的 Virtual Machine Settings:
1. 绑定一块网卡为 vmnet0
2. 绑定另一块网口为 vmnet1
3. 退出

运行虚拟机,分别设定两块网卡即可。
11-24 19:53