一、问题
因为换电脑的缘故,把原来电脑上的3台虚拟机搬到了新电脑上,但是突然发现只有一台虚拟机可以ping通,其他2台都ping不同
通过命令ifconfig查看的时候发现ens33也没有了
这是可以ping通的虚拟机
这是无法ping通的虚拟机
无法pin通的虚拟机没有出现ens33
二、自己解决的过程
反正重新检查了虚拟机和本地的网络配置,都没问题,然后去网上看了一些大佬的解决方案也都不行,这里先推荐之间查过的几个大佬的文章
虚拟机网络配置教程,ping不通的几种原因及解决办法_ping不通虚拟机ip地址的原因-CSDN博客
虚拟机与主机无法ping通解决方式汇总_虚拟机无法ping主机-CSDN博客
都没有解决,该ping不通还是ping不通
然后本来打算重新配置一下的,这里有尚硅谷的linux安装全文档,无脑跟着操作就行,需要的话可以在文章下方评论
然后突然发现我 /etc/sysconfig/network-scripts/ifcfg-ens33 文件中三台虚拟机的UUID的值竟然都是一样的
UUID是什么意思
在/etc/sysconfig/network-scripts/ifcfg-ens33
文件中,UUID
(Universally Unique Identifier,通用唯一识别码)是一个用于唯一标识网络接口卡的字符串。这个UUID是在网络接口首次被系统识别并配置时自动生成的,通常用于确保网络配置的唯一性和一致性,特别是在使用网络管理工具(如NetworkManager)时。
然而,值得注意的是,并非所有Linux发行版或网络配置都会使用UUID。在一些情况下,特别是当网络接口是通过传统的网络脚本(如/etc/sysconfig/network-scripts/
下的文件)手动配置时,UUID可能不是必需的,或者可能根本不存在于配置文件中。
如果你的/etc/sysconfig/network-scripts/ifcfg-ens33
文件中包含了UUID,它看起来可能像这样:
UUID=01234567-89ab-cdef-0123-456789abcdef
这个UUID是由一系列32个十六进制数字(0-9, a-f)组成的,分成五组,用短横线-
分隔,总共36个字符长(包括四个短横线)。
如果你需要修改网络接口的配置,但不确定UUID的值,你可以尝试以下几种方法:
-
保留现有UUID:如果网络配置正常工作,通常建议保留现有的UUID不变。
-
删除UUID:在一些情况下,删除UUID并重新启动网络服务或虚拟机可能不会影响网络连接的功能。但是,请注意,这可能会导致NetworkManager或其他网络管理工具无法正确识别网络接口。
-
生成新的UUID:如果你确实需要一个新的UUID,你可以使用
uuidgen
命令(如果可用)来生成一个新的UUID,并将其添加到配置文件中。但是,请注意,这样做可能会导致与NetworkManager或其他网络管理工具的兼容性问题。 -
使用网络管理工具:如果你使用的是NetworkManager,那么最好通过NetworkManager的图形界面或命令行工具来管理网络配置,而不是直接编辑配置文件。NetworkManager会自动处理UUID和其他网络配置细节。
最后,请记住,在修改网络配置文件或执行任何可能影响网络连接的更改之前,最好先备份原始文件或系统快照,以便在出现问题时能够恢复到原始状态。
解决
UUID相同会导致一些冲突,我断定这就是我ping不通的原因,那么就直接把三台虚拟机的UUID都改一下,改成不一样的
- 使用
uuidgen
命令生成一个新的 UUID。 - 将新的 UUID 复制到
/etc/sysconfig/network-scripts/ifcfg-ens33
文件中,替换掉旧的 UUID。 - 重启网络服务或虚拟机以使更改生效。
也可以直接在原来的UUID中随机添加个字符,只要保证是唯一的就行
然后就通了!!!
没想到挺简单的问题,自己研究了好几个小时,还是道行太浅,惭愧惭愧,希望看到这篇文章的小伙伴们,刚好这个问题就是你们遇到的问题,祝大家天天没BUG