你真的了解VMWare虚拟化网络吗?

时间:2022-12-23 22:01:32

最近频繁使用VMWare虚拟机做网络实验,对VMWare虚拟网络有了新的了解,下面说说我的理解,望对有需求的认识有所帮助。
VMWare有三种网络模式,即 Bridge, Host-Only, NAT 三种,网上也有一些说法和介绍,但大都比较浅显,只教你怎么用,从原理上分析的比较少,下面就从VMWare网卡的三种模式说起。你真的了解VMWare虚拟化网络吗?

说到这三种模式,首先说下几个概念:

1.VMnet Virtual Adapter
本机虚拟网卡,安装好VMWare之后,默认会增加两个虚拟网卡,分别是VMnet Virtual Adapter1和Adapter8 (可以简称VA1、VA8 ),这两个虚拟网卡可以独立配置IP地址和网关。它们分别被连到不同的VMnet Virtual Bridge上面(分别是 VMnet Virtual Bridge1 和 VMnet Virtual Bridge8 )。原理上讲,这个虚拟网卡是可以添加无数个的,但是实际使用中没那个必要,同时每个虚拟网卡被连接到哪个虚拟网桥上也是可以指定的(具体方法是虚拟网卡的属性页->VMWare-Virtual Bridge->然后填入相应网桥编号).

2.VMnet Virtual Adapter for Virtual Machine.
虚拟机虚拟网卡,每当新建一个虚拟机,就可以为它配一个或多个网卡,虚拟机安装了操作系统之后,同时会安装好它的网卡驱动,这个网卡通常被识别为AMD PCnet XXXX。每一个虚拟网卡都有自己的MAC地址,虚拟操作系统会管理属于自己的虚拟网卡。

3. VMnet Virtual Bridge
虚拟网桥,也它相当于虚拟交换机,工作在MAC层,他存在的作用是连接同一台主机内部创建的多个虚拟机,同时也可以连接到真实主机的虚拟网络卡,亦可以桥接到真实主机的真实网络卡。他是虚拟机网络通信的最基础。VMWare内置10个Virtual Bridge,编号从0到9,其中Bridge0是默认提供给 Bridge模式的,Bridge1默认是给 Host-Only模式的,而Bridge8是给NAT模式的。

4.VMnet Virtual NAT.
虚拟NAT(网络地址转换),和真实的NAT设备一样,它能够将虚拟Bridge下连接的私有网络地址隐藏,同时它能够将这个虚拟的私有网络和我们的真实主机的IP网络连接,以达到共享网络的目的。

5.VMNet Virtual Dhcp Server.
自动分配IP虚拟服务器,它会连接到某个虚拟网桥上,为该局域网络主机分配IP地址。对于Bridge1和Bridge8,你可以通过VMWare创建的两块主机虚拟网卡来设置DHCP地址池(修改该网卡IP地址即可)。

理解了上面的概念,下面说三种模式就非常容易理解了。

Bridge 模式,这是虚拟机中最直接,最有效的联网方式,在VMWare虚拟网络中算是最底层的模式了,直接将本地物理网卡连接到对应的虚拟网桥上(默认是Virtual Bridge0 ),这个时候,虚拟机最接近真实的机器了,他可以和真实主机享有同等地位,同时存在于一个局域网中,同时能够被其他真是主机访问,当然也是可以和宿主主机相互通信的。要实现IP通信,那么它就必须被设置和其他主机在同一个IP网段。对于真实主机的网卡而言,是一块物理卡上绑着多个IP,如果你没有多个有效IP或者IP-MAC被网管绑定,那么这种方式不适合。

你真的了解VMWare虚拟化网络吗?

VMnet Bridge 模式网络内部

Host-Only模式,这种方式具有非常强的独立性,他将虚拟网络和真实网络隔离开来,本地网卡并没有直接连在虚拟网桥上(Host-Only 默认的网桥是 Bridge1),访问虚拟网络就必须通过虚拟网卡来访问,也就是上面提到的VMA1,通过VMA1就可以访问Bridge1构建的局域网。如果不做任何设置,那么这样的Host-Only是不能共享真实主机的网络的,但是提供了VMA1网卡,其实更灵活,我们可以使用Windows的桥接工具,将VMA1和本地网卡桥接在一起(实际上就是一个简单的NAT),这样虚拟网络也能访问主机网络了。

你真的了解VMWare虚拟化网络吗?

VMnet Host Only  模式网络内部

NAT模式,这是比较高级的模式,说是高级,但是配置起来更简单,你几乎可以不用任何设置就可以在虚拟机中上共享主机网罗。NAT模式下,同样也有一个虚拟Bridge(Bridge8 ), 它通过一个虚拟NAT软设备和主机的TCP/IP协议栈联系起来,这样一来,虚拟机网络对于主机来讲,就是一个私有网络了,这个NAT很像一个真实的NAT路由器,将内部私有网络隔离,并对内部网络发出的数据包进行地址进行转换,从而到达主机真是网络。但是反过来,真是网络上的主机是不能够访问虚拟机的,因为这是虚拟网络完全被隐藏了(真实的NAT路由器是可以设置虚拟服务器或者DMZ主机的,这一点我们的虚拟机没有做到)。另外为了方便主机对NAT后面的虚拟机的访问,VMWare默认提供了一个VMA接口(VMA8 ),它直接连接到了Bridge8上面,可以为主机提供透明的访问。

你真的了解VMWare虚拟化网络吗?

VMnet NAT模式网络内部

到此,VMWare虚拟机的几种网络原理都说完了,文中不足之处,望各位看客多多指教。
附注: 图中橙色指代的是真实主机的设备或模块,灰色和部分是VMWare的虚拟的设备或模块,Eth代表以太网卡(通过颜色来区分物理的还是虚拟的)。
本站原创,欢迎转载,但请注明  :   http://dan.febird.net