VMW允许我们在一台物理机上建立多个虚拟机,且允许这多台虚拟机接到一个交换机上(交换机switc,用SW表示)。安装VMW后,就在我们电脑里虚拟出了很多的交换机,将来实验的时候要指明虚拟机接入哪一台交换机。在装完交换机并接入交换机后,这一个交换机就叫VMnet了。VMnet就可以看成不同的交换机了。
PC通信原理
假设PCA&B接入SW1,且PCC&D接入SW2。那么AB和CD之间可以通信吗?不可以,因为没有联网。此时如果PCE拥有两块网卡分别接入VMnet1和VMnet2,把它配置成路由,这样AB和CD就可以通信了。也就说VMnet如果想要通信必须有连接的设备。
物理机与虚拟机通信
对于物理机而言,网卡与物理网络直接相连,然后物理网络连接互联网,这样物理机可以上网。但是对于vmnet而言,由于vmnet和物理机的网关不同,所以无法直接相连。
假设:
物理机网卡:192.168.2.5
VMnet1(SW1):192.168.10.1
VMnet2(SW2):192.168.20.2
三者网关不同,无法直接相连。此时,就需要在物理机上加一块虚拟网卡,这一块网卡与vmnet直接相连,就可以满足二者之间的通信。增加的网卡vmnet1接入SW1,且该网卡的地址不可以随意更改,必须设定为与同一网段的192.168.10. x x x.这个时候物理机访问虚拟机,使用vmnet1这个网卡与SW1通信,而不是使用物理机网卡。同理对于VMnet2需要加名为vmnet2的网卡进行通信,同理,地址是192.168.20. x x x。那么当物理机与PCC&D通信时,就需要使用vmnet2的网卡。
如果没有对应的虚拟网卡连接虚拟交换机VMnetn,则物理机就无法与连接VMnetn的虚拟机通信。
演示
1.网络适配器中查看网卡,发现了虚拟网卡。
2.VMW中,点击编辑下的虚拟网络配置器
黄圈中的名称就是交换机名称,VMnet表示。点击更改设置可以配置交换机。
下拉菜单栏中可以看到,最多可以配置到VMnet19。也就说VMW提供的最多可以虚拟出20个虚拟网卡。
根据上面说的,如果我要访问VMnetn下的虚拟机,则需要通过物理机中的VMnetn虚拟网卡来实现通讯。
实验 实验要求:
1.配置虚拟机网段,并尝试用进行ping命令操作物理机与虚拟机之间。
2.修改对应网段,使网关与网段不对应,再次使用ping命令
请思考之后再看下面的内容
配置网段的方法:打开虚拟网络编辑器,用管理者权限点击更改。然后修改网关以便于记忆。
为了便于理解,把VMnetn的网关设置为192.168.n.0。
全部修改为完成。
打开虚拟机设置:
修改虚拟机使用的网络。因为目前我的电脑上设置的虚拟网卡只有1和8,所以这里我从1和8挑一个。这里选8。
然后在虚拟机网络设置中查看IP地址。
用物理机ping虚拟机。发现网络通。这是因为用VMnet8的虚拟网卡访问了交换机VMnet8的网络。
使用虚拟机ping物理机,互通。
注意问题!出现了 虚拟机ping物理机,ping的是物理机连接物理网络的IP,而非VMnet8的网卡,那么这会出现什么问题呢?
然后修改虚拟机IP设置并将虚拟机接入VMnet1的交换机上。这一步手动修改IP的目的是为了保证网关不随网络的更改而自动配置。
因为是随意设置,会导致虚拟机无法接入互联网,但是这没关系,我们要验证的是虚拟机与物理机的互相访问的机制,在实验完毕后将IP地址改回自动分配即可。
于是,将虚拟机接入VMnet1后,再用物理机ping一下
同时虚拟机ping物理机
发现网络不再互通。这是因为主机尝试用VMnet8的网卡来访问已经接入VMnet1网络的PC,这显然是无法实现的,因为PC并没有接入VMnet8。
同理,虚拟机尝试用VMnet1的网卡来访问。访问失败的原因???
Answer) 如果修改IP为自动适应,然后开始ping新的IP。
==>访问的是物理网卡,而非VMnet1网络对应的虚拟网卡接口VMnet1
所以,这说明第一次对VMnet8的ping操作也是错误的。这里看一个概念图
如图所示,我们说过了VMnet是交换机SW的作用,所以只有PC与交换机直接相连时,即便无法访问互联网,也能够机器间进行交互。但是试图使用VMnet1ping主机物理网卡的IP就相当于下图的红线,而ping物理机的SW1的网卡,就相当于绿线
很明显物理网卡与虚拟机并未相连,自然ping不通。只有ping对应的虚拟网卡,才能ping通。而VMnet1不能连接互联网的原因是因为条件制约,只能跟主机进行交互。那么为什么VMnet8能够连接互联网呢?因为VMnet8是NAT模式。
NAT模式:“Network Address Translation,网络地址转换”,允许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)NAT转发成合法公有网络IP地址的技术。也就说因为VMnet8的NAT模式,以至于ping主机物理网卡的IP依然能够通,且能够直接连接互联网。这是其他VMnet不能做到的。NAT模式的网卡只允许出现一个。
总结: 虚拟机网络的交互中,验证试验环节中物理机ping虚拟机时,要注意虚拟机接入了哪一个交换机(虚拟网络)然后使用对应的网段ping。同时,当虚拟机ping物理机时,应当ping的是物理机对应交换机的虚拟网卡的IP而非物理网卡IP。当上述条件不满足时,则会出现未连接的情况。
即当虚拟机接入不匹配的交换机网络后,物理机想要用原网络尝试访问时失败;但是由于虚拟机连接物理机网卡,所以虚拟机ping物理机当前网段接口成功,ping之前接口会失败。
其次考虑防火墙,防火墙在数据转发时,可能会拒绝接收数据导致ping不通,所以实验时如果出现问题可以关闭物理机或者虚拟机的防火墙。
正确的实验步骤 1.在VMnet8环境下,虚拟机ping物理机的虚拟网卡(192.168.80.1)
且物理机ping虚拟机(192.168.80.128)
2.切换到VMnet1下,同时将IP改为手动修改,保留80网关。然后物理机ping虚拟机192.168.80.1失败。虚拟机ping物理机192.168.80.1失败,但是ping192.168.10.1成功。
3.将IP改为自动,重置网络。此时网络会自动分配给虚拟机10网段,由于IP地址已经变更,则物理机ping192.168.10.128成功且虚拟机ping192.168.10.1成功
可选)4.如果有第二个虚拟机,分别将1/2虚拟机接入VMnet1/8然后互相pnig,失败。将2号接入VMnet1网络中,但是固定其IP,不要自动分配成10网段。然后两个虚拟机互相ping,成功。虽然网关没变但是因为实际接入同一个交换机处于同一网段,就可以ping通。但是如果不按照网段规划来进行,则物理机此时ping2号机将失败,因为物理机尝试通过VMnet8访问连接在VMnet1下的2号PC。
※实验过程中不要ping物理地址,即网关应该全部都是设定好的192.168.10.x或者192.168.80.x。关于NAT的章节后面会详解。
|