432ewd 发表于 2015-4-3 08:50:47

VMware vSphere 通过模板创建虚拟机后修改MAC地址脚本

#!/bin/bash
####################
#Author:jncheng   #
#Vsersion:20150402 #
####################

source /etc/profile
######################################################################################################
#
#List the system eth's Mac-address
######################################################################################################

echo "This MAC-Address is in file /etc/udev/rules.d/70-persistent-net.rules"

i=0
while [ $i -lt 5 ]
do
grepeth$i /etc/udev/rules.d/70-persistent-net.rules > /root/mac.txt

   if [ $? = 0 ]; then
      HWADDR2=$(awk '{print $4}' /root/mac.txt |awk -F == '{print $2}' |awk -F \" '{print $2}')
      ETHNUM=$(awk '{print $7}' mac.txt |awk -F = '{print $2}' |awk -F \" '{print $2}')
      echo "$ETHNUM MAC is$HWADDR2"
   else
   echo "Can't find other eth"
   break
   fi
i=$
done
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo ""
###这里将模板宿主机的物理地址显示出来,告诉这个MAC地址是不可用的。因为通过虚拟主机克隆模板时,宿主机上之前的网卡MAC地址是会保存在模板中的。根据真实的模板中的MAC地址修改吧。
echo "MAC-Address 00:50:56:ae:80:b8 Can't Use!!!!!!!!!!!!!!!!!!!!"
echo ""

#########################################################################################################
#Modify the IP and MAC addresss                                                                         #
#########################################################################################################

read -p "Please input which eth number you will modify(0-4):" input_ethnum

grep-vi 00:50:56:AE:80:B8 /etc/udev/rules.d/70-persistent-net.rules |grep eth$input_ethnum > /root/mac.txt


ethnumber=$(awk '{print $7}' mac.txt |awk -F = '{print $2}' |awk -F \" '{print $2}')


read -p "Please Input IP:" IP
read -p "Please Input Gateway:" GATE
read -p "Please Input Prefix:" PRE


cd /etc/sysconfig/network-scripts

if [ -e ifcfg-eth0 ]; then

grep -v ^IPADDR ifcfg-eth0|grep -v ^ONBOOT|grep -v ^NAME |grep -v ^DEVICE |grep -v ^PREFIX |grep -v ^GATEWAY |grep -v ^HWADDR > /root/ifcfg.txt

else

grep -v ^IPADDR ifcfg-eth1|grep -v ^ONBOOT|grep -v ^NAME |grep -v ^DEVICE |grep -v ^PREFIX |grep -v ^GATEWAY |grep -v ^HWADDR > /root/ifcfg.txt

fi



sed -i '3a\GATEWAY='$GATE''    /root/ifcfg.txt
sed -i '3a\PREFIX='$PRE''    /root/ifcfg.txt
sed -i '3a\IPADDR='$IP''   /root/ifcfg.txt
sed -i '1a\DEVICE='$ethnumber''   /root/ifcfg.txt
sed -i '1a\ONBOOT=yes'   /root/ifcfg.txt

HWADDR=$(awk '{print $4}' /root/mac.txt |awk -F == '{print $2}' |awk -F \" '{print $2}')



sed -i '3a\HWADDR='$HWADDR''    /root/ifcfg.txt

cp ifcfg-$ethnumber ifcfg-$ethnumber.bak
cp /root/ifcfg.txtifcfg-$ethnumber

echo "Restart the networking... "

service network restart&&echo "Modify is scuefull"||echo "Modify is failed"


页: [1]
查看完整版本: VMware vSphere 通过模板创建虚拟机后修改MAC地址脚本