关于这个问题我排查了很久,接下来分享一下我的排查过程和思路

相信很多小伙伴应该也会遇到这种问题,一般来说这种问题很容易解决CSDN上也有很多解决办法,但是接下来我说的这个因为网卡ens33的inet配置了多个IP,按照网上的方法https://blog.csdn.net/qq_39261894/article/details/112135554还是没有去掉这个多余的inet的IP,这就导致当宿主机Ping虚拟机或者是虚拟机ping宿主机的时候,因为ens33这这个网卡有两个inet IP导致互相回包的时候IP错乱,请求的是第一个IP发起的,回包确实另一个IP在响应,所以导致了不通。

首先要检查你的IP配置是否正确,无论你是配置的DHCP动态获取IP地址还是配置静态IP地址,首先要搞清楚你的IP配置是要跟你的VMware Virtual Ethernet Adapter for VMnet8的虚拟网卡在同一个网段。

如下:

在配置虚拟机静态IP或动态IP前,先检查你虚机的虚拟网卡编辑器,可参考我主页这篇文章的第4点的介绍

CentOS系统SSH无法连接_centos ssh连不上-CSDN博客CentOS系统SSH无法连接_centos ssh连不上https://blog.csdn.net/weixin_45190065/article/details/126587714

下图中这里可以选NAT模式或者桥接模式

配置静态IP的方法链接参考我的主页,或者自己网上找参考

linux桥接模式下配置静态IP_linux 桥接网络配置ip地址-CSDN博客linux配置静态IP_linux 桥接网络配置ip地址https://blog.csdn.net/weixin_45190065/article/details/125147296?spm=1001.2014.3001.5502

注意检查这个DNS服务器配置cat /etc/resolv.conf,一般来说在/etc/sysconfig/network-scripts/ifcfg-ens33配置了DNS后重启网络后是会写入到/etc/resolv.conf中去的,如果没有写入可以自己手动写入进去然后再重启网络。一般有在/etc/sysconfig/network-scripts/ifcfg-ens33中会配置两个DNS即DNS1和DNS2,一般就是114.114.114.114和8.8.8.8,也可以将其中一个DNS配置为VMware Virtual Ethernet Adapter for VMnet8的虚拟网卡的网关一般是192.168.xxx.2

做完以上这些后,重启网络systemctl restart network一般宿主机和虚拟机之间就可以ping通了,但是前面我说过我的问题不在这里,好的接下来说下是什么问题。是因为在/etc/ysconfig/network-scripts目录下有多个ifcfg-ens33的备份文件,导致虚拟机在加载网络的时候出了错,使用了多个ens33的inet的IP

如下:

因为备份的原因,前面两个ifcfg-ens33.back和ifcfg-ens33.bak都配置了静态IP且不在同一个网段,为什么会这样是因为我的虚拟机是移动的映像文件,当我在不同的网络环境打开时,即连接了不同的wifi启用虚拟机的时候又或者是同一个wifi下的局域网内IP刷新后导致的网络地址段不一样,当时可能没有改,直接备份了原来的ifcfg-ens33的文件,当我切换回到原来的wifi下的网络时,就可以将原来备份的ifcfg-ens33的文件恢复,这样就不用再重新配置静态IP了,直接重启网络就可以上网了,理想状态下应该是这样,不过具体行不行得通没验证过,不过只要原来wifi局域网下分配的IP段没变的话想来应该是可以的吧。不过就我这次遇到的问题来说好像是不可以,会导致虚拟机加载IP的时候出现混乱,不过ens33确实是可以配置多个IP,但是得在同一个网段,感兴趣的小伙伴可以自己去网上搜一下如何给网卡ens33配置多个IP

https://blog.csdn.net/zsx157326/article/details/79011447

https://www.google.com.hk/search?q=%E8%99%9A%E6%8B%9F%E6%9C%BAens33%E7%BD%91%E5%8D%A1%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AAIP&newwindow=1&sca_esv=573962864&ei=9YQ3Ze6MBcjg2roP2_2F8AQ&ved=0ahUKEwiu25LEpo6CAxVIsFYBHdt-AU4Q4dUDCBA&uact=5&oq=%E8%99%9A%E6%8B%9F%E6%9C%BAens33%E7%BD%91%E5%8D%A1%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AAIP&gs_lp=Egxnd3Mtd2l6LXNlcnAiIuiZmuaLn-acumVuczMz572R5Y2h6YWN572u5aSa5LiqSVAyBRAAGKIEMgUQABiiBDIFEAAYogQyBRAAGKIESOwhUOcJWIIdcAJ4AJABAJgBuAGgAYIGqgEDOC4xuAEDyAEA-AEBwgIIEAAYogQYsAPiAwQYASBBiAYBkAYE&sclient=gws-wiz-serp

后面问题的解决当然是:

1.删除掉多余的备份,只留下ifcfg-ens33(次选可以看第2种方法)

2.将备份的ifcfg-ens33.bak和ifcfg-ens33.back配置的静态IP给注释掉

如下:

记得如果有多个备份的ifcfg-ens33文件按照这个操作注释掉,然后重启网络后systemctl network restart,网络就恢复正常了,这时候宿主机跟虚拟机之间就可以ping通了,也可以ping通百度了

好了,你get了吗!!!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐