我目前使用一个Linux机器(CentOS 5.9)作为我的路由器。 路由器是多宿主,并使用两个ISP连接到互联网。 来自局域网的因特网stream量通过两条线路分配。
当一个特定的ISP连接断开时,我不得不通过另一个ISP手动路由stream量。 什么是最好的方式来检测一个死的ISP网关和路由stream量通过替代ISP连接?
我会用简单的cron工作来实现这一点
#!/bin/sh PING=$(ping $ETH0ISPGW -I eth0 -c1 -W5 | awk -F '[ /]*' '/rtt/ {print $8}') if [ -z "$PING" ]; then echo "Line is dead" echo "do something" else echo "everything ok" echo "$PING" fi
如果行删除删除特定的规则,并让它发送给你一个电子邮件,或什么的。
有了像pfSense这样的专用路由平台,它将独立处理多个连接。 这两条线路的configuration(负载平衡,备份等)
你可以使用路由指标。
route add default gw $gw1 metric 1 route add default gw $gw2 metric 2
这样,如果链路1掉线,系统将select第二路由。 不是一个平衡者,而是一个应该做的工作。 如果你也在寻求平衡,我会寻找一些硬件。