ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

一个路由启动脚本的范例

2014-6-19 22:27| 发布者: admin| 查看: 472| 评论: 0

摘要: 下面是一个路由器启动的脚本,并不复杂所以没附加说明了。 #!/bin/bash HOST=http://169.254.169.254 COUNT=0 for DEV in `/sbin/ifconfig | grep -i d0:.d | grep eth* | awk '{print $1}'`;do TABLE=$((${DEV: ...

下面是一个路由器启动的脚本,并不复杂所以没附加说明了。

#!/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

不良信息举报Q:2000617
新用户7天后可回帖!

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-11-10 16:07 , Processed in 0.028678 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部