VM中Centos克隆后致MAC重复故障解决centos
软件环境:centos 6.4_x86_64bit服务器
故障描述:网络
用Vmware虚拟机软件克隆一个centos后,克隆后的系统mac地址与被克隆系统重复致使克隆的虚拟机网络故障,解决办法以下。ide
缘由分析:spa
不少Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程当中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而VMware会自动生成虚拟机的mac地址。这样,因为基本系统的虚拟机已经记录了该虚拟机的网卡mac地址对应于网卡eth0,在克隆出的虚拟机中因为mac地址发生改变,udev会自动将该mac对应于网卡eth1。以此类推,udev会记录全部已经识别的mac与网卡名的关系,因此每次克隆网卡名称会自动加1,而其实kernel仅仅只识别到一张网卡,跟网卡名相关的网络配置也未发生任何变化。blog
缘由分析来自一网友 ip
故障解决:get
操做前备份:generator
cp /etc/udev/rules.d/70_persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak博客
故障解决前文件内容为:
步1:[root@yuanC6~]# vi /etc/udev/rules.d/70-persistent-net.rules
# This file wasautomatically generated by the /lib/udev/write_net_rules
# program, runby the persistent-net-generator.rules rules file.
#
# You can modifyit, as long as you keep each rule on a single
# line, andchange only the value of the NAME= key.
# PCI device0x8086:0x100f (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*",ATTR{address}=="00:0c:29:87:5d:83", ATTR{type}=="1",KERNEL=="eth*", NAME="eth0" ###注释这是错误内容,删除该行。
# PCI device0x8086:0x100f (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7d:ee:c4",ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" ###注释把前面的eth1改成0,由于我使用的是eth0因此这里改成0,强调要改成你要使用的网卡号
步2:
[root@yuanC6 ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=0c65414f-4fac-4719-863f-8b1ee1a4ccf3
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0c:29:7d:ee:c4###注释修改此处的mac地址要和步一中的红色mac同样。
IPADDR=192.138.1.61
PREFIX=24
GATEWAY=192.138.1.1
DNS1=202.101.224.68
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Systemeth0"
NETMASK=255.255.255.0
USERCTL=no
步3:
完成前几步后,重启服务器便可。
故障解决后文件内容为:注意粉红色底纹部分
[root@yuanC6 ~]#cat /etc/udev/rules.d/70-persistent-net.rules
# This file wasautomatically generated by the /lib/udev/write_net_rules
# program, runby the persistent-net-generator.rules rules file.
#
# You can modifyit, as long as you keep each rule on a single
# line, andchange only the value of the NAME= key.
# PCI device0x8086:0x100f (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7d:ee:c4",ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@yuanC6 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=0c65414f-4fac-4719-863f-8b1ee1a4ccf3
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0c:29:7d:ee:c4
IPADDR=192.138.1.61
PREFIX=24
GATEWAY=192.138.1.1
DNS1=202.101.224.68
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Systemeth0"
NETMASK=255.255.255.0
USERCTL=no
或参考我老师博客老师的总结:http://oldboy.blog.51cto.com/2561410/1363853