【转】虚拟机克隆之后,网卡名称从eth0变成eth1之后的解决办法

使用VMware安装了CentOS虚拟机,克隆之后使用service network restart指令来重新启动网络服务时,会看到有eth0网卡不存在的提示。

出现这种现象的原因是,很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。

在CentOS中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules

[python] view plain copy

  1. [[email protected] ~]$ vi /etc/udev/rules.d/70-persistent-net.rules
  2. # This file was automatically generated by the /lib/udev/write_net_rules
  3. # program run by the persistent-net-generator.rules rules file.
  4. #
  5. # You can modify it, as long as you keep each rule on a single line.
  6. # PCI device 0x1022:0x2000 (pcnet32)
  7. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5a:6c:73", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
  8. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:a9:22:9d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

打开该文件,这时你会发现,里面有eth0,eth1两个网卡的信息,但实际上你ifconfig时只能发现eth1一个网卡的信息,这时因为eth0根本就不存在。

将其中eth0的信息删掉,并将eth1信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。

另外还有一个启动脚本文件/etc/sysconfig/network-scripts/ifcfg-eth0,该文件中的mac地址为原来eth0网卡的物理地址,而虚拟机为eth1分配新的物理地址,故启动脚本中的信息与实际信息时不匹配的,将MAC的地址信息修改为70-persistent-net.rules中的eth1的MAC地址,再次重启网络,就完全恢复到以前eth0网卡的状态了。

来源:http://blog.csdn.net/hz_sencha/article/details/40106533

时间: 2024-12-24 18:53:45

【转】虚拟机克隆之后,网卡名称从eth0变成eth1之后的解决办法的相关文章

如何解决虚拟机克隆导致"Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'."

在VMware的虚拟机中克隆CentOS,在重启网卡的时候报错: Bringing up interface eth0:  Error: No suitable device found: no device found for connection 'System eth0'. Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: E

Linux虚拟机克隆后网卡找不到问题

解决虚拟机克隆网卡丢失问题 1.克隆后的虚拟机网卡显示如下 [[email protected] 桌面]# ifconfig lo        Link encap:Local Loopback inet addr:127.0.0.1  Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING  MTU:16436  Metric:1 RX packets:120 errors:0 dropped:0 overruns:

关于VMware上Linux克隆后网卡名称修改的操作

安装好CentOS6的系统后,纯净的系统多克隆几份出来方便后期做试验:由于克隆后mac地址会重新生成一个,实际起作用的是eth1,eth0是克隆过来的.克隆系统会重新生成一个mac地址,因为系统会在eth0加1变成eth1. 解决的办法有两种: 法一:         1.root登录,cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak 2.vi /etc/udev/

Vmware虚拟机克隆的网卡问题

系统环境:red hat 6.4 在虚拟机上使用克隆后,克隆机没有eth0, 出现eth1并且出错No suitable device found: no device found for connection "System eth0" . 克隆之后网卡会出现一些问题 1.原eth0变成eth1 2.在使用service network restart的时候报错 查看/var/log/messages出现如下情况 ———————————————————————————————————

VSphere client 虚拟机克隆及网卡报错处理

一.VSphere client 虚拟机克隆 然后跟着向导一路下一步 二.处理网卡问题 在Vsphere Client中修改这个虚拟机的MAC地址,并记下这个地址 启动虚拟机,进入CentOS系统,执行如下命令修改网上配置: vim /etc/sysconfig/network-scripts/ifcfg-eno16777984 重启网卡服务 service network restart 克隆完成.

09.VMWare虚拟机copy后网卡不是eth0解决办法

0.如果VM虚拟机已经复制了,网卡已经不是eth0了,看下面1--->步骤,如果还没复制将要复制,只看1就行 点击I copy it.这时虚拟机会在开机时检查是否次网卡无力地址已经存在,如果存在就生成另一个物理地址并把网卡eth0-->eht1;如果复制多次将是eth1...............依次往后; 你复制虚拟机次数越多,ifconfig看到的网卡号越大.如果你已经复制了虚拟机但网卡不是eth0,请看下面不走. 1.生成网卡物理地址: 复制出来,后面要用到. 2.修改虚拟机网卡名 $

关于用IOU虚拟机开始界面无法显示IP及ifconfig显示问题的解决办法

一.LINUX内相关操作 开启iou-web虚拟机.会发现作者制作的是Scientific Linux.登录信息,用户名root,密码cisco. 用root权限操作 网卡配置 1.初始化网卡相关文件 Rm /etc/udev/rules.d/70-persistent-net.rules Or Rm –f /etc/udev/rules.d/70-persistent-net.rules 然后init 6  重启 2.配置网卡IP及模式 Vi /etc/sysconfig/network-sc

如何避免虚拟机克隆后网卡eth0变成eth1

一.删除/清空 /etc/udev/rules.d/70-persistent-net.rules 二.修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0 ==>有几个网卡修改几个删除里面的UUID和HWADDR的行 三.关机开始克隆.#########扩展:                #######################克隆后出现问题###############一.删除/清空 /etc/udev/rules.d/70-persis

Linux虚拟机克隆后网卡UUID问题

虚拟机中的Linux系统克隆后,网卡配置eth0中的UUID可被克隆的系统是一样的,这样UUID就失去了唯一性. 我参考了该篇博客: 有时我们不小心将/etc/sysconfig/network-scripts /ifcfg-eth0(可以通过此文件进行查看UUID)删除或者损坏,要重新编辑ifcfg-eth0文件时不知道网卡的UUID是什么(当然也可以 不写),那我们还有什么方法可以查看网卡的UUID呢?在这里我们使用的方法是使用nmcli命令查看,方法如下: 1.首先我们查看一下nmcli是