Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110261
  • 博文数量: 17
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-20 23:12
文章分类

全部博文(17)

文章存档

2010年(4)

2008年(13)

我的朋友

分类:

2008-08-06 11:36:27

#!/bin/sh

#write by loulancn#163.com

#定义两个出口的网关

gw1=192.168.6.1
gw2=192.168.15.1

#负载均衡和单线路故障时的pf规则

PF_Load_Balance=/etc/pf/PF_Load_Balance.conf
PF_Lan1=/etc/pf/PF_Lan1.conf
PF_Lan2=/etc/pf/PF_Lan2.conf

#记录链路状态和线路故障的事件

Link_State=/etc/Link_State
Link_State_Log=/var/log/Link_State_Log

#获取上一次的状态值

Previously_Link_State=`cat $Link_State`


#程序开始

if ping -c1 -W1 $gw1 >/dev/null 2>&1
then
  if ping -c1 -W1 $gw2 >/dev/null 2>&1
        then
        L_State=2
        echo $L_State > $Link_State
        else
        L_State=1
        echo $L_State > $Link_State
        fi
else
        if ping -c1 -W1 $gw2 >/dev/null 2>&1
        then
        L_State=0
        echo $L_State > $Link_State
        else
        L_State=-1
        echo $L_State > $Link_State
        fi
fi

if [ $Previously_Link_State -eq $L_State ]
then
echo " Link State Not Change !"
else

        case $L_State in
        2)
        echo "All Link is UP at `date`! " >> $Link_State_Log
 pfctl -f $PF_Load_Balance
        ;;

        1)
        echo "Link $gw1 is UP! Link $gw2 is Down at `date`!" >> $Link_State_Log
 
 #单线路时对默认路由的修改
 route delete default
 route add default $gw1

 pfctl -f $PF_Lan1
        ;;

        0)
        echo "Link $gw1 is Down ! Link $gw2 is UP at `date`!" >> $Link_State_Log
 route delete default
 route add default $gw1
 pfctl -f $PF_Lan2
        ;;

        -1)
        echo "All Link is Down at `date`!" >> $Link_State_Log
        ;;
        esac

fi

阅读(1214) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-12-05 15:54:45

求发个全的资料,双线策略OB+PF,最好带PF.CONF QQ:358340779

chinaunix网友2008-12-05 15:54:45

求发个全的资料,双线策略OB+PF,最好带PF.CONF QQ:358340779