shell实现双线路由切换

2009-03-19

原理:网关有两条线路接入,一条是CNC网通光纤,网关是10.0.0.1 ,另一条是 TEL 电信 ADSL2 兆 ,网关是 20.0.0.1 。网通线路为主,电信线路为后备、当网通线路不通时,要立即切换到备用线路上,之后当网通线路恢复之后还要立刻切换到网通线路上。
注意事项:
1)侦测一方路由同断与否
2)自动切换后还可以在路由恢复后自动切回

  #!/bin/bash
    trap ‘echo “Bye;exit 1;”‘ 1 2 9 15
     while :
        do
           while ping -c 1 10.0.0.1 &> /dev/null
            do
               sleep 2        #休息2秒钟
            done
            ping -c 1 20.0.0.1 &> /dev/null
            if [ $? -ne 0 ]
            then
               echo “路由全部中断”
                continue    #退出后从新执行脚本
             fi
            route del default
            route add default gw 20.0.0.1
            echo “默认路由已经切换到20.0.0.1″
            until ping -c 1 10.0.0.1 &> /dev/null
            do
                sleep 2
            done
            route del default
            route add default gw 10.0.0.1
            echo “默认路由已经切换到10.0.0.1″
      done

无觅相关文章插件,快速提升流量

Share:

分类:技术日志 | 标签: | 1,029 个人看过