Skip to content

Instantly share code, notes, and snippets.

@shalk
Created January 6, 2014 06:17
Show Gist options
  • Save shalk/8278965 to your computer and use it in GitHub Desktop.
Save shalk/8278965 to your computer and use it in GitHub Desktop.
修改udev 改变eth对应关系
#!/bin/bash
################################################################
#script to trigger this script
# for i in {1..84}
# do
# scp AutoNetconf.sh 10.5.101.$i:~/
# ssh 10.5.101.$i "sh AutoNetConf.sh $i"
# done
################################################################
IPID=$1
NetFlag=0
declare MAC array
NetDevPCInHW()
{
local i
for i in `ifconfig -a|grep eth|awk '{print $1}'`
do
echo $(ethtool -i $i|awk '$1~/bus-info/{print $2}') $(ifconfig $i|awk '$4~/HWaddr/{print $5}')
done
}
#NetDevPCInHW |sort
IFS="
"
k=1
for j in `NetDevPCInHW |sort`
do
MAC[$k]=`echo $j|awk '{print $2}'|tr [A-Z] [a-z]`
k=`echo $k+1|bc -l`
done
cat > /etc/udev/rules.d/70-persistent-net.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="${MAC[1]}", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="${MAC[3]}", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="${MAC[4]}", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="${MAC[5]}", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="${MAC[6]}", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"
EOF
if test $IPID -lt 10 ; then
NodeID=$IPID
echo "NETWORKING=yes" > /etc/sysconfig/network
echo "HOSTNAME=gys-stor0${NodeID}" >> /etc/sysconfig/network
elif test $IPID -ge 10 && test $IPID -le 42;then
NodeID=$IPID
echo "NETWORKING=yes" > /etc/sysconfig/network
echo "HOSTNAME=gys-stor${NodeID}" >> /etc/sysconfig/network
elif test $IPID -gt 42 && test $IPID -lt 52 ;then
NodeID=`echo $IPID-42|bc -l`
echo "NETWORKING=yes" > /etc/sysconfig/network
echo "HOSTNAME=gyw-stor0${NodeID}" >> /etc/sysconfig/network
else
NodeID=`echo $IPID-42|bc -l`
echo "NETWORKING=yes" > /etc/sysconfig/network
echo "HOSTNAME=gyw-stor${NodeID}" >> /etc/sysconfig/network
fi
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE=eth0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.5.101.${IPID}
NETMASK=255.255.0.0
GATEWAY=10.5.0.254
EOF
for((i=1;i<5;i++))
do
cat > /etc/sysconfig/network-scripts/ifcfg-eth${i} << EOF
DEVICE=eth${i}
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=2${i}.5.101.${IPID}
NETMASK=255.255.0.0
EOF
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment