2024年1月25日发(作者:)
VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系
1虚拟网络设置
默认情况下,VMware Workstation的虚拟网卡使用192.168.1.0~192.168.254.0范围中的(子网掩码为255.255.255.0)两个网段(对应于第一块虚拟网卡VMnet1和第2块虚拟网卡VMnet8),即使在同一台主机上安装VMware,在每次安装的时候,其使用的网段也不固定。在用VMware Workstation做网络实验的时候,这样很不方便,我个人习惯于把VMware使用的网段“固定”,通常采用下面的原则,如表1所示。
表1 VMware虚拟网卡使用网络地址规划表
虚拟网卡名称
VMnet1(即host网卡)
VMnet2(默认没有安装)
VMnet3(默认没有安装)
VMnet4(默认没有安装)
VMnet5(默认没有安装)
VMnet6(默认没有安装)
VMnet7(默认没有安装)
VMnet8(即NAT网卡)
的过程中,这个地址是可以随时修改的。
在使用Team做实验时,Team中的LAN1、LAN2则依次使用192.168.101.0/24、192.168.102.0/24的地址.
2虚拟网卡(虚拟交换机)的关系
许多初学者不容易理解VMnet1和VMnet8虚拟网卡的关系,实际上,这与现实生活中的计算机选择接入那个交换机有相似之处。
在现实生活中的计算机,如果有网卡,可以连接到交换机或集线器中,如果现实生活中的计算机所处的环境,有多个交换机(或集线器),可以选择连接到那一个交换机或集线器。
而在使用VMware Workstation创建虚拟机时,创建的虚拟机中可以包括网卡。你可以根据需要选择使用何种虚拟网卡,从而表明想要连接到那个虚拟交换机。在VMware Workstation中,默认有3个虚拟交换机,分别是VMnet0(使用桥接网络)、VMnet1(仅主机网络)和VMnet8(NAT网络),还可以根据需要添加VMnet2~VMnet7和VMnet9等7个虚拟机交换机,而在VMware
Workstation 5以后的版本中,还可以使用Team中的提供的虚拟交换机。
【说明】 Team中的虚拟机交换机与VMnet0~VMnet9虚拟交换机不同之处在于,Team中的交换机与主机网络不发生关系,而VMnet0~VMnet9虚拟交换机是与主机相连。并且,Team中的虚拟交换机可以限制网络速度。
下面介绍VMnet0、VMnet1、VMnet8虚拟交换机的关系,这可以在表2中看到。VMnet2等交换机,可以根据需要设置的与VMnet0、VMnet1或VMnet8相同,所以不在介绍。
表2 虚拟机网络连接属性意义
选择网络连接属性
Use bridged networking(使用桥接网络)
Use network address translation(NAT)(使用NAT网络)
意义
使用(连接)VMnet0虚拟交换机,此时虚拟机相当于网络上的一台独立计算机,与主机一样,拥有一个独立的IP地址,效果如图2-56所示
使用(连接)VMnet8虚拟交换机,此时虚拟机可以通过主机单向访问网络上的其他工作站(包括Internet网络),其他工作站不能访问虚拟机,效果如图2-57所示
使用网段
192.168.10.0
192.168.20.0
192.168.30.0
192.168.40.0
192.168.50.0
192.168.60.0
192.168.70.0
192.168.80.0
子网掩码
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
使用表1的地址只是为了统一和方便,读者可以根据自己的爱好进行规划。另外,在做实验Use Host-Only networking(使用主使用(连接)VMnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互连,与网络上的机网络) 其他工作站不能访问,如图2-58所示
Do not use a network connection 虚拟机中没有网卡,相当于“单机”使用
1
虚拟机A1、虚拟机A2是主机A中的虚拟机,虚拟机B1是主机B中的虚拟机。在图2-56中,如果A1、A2与B都采用“桥接”模式,则A1、A2、B1与A、B、C任意两台或多台之间都可以互相访问(需要设置为同一网段),这时A1、A2、B1与主机A、B、C处于相同的身份,相当于插在交换机上的一台“联网”的计算机。
【说明】 虚拟机A1、虚拟机A2是主机A中的虚拟机,虚拟机B1是主机B中的虚拟机。其中的“NAT路由器”是只启用了NAT功能的路由器,用来把VMnet8交换机上联接的计算机通过NAT功能连接到VMnet0虚拟交换机。如果B1、A1、A2设置成NAT方式,则A1、A2可以单向访问主机B、C,B、C不能访问A1、A2;B1可以单向访问主机A、C,C、A不能访问B1;A1、A2与A,B1与B可以互访。
【说明】
1. 虚拟机A1、虚拟机A2是主机A中的虚拟机,虚拟机B1是主机B中的虚拟机。如果B1、A1、A2设置成host方式,则A1、A2只能与A互相访问,A1、A2不能访问主机B、C,也不能被这些主机访问;B1只能与B互相访问,B1不能访问主机A、C,也不能被这些主机访问。
2. 在使用虚拟机“联网”的过程中,可以随时更改虚拟机连接到的“虚拟交换机”,这相当于在真实的局域网环境中、把网线从一台交换机上插到另一台交换机上一样。当然,在虚拟机中改变网络要比实际上插拔网线方便多了。和真实的环境一样,在更改了虚拟机的联网方式后,还需要修改虚拟机中的IP地址以适应联网方式的改变。例如,在图2-56中,假设主机的VMnet1使用网段地址192.168.10.0,VMnet8使用网段地址为192.168.80.0,网关地址为192.168.80.2(相当于图2-57中“NAT路由器”内网地址),主机网卡使用地址为192.168.1.1。假设虚拟机A1开始被设置成桥接方式,虚拟机A1的IP地址被设置为192.168.1.5。如果虚拟机A1想使用host方式,则修改虚拟机的网卡属性为“Host-Only”,然后在虚拟机中修改IP地址为192.168.10.5即可(也可以设置其他地址,只要网段与host所用网段在同一子网即可,下同);如果虚拟机A1想改用NAT方式,则修改虚拟机的网卡属性为“NAT”,然后在虚拟机中修改IP地址为192.168.80.5,设置网关地址为192.168.80.2即可。
先说vmnet0,实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关。所以在Bridged模式下,你可以让虚拟机成为一台和你的Host相同地位的机器,如图:
再说vmnet1,这是一个Host-Only网络模式,这是用于建立一个与世隔绝的网络环境所用到的,其中vmnet1也是一个虚拟的交换机,交换机的一个端口连接到你的Host上,另外一个端口连接到虚拟的DHCP服务器上(实际上是vmware的一个组件),另外剩下的端口就是连虚拟机了。虚拟网卡“VMWare Virtual Ethernet Adapter for VMnet1”作为虚拟机的网关接口,为虚拟机提供服务。在虚拟机启动之后,如果你用ipconfig命令,你会很清楚的看到,你的默认网关就是指向“VMWare Virtual Ethernet Adapter for VMnet1”网卡的地址的。(实际上它并不能提供路由,这是VMware设计使然,它是干了除了提供路由之外的一些事情——实际上是我也不知道它干了什么事情),这里没有提供路由主要表现在没有提供NAT服务,使得虚拟机不可以访问Host-Only模式所指定的网段之外的地址,看图可以很明白:
2
再说vmnet8,这是一个NAT方式,最简单的组网方式了,从主机的“VMWare Virtual Ethernet
Adapter for VMnet8”虚拟网卡出来,连接到vmnet8虚拟交换机,虚拟交换机的另外的口连接到虚拟的NAT服务器(这也是一个Vmware组件),还有一个口连接到虚拟DHCP服务器,其他的口连虚拟机,虚拟机的网关即是“VMWare Virtual Ethernet Adapter for VMnet8”网卡所在的机器,废话,这肯定就是你的Host机器啦。同样,用ipconfig也可以看出来,你的虚拟机的默认网关也指向了你的“VMWare Virtual Ethernet Adapter for VMnet8”虚拟网卡地址。相比之下,可以看出来,NAT组网方式和Host-Only方式,区别就在于是否多了一个NAT服务,看图:
一些初学者对VMware虚拟机中的桥接、VMnet1(仅host方式)、VMnet8(NAT方式),我把VMware各网卡的意义做了三张图,希望对大家有所帮助。
显示不全,请大家另存观看。
3
VMware 提供四种网络连接方式
Bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡
绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.
在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.
使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了.
nat方式:这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8.
你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务.更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转 换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的. 很显然,如果你只有一个外网地址,此种方式很合适.
hostonly:
这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义. 默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置.
是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:
a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.
b.使用自己的nat,方便加入防火墙.windows host可以做nat的方法很多,简单的如windows
xp的internet共享,复杂的如windows server里的nat服务.
c.使用自己的防火墙.因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间.
从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等
1、Bridge模式(一切都跟host一样,只有ip不能与host相同)
ip 192.168.39.222
netmask:255.255.252.0
gateway:192.168.39.254
4
Primary nameserve:192.168.39.252
2、NAT模式
首先在host中查看VMnet8的 192.168.255.1).
启动VMware,点Edit下Virtual Network Setting… ,弹出Virtual network Editor对话框;
查看NAT选项卡,记录NAT的Gateway IP address:192.168.255.2
在config中,填写:
ip:192.168.255.5(与192.168.255.1在同一个网段的不同地址)
netmask:255.255.255.0(与192.168.255.1的隐码相同)
Gateway IP:填写VMware中的NAT网关192.168.255.2
Primary nameserver:填写与主机中一样的网关192.168.39.252,这样就可以上网冲浪了.
如果填写192.168.255.1,则不能连上外网.这里也可以不停,总之不能写错误的地址
3、hostonly模式
(1)查看你的连接外网的网卡的属性,选择“高级”标签,设置成允许共享,并设定允许的网络接口为VMNET1
(2)再插看一下你的VMnet1 的属性,看一下TCP/IP协议的设置,你发现已经被自动设置为
192.168.0.1/255.255.255.0,
(3)windows下的设置完成,转入到跑linux的虚拟机.将你的eth0的ip地址设置为静态的(如果安装时没有选静态的话) .
按红帽子图标->系统设置->网络(或其它你了解的方法)
ip: 192.168.0.2(或其它在此网段上的地址)
netmask: 255.255.255.0
default gateway: 192.168.0.1 (VMnet1的地址)
dns:输入你自己的DNS (host中用的DNS)
保存设置.如果你还没有设置好主机名称:
cd /etc/sysconfig
vi network
编辑HOSTNAME
cd /etc
vi hosts
加入:
192.168.0.2 yourhostname
重新启动服务
su
/sbin/service network restart
(4)测试一下
网关: ping 192.168.0.1
dns: ping dnsserver
=============================
(1)Bridged方式
用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台.独立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不成问题.
(2)NAT方式
5
这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机器.NAT方式的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMware services会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.
(3)host-only方式
顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.
(4)not use方式
既是不使用网络,虚拟系统为一个单机.
一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.
6


发布评论