一.VMware虚拟网络
VMware支持共创建20个虚拟网络,相当于现实生活的交换机,名称vmnet0---vmnet19
物理机用虚拟网卡和对应的虚拟网络中的虚拟机通信。
VMnet1和VMnet8这两个虚拟网卡的作用是保证windows和虚拟机可以正常通信。VMware Workstation Pro这款软件不仅可以帮助我们去创建虚拟机还可以帮助我们去创建虚拟网络(虚拟交换机)。虚拟交换机创建好之后将来可以根据具体的需要将不同的虚拟机连接到不同的虚拟网络中去。而在虚拟网络创建好的同时就会在真实机上出现与虚拟网络对应的一块虚拟网卡。物理机通过这张虚拟网卡与处在相应虚拟网络中的虚拟机进行通信。
真实机上的虚拟网卡会随着虚拟网络的消失而消失。
二.虚拟网络的工作模式
1.nat模式——vmnet8
nat:网络地址转换
当虚拟机主动访问外部网络时,nat模式的虚拟网络会将虚拟机的IP地址转换成物理机的网卡的IP地址与外界通信。
前提:虚拟机要配置vmnet8虚拟网络事先规划好的IP地址,子网掩码,网关。
也就是说当你在虚拟网络中使用虚拟机与外界进行通讯的时候,该虚拟机的IP地址会被替换成真实机的IP地址与外界进行通信。
但是这个虚拟机IP地址被替换成真实机IP地址的情况只会出现在虚拟机主动访问外界网络的时候,如果外界的机器想与虚拟机进行通信,会发现通信失败。
也就是说,如果将多个虚拟机组到一个nat模式的虚拟网络中,那么这些虚拟机能够与外界机器进行正常通信的前提是真实机的物理网卡可以正常使用。
VMware Workstation Pro这款软件能够创建的20个虚拟网络中只有vmnet8这个虚拟网络是能够在nat模式下的虚拟网络。
如上图所示,此时虚拟机想要与外界的机器通信会发现通信失败,原因是此时这台虚拟机的IP地址,子网掩码,网关,并不处于vmnet8虚拟网络规定的地址范围,所以这个虚拟机的IP地址不能被替换成物理机的IP地址,所以虚拟机与外界机器通信失败。
在特定的虚拟网络中需要使用特定网段的IP地址,子网掩码和网关,这一点每个人的机器情况都不一样.
如上图所示,这是在这台机器中的vmnet8虚拟网络中允许使用的IP地址网段,子网掩码,网关,等信息,这一个特定范围每一个的机器都不一样。如果虚拟机的IP地址,子网掩码,网关,不符合规定则会发现该虚拟机与外界通信失败,因为该虚拟机的IP地址在与外界通信的时候根本不会被替换成真实机的IP地址。
如上图所示,此时根据vmnet8虚拟网络的地址范围对虚拟机的IP地址等信息进行修改。
如上图所示,BOOTPROTO=none,这代表手动配置虚拟机的网卡信息。
IP地址,子网掩码,网关,DNS服务器等都已经配置成功。
如上图所示,在保存退出文件之后,敲上面图片中的两条命令重新读取网卡信息。
如上图所示,此时可以使用命令ip a,route -n,cat /etc/resolv.conf来查看自己修改的网卡配置是否生效。
如上图所示,此时的虚拟机已经可以与外界的机器进行正常通信。原因是此时的虚拟机的IP地址等信息均处于vmnet8虚拟网络所规定的地址范围内。
如上图所示,这时我正在使用物理机和虚拟机尝试通信,但是通信失败,此时应该想到的是两个机器能够相互通信的前提是这两台机器要处于同一个网段中,否则就需要借助路由器等设备,两个不同网段的机器才能正常通信.
如上图所示,经过查看vmnet8虚拟网卡的IP地址等信息发现,因为这块网卡所配置的IP地址与vmnet8虚拟网络中的虚拟机不同同一网段的IP地址,所以物理机与虚拟机通信失败。
如上图所示,经过对这块vmnet8虚拟网卡的IP地址等信息进行修改之后,使得该虚拟网卡中的IP地址等信息与vmnet8虚拟网络中的虚拟机的IP地址等信息处于同一网段中,此时发现物理机可以正常与处于vmnet8虚拟网络中的虚拟机进行正常通信。
2.桥接模式 Bridge vmnet0
当虚拟机接入到桥接模式的虚拟网络中,理解为虚拟机相当于物理机一样接入到真实网络中。
适用于在同一个真实网络的网段中跨物理机间的虚拟机通信。
如果要将虚拟机设置为桥接模式下的话,就需要dhcp使得虚拟机网卡自动获取IP,避免引起IP地址的冲突。
桥接模式下因为虚拟机相当于直接接入到了外界真实网络中所以就不用再生成一个网卡,就直接使用物理机上的网卡就可以。
两个机器上都有虚拟机,此时这两台电脑上的虚拟机有通信的需求,这就需要将这两台机器上的虚拟机都设置成桥接模式,这时这两个机器上的虚拟机就接入了同一个网段中的网络中,此时这两个机器的虚拟机直接就可以通信。
3.仅主机模式/隔离模式——vmnet1直到vmnet19(中间没有vmnet8)
隔离模式指的是虚拟网络和物理机之间的真实网络之间就是断开的。
与外界通信根本不可能。
虚拟网络与物理网络之间没有任何连接。
如上图所示,当虚拟机处于隔离模式的虚拟网络中时,除了同一个机器上的虚拟机之间可以互相通信,还有物理机可以借助虚拟网卡和虚拟机之间进行通信,
如上图所示,这是vmnet1这个虚拟网络所规定的IP地址的范围,
如上图所示,我们根据有效的网段范围去修改网卡的信息,然后敲后面两条命令重新读取网卡的信息。
如上图所示,要想让物理机与处在vmnet1的虚拟网络中的虚拟机进行通信就必须要保证vmnet1的虚拟网卡的IP信息,处在vmnet1的虚拟网络的规定的IP地址范围内。