虚拟机的网络设置

时间:2021-07-17 18:57:32

虚拟机常用的几种网络连接方式分别为Bridge模式、NAT模式、Host-Only模式

Bridge模式(桥模式)
    这种模式是在新建虚拟机的时候默认选择的,是将虚拟主机的虚拟网卡桥接到一个Host主机的物理网卡上面,实际上是将Host主机的物理网卡设置为混杂模式,从而达到侦听多个IP的能力。在这种模式下,虚拟主机的虚拟网卡直接与Host主机的物理网卡所在的网络相连,可以理解为虚拟机和Host主机处于对等的地位,在网络关系上是平等的,没有谁主谁次、谁前谁后之分。

NAT模式
    这种模式下Host主机的“网络连接”中会出现了一个虚拟的网卡VMnet8(默认情况下)。如果你做过2000/2003的NAT服务器的实验就会理解:Host主机上的VMnet8虚拟网卡就相当于连接到内网的网卡,Host主机上的物理网卡就相当于连接到外网的网卡,而虚拟机本身则相当于运行在内网上的计算机,虚拟机内的虚拟网卡则独立于Virtual Ethernet Switch(VMnet8)。在这种方式下,VMware自带的DHCP服务会默认地加载到Virtual Ethernet Switch(VMnet8)上,这样虚拟机就可以使用DHCP服务。更为重要的是,VMware自带了NAT服务,提供了从Host主机的VMnet8虚拟网卡到外网的地址转换。所以这种情况是一个实实在在的NAT服务器在运行,只不过是供虚拟机用的NAT罢了。

Host-Only模式
   这种模式是一种封闭的方式,适合在一个独立的环境中进行各种网络实验。这种方式下Host主机的“网络连接”中出现了一个虚拟的网卡VMnet1(默认情况下)。和NAT唯一的不同的是:此种方式下,没有地址转换服务。因此这种情况下,虚拟机只能访问到主机,这也是Host-Only的名字的意义。默认情况下该模式也会有一个DHCP服务加载到Virtual Ethernet Switch(VMnet1)上。这样连接到Virtual Ethernet Switch(VMnet1)上的虚拟机仍然可以设置成DHCP,主要是方便系统的配置。

Host主机多适配器的问题

    当第一次安装完VMware-workstation之后,VMware-workstation会让三种网络连接模式都可以采用,这也就是为什么在Host主机的“网络连接”中除了物理的网卡外会多出2个额外的虚拟网卡(VMnet1、VMnet8)的原因。小帅个人认为这样的设置很不好,因为Host主机上出现多余的网络适配器会使Host主机的启动速度变慢、内存资源额外占用,最主要的是Host主机上运行的一些特殊程序可能会因为有了多适配器的情况而出现问题,比如在Host主机上运行PPPoE拨号程序失败的问题,以及利用Host主机上的RIS服务远程安装虚拟机OS的问题(小帅在《Window &.NET Magazine国际中文版》2005年第一期的“工程师手记”中曾经提到过这个问题)。所以一般情况小帅只会将Host主机桥接到Virtual Ethernet Switch(VMnet0)上,也就是采用默认的Bridge模式来安装虚拟机。

操作:
   a、打开VMware-workstation的“edit”-“Virtual Network Setting”-“Host Virtual Adapters”签,Remove掉所有的虚拟网络适配器。
   b、确认在“Host Virtual Network mapping”签中的VMnet0选择的是“Bridge to an automatically chosen adapter”或直接通过下拉菜单将VMnet0映射到Host主机的物理网卡上(尤其在没有物理网卡的HOST主机上使用计算机,这一点很重要,要先在物理计算机的OS里虚拟一个网卡例如Microsoft Loopback Adapter,然后在桥接到这块网卡上)。

VMware-workstation的DHCP及NAT的问题
    VMware-workstation默认安装之后会自带2个服务:VMware DHCP Service和VMware NAT Service,这两个服务也会作为Host主机的服务在开机的时候加载。一般情况下小帅不喜欢这样的服务,所以为了运行速度的原因这两个服务都应该禁掉。值得注意的是VMware DHCP Service服务可以在“Virtual Network Setting”-“DHCP”签中禁止掉,而VMware NAT Service这个服务在“Virtual Network Setting”-“NAT”签中只能停止该服务而不能禁止该服务,也就是说即使你在这个签停止了这个NAT服务之后,在下一次你的Host主机启动的时候它会自动运行。所以我们应该在“管理工具”-“服务”中,找到VMware NAT Service这个服务,在“服务状态”中选择“停止”,在“启动类型”中选择“禁用”,应用即可。这个时候你在“任务管理器”中将会发现VMware DHCP和VMware NAT这两个进程不在存在了。

关于Virtual Ethernet Switch VMnet
    通俗的说Virtual Ethernet Switch VMnet就相当于“虚拟Switch”,用过Microsoft Virtual Server的朋友一定有印象,在Virtual Server中是可以创建不同的网络的,并且每创建一个网络在“虚拟网络文件夹”中就会出现一个文件(当然Virtual Server默认也是有桥接和仅主机的方式的)。而VMware给我们已经提供了10个Virtual Ethernet Switch VMnet(VMnet0-9,速度均为10M),不需要我们额外创建了,这点非常的好。我们可以在设置虚拟机的网卡的网络模式的时候选择“Custom:Specific virtual network”来将虚拟机连接到不同的Virtual Ethernet Switch VMnet上,也就是桥接到不同的VMnet上。如果你仅仅希望2台虚拟计算机能互相通讯,只要保证他们桥接到同一个Virtual Ethernet Switch VMnet上就可以了,如果还要考虑这2台虚拟机能够与Host主机通讯,那么实际上你应该考虑3台计算机的桥接到哪儿的问题。桥接可以保证我们所说的计算机与计算机之间的物理连接通畅(希望我这句话没有让大家糊涂),要想真正实现通讯,IP地址的合理分配也是很重要的。桥接在同一个Virtual Ethernet Switch VMnet上的虚拟机,如果设置了不同逻辑子网的IP地址也会出现不能通讯的问题。