我在 Ubuntu 12.04 中的 VMware 上使用 WinXP。
需要通过一些可靠的算法将 VMware XP 盒子连接到互联网仅限主持人,NAT或使用桥接联系。
请为我推荐针对 1 张网卡(Atheros)的正确策略。
答案1
最常见的解决方案是在客户操作系统上使用两个网络接口。一个桥接,另一个仅用于主机。这样,无论是否有外部网络连接,您都可以获得双向主机-客户连接。
VMWare 帮助页面上有详细说明这里。
如果 VMWare 不支持桥接至 Atheros 无线,我知道 Virtualbox 支持。
以上链接中的解决方案(《在 Linux 主机上删除主机虚拟适配器》) 以及配置 VMware 虚拟网络的常用向导:
1
成为 root 并运行 VMware Workstation 配置脚本。
su
vmware-config.pl
2
注意以下问题
Do you want networking for your Virtual Machines? (yes/no/help) [yes]
Yes
如果您仍想在虚拟机中使用任何网络,请回答,然后继续下一个问题。
否则,答案No
是删除所有网络。
3
如果您回答Yes
,脚本将提示您选择向导或编辑器来编辑您的网络配置。选择编辑器。这是删除虚拟网络适配器而不删除所有虚拟网络适配器的唯一方法。
Would you prefer to modify your existing networking configuration using the wizard
or the editor? (wizard/editor/help) [wizard] editor
4
您会看到已配置的虚拟网络列表。选择与要禁用的适配器对应的网络。
The following virtual networks have been defined:
. vmnet0 is bridged to eth0
. vmnet1 is a host-only network on subnet 172.16.155.0.
. vmnet8 is NAT network on a private subnet 172.16.107.0.
Which virtual network do you wish to configure? (0-99) 1
5
系统可能会提示您是否保留此虚拟网络。如果您确定要删除它,请回答Yes
问题。
The network vmnet1 has been reserved for a host-only network. You may change it,
but it is highly recommended that you use it as a host-only network.
Are you sure you want to modify it? (yes/no) [no] yes
6
当提示虚拟网络类型时,选择None
并将删除该虚拟网络。
What type of virtual network do you wish
to set vmnet1? (bridged,hostonly,nat,none) [hostonly] none
答案2
尝试 Virtualbox,它是免费的,并且互联网通过你的 Ubuntu 主机连接,所以不会造成混乱,我发现这是迄今为止最好的 VM,你甚至可以获得 3D 图形加速。
或者你可以研究双启动,这样你就可以在同一台机器上安装 Windows 和 Ubuntu,并且两者都全速运行
在我看来,双启动是最好的方法,如果您需要有关该帖子的任何建议,请回到这里并告诉我。
答案3
如果您想创建桥接网络设备并使用该设备将您的虚拟机连接到外部网络,您可以使用 来实现/etc/network/interfaces
。我假设您的主网络设备(在主机上)位于eth0
下方。请注意,很少有(如果有的话)无线驱动程序支持桥接,因此您可能需要有线连接才能实现此功能。(请参阅这有关服务器故障的问题。)完成此操作后,您应该有一个可用的“桥接”网络设备。
如果您已经使用它/etc/network/interfaces
来定义您的网络,那么您应该在其中有一个类似这样的部分:
auto eth0
iface eth0 inet dhcp
address X.X.X.X
如果您使用static
而不是,dhcp
可能还会有一些以下行(例如)。
要定义新的桥接网络设备,首先确保已bridge-utils
安装该软件包。
然后复制其中的所有eth0
行(auto
和iface
部分,以及任何选项) ,并在新副本中将/etc/network/interfaces
设备名称更改为。还要在部分中的某处添加一个额外的选项行,内容如下:br0
iface br0 ...
bridge_ports eth0
eth0
然后删除您复制的所有旧定义,并用以下一行替换它:
iface eth0 inet manual
因此,如果您的eth0
部分最初看起来像上面的示例,那么您现在应该有以下内容:
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
桥接设备br0
现在承担了之前的角色eth0
,并且bridge_ports
和manual
行表示它将物理eth0
硬件连接到自身以访问您的网络。随后连接到桥接的任何其他设备(例如虚拟机的虚拟网卡)将共享此连接eth0
,让它们像真实机器一样直接访问您的网络,而不是通过您的主机进行代理。
请参阅man 5 bridge-utils-interfaces
此处了解更多详情。
如果您通过网络管理器管理网络,则可能没有现有eth0
条目/etc/network/interfaces
,在这种情况下您需要添加一个。如果您只使用普通的 DHCP,那么上面的示例就足够了。如果您定义了静态 IP 地址,那么您需要在文件中复制您的设置。有关man 5 interfaces
可用选项的详细信息,请参阅“INET 地址系列”下的“静态方法”。通常,您只需要设置address
、netmask
和gateway
选项。
默认情况下,网络管理器将远离 中定义的任何设备;但是,如果您在 部分中/etc/network/interfaces
设置,那么它将允许您像往常一样通过 GUI 小程序启动和停止(但仍然不能编辑)这些接口。有关详细信息,请参阅。managed=true
[ifupdown]
/etc/NetworkManager/NetworkManager.conf
man 5 NetworkManager.conf
请注意,您需要在进行更改之前手动关闭这些设备,然后再次备份,例如使用
sudo ifdown eth0
和
sudo ifup br0
如果其他方法都失败了,则在新的配置到位后重新启动就可以了。