复制出的虚拟机启动不能ping通的解决思路分析

用clone方法复制出的Ubuntu虚拟机启动后,尽管IP等网络信息不和其他虚拟机冲突,但就是无法ping通其他虚拟机。

创建得到的虚拟机信息:


?

复制得到的虚拟机信息:


?

? ? ? ? ?通过观察网络配置文件,发现两台虚拟机的网卡名称是最大的区别。按照常理,当系统中只有一块网卡时,Linux的硬件侦测程序会把它标识为第一块网卡,即在Ubuntu中应显示为编号0而不是1。这就意味着,复制得到的虚拟机中还应存在一张网卡,只不过由于未被侦测到而未能挂载到Ubuntu系统中,而这张看不见的网卡就是编号为0的第一网卡。

经查询Ubuntu的硬件注册机制文档得知,/lib/udev/writenetrules会在系统安装好后自动生成一个记录当前网卡硬件信息的文件70-persistent-net.rules,这个文件一般存放在目录 /etc/udev/rules.d/ 中。

它的内容大致如下:

***# This file was automatically generated by the /lib/udev/writenetrules

program, run by the persistent-net-generator.rules rules file.

You can modify it, as long as you keep each rule on a single

line, and change only the value of the NAME= key.

net device ()

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?", ATTR{address}=="00:0C:29:D5:2C:03", ATTR{type}=="1", KERNEL=="eth", NAME="eth0"*

?

? ? ? ?这个文件中记录了网卡的MAC地址及对应的设备名称。Linux开机后,系统会检查当前挂载的设备是否与配置文件中记录的信息向一致,入不一致就不会激活相关设备。具体到此处而言就是,Ubuntu开机后,设备侦测程序发现当前网卡的MAC地址与/etc/udev/rules.d/70-persistent-net.rules 中所记载的信息不一致,因此会将编号0保留给70-persistent-net.rules已记录的MAC地址(尽管编号0未挂载到当前系统)、将编号1分配给当前网卡的MAC地址并拒绝激活当前网卡。

? ? ? ? 因此,在解决这类故障时有两种思路:一是修改 70-persistent-net.rules 中的设备信息记录,二是使已存在的记录失效。

? ? ? ? 如果是在生产环境中解决此类故障,建议修改 70-persistent-net.rules 中的记录,或者采用注释的方式使记录失效。如果是实验环境或者非重要环境可以删除文件 70-persistent-net.rules 或者以修改文件名的方式备份。

? ? ? ? ?CentOS 6后,CentOS改变了设备的命名方式,采用一致性设备命名规范,同时支持biosdevname和net.ifnames规范,因此不能再依靠设备编号来识别网卡了,但网卡的MAC地址是全球唯一的,因此在CentOS中解决这类故障时,上述两个思路依旧有效。

? ? ? ? 更换网卡后,新网卡不能被激活也是因为有这个文件的存在,删除后重启系统即可激活新网卡。

? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?孟伯,20200304

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?交流联系:微信 1807479153 ,QQ1807479153

原文地址:https://blog.51cto.com/6286393/2475448

时间: 2024-07-30 13:22:05

复制出的虚拟机启动不能ping通的解决思路分析的相关文章

物理机与虚拟机IP互ping通,而互ping主机名不通

问题描述:虚拟机信息:VMware-workstation 10安装RHEL5.8操作系统.hostname:rhel201.com IP:192.168.1.201 物理机系统:windows 7主机名:rusky-PC IP: 192.168.1.123 两者能够互相ping通对方的IP地址,但是互ping对方主机名失败. 处理方法:1.虚拟机linux系统中编辑如下文件[[email protected] ~]# vi /etc/hosts # Do not remove the foll

[linux学习]主机无法ping通虚拟机,但虚拟机却可以ping通主机

之前想通过XShell连接虚拟机中的ubuntu系统,但是怎么都连接不上,然后尝试ping虚拟机结果发现主机根本无法连通虚拟机,在经过多发查找之后终于找到了解决办法,特此记录,以便日后查询. 原文链接:https://blog.csdn.net/ww1473345713/article/details/51490525 1.虚拟机网络连接采用的是NAT模式 2.虚拟机IP采用的是自动获取. IP:192.168.191.130子网掩码:255.255.255.0默认网关:192.168.191.

VM虚拟机启动夜神模拟器卡99%解决办法

VM虚拟机启动夜神模拟器卡99%解决办法 本人出现的情况: 物理机装的是win7系统,安装了vmware14(安装过程未出现报错),在vmware14 上 win10系统(安装过程未出现报错),安装夜神模拟器(安装过程未出现报错),启动卡99%,提示退出安全软件后重试. 但是我虚拟机上压根没有装安全软件! 自己尝试了很多办法: 1. 关闭虚拟机系统的防火墙(未解决) 2. 开启VT 3.下载不同版本的夜神模拟器(未解决) 4.安装不同版本的Window 系统(未解决) 5.安装不同版本的vmwa

关于Linux 虚拟机如何才能ping 通外网

需要虚拟机能够联网.以前都是用桥接模式让虚拟机跟主机通信,这几天查了好多资料,都没有写得很详细,自己捣鼓了很久,把步骤写下来吧. 虚拟机操作步骤: 点击虚拟机的"菜单栏"上的"编辑",再点击"虚拟网络编辑器",接着的操作如下图所示: 然后选择添加vm8 ,点确定之后会出现以下界面,如下图所示 接着点"NAT设置" 然后接着以下步骤 设置完成之后点"确定",再依次点击"应用"和"

CentOs虚拟机可以互相ping通,但无法访问虚拟机Web服务

虚拟机ip:192.168.0.57 主机 ip:192.168.0.80 在虚拟机上搭建了php环境,虚拟机CentOs,主机win7 虚拟机-主机之间可以互相ping通,但是主机无法访问虚拟机: 访问自己搭建的网站返回:无法访问(检查了Apache的运行状态:running);然后我直接浏览器输入ip地址,也返回:无法访问,确定是服务器的问题,不是网站搭建的问题 原因: 查看虚拟机80端口是否屏蔽: telnet 192.168.0.57 80 返回:在端口 80 :连接失败 说明:虚拟机的

CentOs虚拟机可以互相ping通,但无法访问虚拟机服务

虚拟机ip:192.168.0.57 主机 ip:192.168.0.80 在虚拟机上搭建了php环境,虚拟机CentOs,主机win7 虚拟机-主机之间可以互相ping通,但是主机无法访问虚拟机: 访问自己搭建的网站返回:无法访问(检查了Apache的运行状态:running);然后我直接浏览器输入ip地址,也返回:无法访问,确定是服务器的问题,不是网站搭建的问题 原因: 查看虚拟机80端口是否屏蔽: telnet 192.168.0.57 80 返回:在端口 80 :连接失败 说明:虚拟机的

两个虚拟机之间不能ping通的三大原因

在一台电脑上新建两个虚拟机,并分别安装windows7系统和windows2008系统,它们两个之间不能ping通可能是因为: 1.检查两个虚拟机上的防火墙是否未关闭或者只关了一半: 2.虚拟机的网络设置是否选择的是仅主机网络,如果不是,可能造成IP地址与现实机冲突. 3.检查两个虚拟机的IP地址是否在一个网段(例如:192.168.1.1与192.168.1.100在同一网段,            192.168.1.1与172.168.1.1不在一个网段.)

虚拟机nat能ping通内外,无法访问外网

环境: centos ip 192.168.188.3VMnet 8 网卡ip 192.168.188.1虚拟网络网卡 网关 192.168.188.1 ping 192.168.188.1 可以ping通,ping外网不通: 解决方案 VMnet 8 只是相当于 网络中的一个邻居,而不是网关: 所以:修改虚拟网络网关为 192.168.188.254在centos 中修改 网关指向 192.168.188.254 原文地址:http://blog.51cto.com/shuzonglu/213

suse11 sp4(虚拟机) 能ping通主机,但是主机ping不通suse虚拟机

sese的防火墙没关. 查看防火墙状态: rcSuSEfirewall2 status(必须是root账户,sudo都不行) 关闭防火墙:rcSuSEfirewall2 stop 事实上,防火墙有时候会关闭失败.搞不明白,可以尝试重启再关闭. 原文地址:https://www.cnblogs.com/jiu0821/p/9021749.html