> Linux教程 > 系统运维 >

自动生成Linux网卡配置

因为Linux虚拟机在复制时候网卡信息会更新,所以导致需要重新配置网卡。
本脚本功能,第一次添加网卡后,启动虚拟机,然后运行脚本(可以写在启动脚步中),然后根据ifconfig -a 的信息来创建ifcfg-ethX的配置文件或者修改对应的ifcfg-ethX的mac。
补充:这是对于第一次添加的网卡有效,如果需要重复添加和删除后自动配置,需要更改脚本,改为根据ip a命令的信息来修改。以后需要再改,暂时没有需求。 <无>
#!/bin/bash
#update:2013-02-25
#author:ihuotui
#version 0.1

cdate=$(date '+%Y%m%d')
num=$(ifconfig -a | grep eth | wc -l)
echo "ethX=" $num >> ethX
 
for ((n=1;n<${num};n++))
    do
 
       if [ -e /etc/sysconfig/network-scripts/ifcfg-eth${n} ] ; then
       
           sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth${n}
           ifconfig -a | grep "eth${n}" | awk '{print "HWADDR=\""$5"\""}' >> /etc/sysconfig/network-scripts/ifcfg-eth${n}    
             
      else

           touch /etc/sysconfig/network-scripts/ifcfg-eth${n}
           ifconfig -a | grep "eth${n}" | awk '{print "HWADDR=\""$5"\""}' >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo NM_CONTROLLED="\"yes\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo ONBOOT="\"yes\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo TYPE="\"Ethernet\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo BOOTPROTO="\"dhcp\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo UUID="\"2460e474-fad8-4b46-baba-da6f45ae158"${n}"\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           echo DEVICE="\"eth"${n}"\"" >> /etc/sysconfig/network-scripts/ifcfg-eth${n}
           
           continue
       fi
    done


(责任编辑:IT)