Author:haoransun
WeChat:SHR—97
缘由
今天总结一下前段时间出现的一些虚拟机问题,之前配置的宿主机ping虚拟机以及虚拟机ping外网没有什么问题,但是后来不知道什么原因突然就ping不通了,经过网上各种找资料,研究了下VM0,1,8的区别,为了防止遗忘在此记录。
两机互ping的问题
VMnet0使用的是桥接模式,安装VM后默认的就是这种模式,这种模式一般是只需要一台虚拟机与宿主机可以互通,并且虚拟机可以访问外网。VMnet1是使用host-only模式,即虚拟机只能与主机构成内部通信,无法对外网进行通信。VMnet8使用的是NAT网络模式,这种模式一般是一台宿主机以及多台虚拟机,在构建hadoop分布式集群的时候就是采用这种模式的。
明白了上面三个的区别,下面就可以亲手实验一番了。首先看下自己创建的虚拟机的网关地址,看下面2张图,选择创建的虚拟机,在编辑中选择虚拟网络编辑器,选择VMnet8,点击NAT设置,可以看到虚拟机的网关地址是192.168.80.2
接下来就是找到宿主机的网关地址,看下面两个图,在控制面板的网络连接中找到VMnet8,右键选择属性,在网络中找到IPv4选项再次点击属性,这里出现的问题时我这里不知道为什么手动选择IP地址下面的全成空了,这就是我为什么出现ping不同的原因了,这里配置IP地址为192.168.80.1,子网掩码与虚拟机的子网掩码保持一致即可,保存。
之后修改虚拟机的网络适配器模式为NAT模式,选择创建好的虚拟机,在网络适配器中选中即可。
接下来进入虚拟机,修改配置文件,
- CentOS6.5 vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 修改ifcfg-ens33配置文件,这里用的是CentOS7,按具体情况来,根据之前查到的虚拟机网关及子网掩码配置如下:
保存之后,通过 service network restart重启即可,在宿主机与虚拟机分别用ping命令测试发现可以ping通,OK。虚拟机上网问题
这样就可以在宿主机使用xshell进行虚拟机连接了,方便操作,还有一个问题是之前虚拟机可以ping通外网的,现在突然连不上了,这样如果在虚拟机中下载一些软件安装包就会出现问题,查找了一下资料,发现:是因为没有设置dns服务器导致的,修改/etc/resolv.conf配置文件即可,向里面加入dns服务器地址,它是DNS客户机配置文件,用于设置DNS服务器的IP地址地址及DNS域名,添加如下两个地址即可ping通外网了。测试一下,ping www.baidu.com 发现ping通,OK1
2nameserver 168.95.1.1
nameserver 168.95.192.1