路由启动脚本

 

 
#!/bin/bash
HOST=http://169.254.169.254
COUNT=0
for DEV in `/sbin/ifconfig | grep -i "d0:.d" | grep "eth[0-9]* " | awk '{print $1}'`;do
    TABLE=$((${DEV:3}+100))
    IP="`/sbin/ifconfig "$DEV" | grep "inet " | awk '{print $2}' | awk -F":" '{print $2}'`"
    NETWORK_MASK=`ip route | grep -w "$DEV  proto"|awk '{print substr($1,1,length($1))}'`
    NETWORK=`ip route | grep -w "$DEV  proto"|awk '{print substr($1,1,length($1)-3)}'`
    GATEWAY=${NETWORK%.*}.$(expr ${NETWORK##*.} + 1)
    if [ -z $IP ]||[ -z $GATEWAY ];then
        continue
    fi
    ip route flush table $TABLE
    ip route add default via $GATEWAY dev $DEV src $IP table $TABLE prio 50
    ip route add $NETWORK_MASK dev $DEV src $IP table $TABLE prio 50
    ip rule add from $IP table $TABLE
    COUNT=$(($COUNT+1))
done
 
if [ $COUNT -lt "2" ];then
    exit
fi
for DEV in `/sbin/ifconfig | grep -i " d0:.d" | grep "eth[0-9]* " | awk '{print $1}'`;do
    NETWORK=`ip route | grep -w "$DEV  proto"|awk '{print substr($1,1,length($1)-3)}'`
    GATEWAY=${NETWORK%.*}.$(expr ${NETWORK##*.} + 1)
    TABLE=$((${DEV:3}+100))
    HW=`/sbin/ifconfig "$DEV"|tr '[A-Z]' '[a-z]' | sed -n "/ d0:.d/s/.*hwaddr *//p" | sed -n 's/:/_/gp'`
    FILENAME="${HW:0:6}route.txt"
    FILEPATH="/tmp/$FILENAME"
    wget $HOST/latest/meta-data/"$FILENAME" -q -O "$FILEPATH"; UNREACHEABLE=$?
    while [ $UNREACHEABLE -ne "0" ]
        do wget $HOST/latest/meta-data/"$FILENAME" -q -O "$FILEPATH"; UNREACHEABLE=$?; sleep 5;
    done
    while read line;do
        if [ -z $line ];then
            continue
        fi
        route add -net $line gw $GATEWAY
   done < "$FILEPATH"
done
 









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/1114716,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值