做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虚拟机初始化时执行一次,之后删除

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐