做linux虛擬機克隆時,在/etc/udev/rules.d/70-persistent-net.rules 會多一條 "eth1"網卡的記錄,配置 IP地址後ifconfig 顯示是eth1
思路:克隆後的虛擬機網卡的mac地址變了。實際上生效的就是eth1的mac地址。 如下做的操作,就是用eth1的mac地址替換掉eth0的mac地址, 網卡默認是不啓用,設置爲啓用。 寫的難看,但功能能實現。初始化的時候執行一次就好。
#編輯ifcfg-et0
#!/bin/sh
mac=$(grep "eth1" /etc/udev/rules.d/70-persistent-net.rules | awk -F "[,\"]" '{print $11}') #設置變量mac
sed -i '2s/.*/HADDR='$mac'/' /etc/sysconfig/network-scripts/ifcfg-eth0 #取新mac地址替換eth0配置文件
sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-eth0 #啓用網卡eth0
#編輯70-persistent-net.rules
#!/bin/sh
mac=$(grep "eth1" /etc/udev/rules.d/70-persistent-net.rules | awk -F "[,\"]" '{print $11}') #設置變量mac
sed -i -r 's/(ATTR\{address\}==")[^"]*/\1'$mac'/' /etc/udev/rules.d/70-persistent-net.rules #修改eth0MAC地址
sed -i '$d' /etc/udev/rules.d/70-persistent-net.rules #刪除多餘eth1記錄
rm -rf 自己 # 克隆linux虛擬機初始化時執行一次,之後刪除