分享一个脚本解决VMware克隆CentOS6.x后网卡不识别的问题


由于CentOS 6.x系列OS使用了udev来管理网卡,因此造成了在VMware中克隆后,不能像5.x系列OS那样检测出网卡配置与硬件不一致并自动解决,从而导致克隆之后网卡不识别并无法启动。
解决的办法其实很简单,就是删除相关的错误配置,并将正确的MAC地址等配置更新到配置文件中,我为了方便在克隆后快速搞定这个问题,写了一个简单的Shell脚本,没什么技术含量但感觉非常有用,特在此分享出来。

sudo vim network-issue-fix.sh

echo "Updating 70-persistent-net.rules with eth0..."
sed -i '7,9d' /etc/udev/rules.d/70-persistent-net.rules
sed -i s/eth1/eth0/g /etc/udev/rules.d/70-persistent-net.rules

echo "Updating ifcfg-eth0 with new MAC address..."
newmac=`ip a | tail -n 1 | awk '{print $2}'`
oldmac=`grep HWADDR /etc/sysconfig/networking/devices/ifcfg-eth0 | awk -F "=" '{print $2}'`
sed -i s/$oldmac/$newmac/g /etc/sysconfig/networking/devices/ifcfg-eth0
cp /etc/sysconfig/networking/devices/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0

echo "Rebooting the OS"
sleep 2
reboot

sudo chmod +x network-issue-fix.sh
sudo ./network-issue-fix.sh

执行脚本后会重启,重启之后问题就解决了。

,

  1. #1 by Maurine on 2013/08/16 - 14:36

    好!

  2. #2 by s209 on 2014/01/10 - 10:52

    直接删除/etc/udev/rules.d/70-persistent-net.rules配置文件中的mac地址和网卡绑定行,重启后系统也会自动识别加载新网卡的mac信息的。

(will not be published)
*