VMware虚拟机ping通主机原理

准备

虚拟机:VMware Workstation 16Pro

光盘:CentOS-7-x86_64-DVD-2009

使用了NAT模式

首先看看我们电脑里有哪些网络适配器

在这里插入图片描述这三个适配器的ip地址分别为VMnet1:192.168.94.1 VMnet8:192.168.111.1 主机:172.22.119.255
在这里插入图片描述

在VMware中虚拟网络

在这里插入图片描述

我的Linux的一个用户
在这里插入图片描述

ping通测试

在虚拟机中ping通主机,成功

在这里插入图片描述

在主机中ping通虚拟机,成功

在这里插入图片描述

可以看到虚拟机中的ip地址为192.168.111.128,主机的ip地址为172.22.119.255,很明显不在同一局域网内,那他们是怎么互相ping通的呢?

这就和VMware给我们提供的两个网络适配器有关了,VMnet1和VMnet8。

我们可以看到,VMnet1的ip地址为192.168.94.1 ,VMnet8的ip地址为192.168.111.1。既然VMnet8和虚拟机用户在同一局域网之下。自然就能ping通了。

这里就要说明一下VMware提供的三种连接模式

三种连接模式

桥接模式

​ 虚拟机直接连接外部网络的模式,主机起到了网桥的作用。在这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。

在这里插入图片描述

​ ( 上面是我自己画的一个图。比较简陋。)这种模式下,主机起到了网桥的作用。虚拟机和主机处于平等的地位,都在同一局域网中,所以VM虚拟机可以访问到主机、访问到外网,也可以被其他主机访问到(不安全)。又因为在同一路由之下,可分配的ip有限。

NAT模式

​ 虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。

在这里插入图片描述

​ 这种模式下,主机与其他主机位于同一局域网当中,该主机又与他的虚拟机在同一局域网当中。主机提供了一个网卡,使得虚拟机之间可以互相ping通。主机为了和虚拟机之间ping通,又给了个网卡,也就是VMnet8,他的ip地址前几位和VM虚拟机的ip前几位一样(也就是在同一局域网中),所以主机和虚拟机之间可以ping通。

仅主机模式

​ 虚拟机只与主机共享一个专用网络,与外部网络无法通信。

在这里插入图片描述

​ 此模式下,主机并未提供虚拟机访问外网的网卡,只提供了一个网卡使得主机和虚拟机在同一局域网下,使得主机和虚拟机可以互相ping通。

​ 这时我们在去看上面几个网络适配器和虚拟机中的网络连接设置,便可得到,仅用户模式的ip(192.168.94.0)对应着VMnet1的ip(192.168.94.1)。NAT模式的ip(192.168.111.0)对应着VMnet8的ip(192.168.111.1),也对应着具体虚拟机(192.168.111.128)。

修改静态IP

Linux图形界面可以设置,就不细讲了。

因为很多情况下,为了减轻服务器的压力,是不会装载图形化界面的。Linux正确的操作方式:

修改配置文件,该文件在/etc/sysconfig/network-scripts/ifcfg-ens33文件下。

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

可以看到第四行:启动协议为dhcp,即动态分配ip,我们只要将dhcp修改成static即可。

在最后加上一些配置信息(根据自己的情况更改)

#IP地址
IPADDR=192.168.111.100
#网关
GATEWAY=192.168.111.2
#域名解析器
DNS1=192.168.111.2 

在这里插入图片描述

保存退出后,重启网络服务

service network restart

这时候我们在用ifconfig查看ip这时ip已经变成我们所修改的静态ip

在这里插入图片描述

返回主机ping这个静态ip,成功

在这里插入图片描述

配置主机名

使用hostname可查看当前的虚拟机主机名。

可以改关于主机名的配置文件,在/ect/hostname中。使用vi/vim修改该配置文件后需要重启服务器才能生效。

也可使用hostnamectl set-hostname 设置主机名且实时生效。

在这里插入图片描述

在物理主机下(Windows)找到C:\Windows\System32\drivers\etc\hosts文件,在后面加上ip地址和主机名

在这里插入图片描述

最后试试能否ping通该主机名吧

在这里插入图片描述

成功。

远程登录

在这里插入图片描述

我这里使用的是以root用户登录到VM001这台虚拟机的。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐