VMware虚拟机三种联网方法及原理

之前听老师讲了关于虚拟机中联网的原理,所以将笔记整理进博客。

Brigde——桥接:默认使用VMnet0

VMware虚拟机三种联网方法及原理_第1张图片 

1.原理:
  Bridge 桥”就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在”桥”上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare网卡和物理网卡应该处于同一IP网段 当然要保证两个局域网没有冲突的IP.
  VMWare 的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare软件虚拟了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出。 所以,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。
 使用桥接的时候,虚拟的服务器和笔记本电脑共用一台实在的物理交换机/路由器,所以这个时候不需要VMware的虚拟网卡和虚拟路由器了。笔记本电脑就直接用物理网卡与路由器连接。在VMware的网卡选择的时候也不再是VMnet8而是VMnet0,虚拟的linux服务器都直接和虚拟的VMnet0相连,而VMnet0实际上是个网桥(共用同一个IP段,而且要注意,即使是Windows内部的网络请求也要经过网桥,再通过物理网卡),VMnet0再和笔记本的物理网卡相连,并且不做地址转换。这种情况下,配置IP地址只需要配置linux服务器的就可以了,而物理网卡的是路由器自动配置的。
缺点:这个时候的linux配置IP的时候要注意,不要和外部的笔记本的冲突!而且,当笔记本移动换了路由器的时候,相应的linux服务器的地址也要重新变化。

2.联网方式:
  这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了!
提示:主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。

NAT——网络地址转换 :默认使用VMnet8

VMware虚拟机三种联网方法及原理_第2张图片  

1.原理:
  NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。同样的私有IP可以网关NAT 上网。
VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。
  虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不同一个地址段,主机相当于虚拟机的网关,所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。
  多台服务器通过连接同一台路由器/交换机来实现互联(属于一个网段)。服务器的IP地址是根据网关配置的。通常情况下:
  
- 网关(GATEWAY):网关的IP地址一般最后一位为1,例如:192.168.22.1 如果最后一个是0的话,代表的是网段。
- 子网掩码(NETMASK):255.255.255.0 通过将IP地址的二进制与这个做与运算,得到的前三个一样的话就代表是一个网段的。也就是用来判断属于哪个网段的。

域名解析流程:
1.从本地hosts文件中去寻找是否有该域名->IP映射信息。
2.如果本地hosts中没有该域名,那么向外部的DNS服务器提出请求解析域名。

NAT的连接和物理连接的几乎是一致的,其中VMware给笔记本电脑生成了一个虚拟的网卡——VMnet8,但是实际上笔记本本身还有一块真实的物理网卡,连接的是正常的网络,比如连的是实验室的路由器。同时每台虚拟机上的linux都有一块虚拟的网卡(用来进行地址转换),比如eth0;VMware会生成一个虚拟路由器,这样的话,这些虚拟网卡就连接在这个虚拟路由器上了。配置IP地址的时候,不仅要配置linux服务器的,还要配置虚拟路由器的。
域名解析过程如下: 
VMware虚拟机三种联网方法及原理_第3张图片 
所以,如果在网段内部,不使用IP地址进行访问,而是采用名称,那么不需要在DNS公网注册域名,直接在本地的hosts文件中进行配置即可,注意,每台都要配置!。linux的hosts的路径为/etc/hosts。
2.联网方式:
方法1——动态IP地址。
  主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑→虚拟网络设置”,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭)  
方法2——静态IP地址。
  如果不想使用DHCP,也可以手动设置: 
  IP设置与vmnet1同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2。
子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成)
DNS设置与主机相同。
例如:主机IP是10.70.54.31,设置虚拟机IP为10.70.54.22。Netmask,Gateway,DNS都与主机相同即可实现 虚拟机 —主机 虚拟机<—->互联网 通信。
提示:使用NAT技术,主机能上网,虚拟机就可以访问Internet,但是主机不能访问虚拟机。

Host-Only——私有网络共享主机:默认使用VMnet1

1、原理:
  提供的是主机和虚拟机之间的网络互访。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。
Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。这块网卡可以在网络连接中看到,一般是VMNET1,这块网卡的作用就是使Windows看到虚拟机的IP。
2、联网方法:
方法1——动态IP地址。
  像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。
方法2——静态IP地址。
  也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的网关相同,其余设置与VMnet1相同,DNS设置与主机相同。
例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2
那么虚拟机 IP:172.16.249.100 Gateway: 172.16.249.2
这样、 虚拟机<—>主机 可以通信
但是、 虚拟机<—>互联网 无法通信
提示:Host-only技术只用于主机和虚拟机互访,于访问internet无关。
HOST only使用的是VMnet1,所有的linux服务器都连接到VMnet1这块虚拟网卡上并且作为网关,根据这个来配置,配置的时候只要让他们在同一个网段即可。(这种方式不建议使用)
缺点:是完全不能访问外网。

你可能感兴趣的:(Linux)