五颜六色论坛 -> 网站建设 -> debian 双线的策略路由 登录 -> 注册 -> 回复主题 -> 发表主题

deserts 2007-09-20 22:41

# echo "200   DIANXIN" >> /etc/iproute2/rt_table
# ip route add default via $接电信网卡IP table DIANXIN
# ip route add default via $接网通网卡IP
# ip rule add fwmark 1 table DIANXIN  
# ip route flush cache
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d $电信IP -j MARK --set-mark 1  
# .
# .
# .

ISP 的IP 段可以用下面文章里的方法收集
http://bbs.linuxsky.net/viewthread.php?tid=2496

负载均衡要和策略路由一起做比较麻烦,没经验。
线路保护的话,引用一个脚本

QUOTE:
可以通过每10s发送一个小的ping包到网关,看是否有回应,一般网关都是允许ping的。

  这个可以通过一个expect程序(netwatch.exp)来完成,下面这个脚本发送一个字节为1的ping包给网关,并分析ping的输出信息,如果为 0% packet loss,表示正常,以0退出。如果超时(1秒钟),以1退出。


CODE:[Copy to clipboard]#!/usr/bin/expect

set target [lindex $argv 0]
set timeout 1
spawn ping -c 1 -s 1 $target

expect {
  " 0% packet loss" {
    exit 0
  }
  timeout {
    exit 1
  }
}
比如网关1为192.168.1.1,网关2为192.168.2.1,那么要监测这两个网关的话,可以这样:


CODE:[Copy to clipboard]#!/bin/sh

netwatch.exp 192.168.1.1
result1=$?
netwatch.exp 192.168.2.1
result2=$?
if [ "$result1" eq 0 ] && [ "$result2" eq 0 ] ; then

# 如果上次检测时连接丢失,而此次恢复正常
  if [ -e /var/run/lost-connection ] ; then
    do some recovery action here ...
    rm /var/run/lost-connection
  fi

# 如果网关1不可达
elif [ "$result1" ne 0 ] ; then
  change default route to 192.168.2.1
  do some action here, such as iptables NAT

  # 创建连接丢失标识
  touch /var/run/lost-connection

# 如果网关2不可达
elif [ "$result2" ne 0 ] ; then
  change default route to 192.168.1.1
  do some action here, such as iptables NAT

  # 创建连接丢失标识
  touch /var/run/lost-connection
fi


linky_fan做一些优化debian+pc server 跑300个节点应该没问题吧

deserts 2007-09-20 22:41
网上找来的,好像也不是很详细
姑且留着吧

deserts 2007-12-13 16:37
iptables
iproute
都需要先安装好

胖小猫11 2007-12-15 18:37
偶路过,也顶了.........

心自妖娆 2007-12-18 14:05
偶路过,也顶了.........


查看完整版本: [-- debian 双线的策略路由 --] [-- top --]


[ 五颜六色论坛 ]

Powered by PHPWind 5.0.1 © 2005 苏ICP备05001866号 5y6s.net
Time 0.024443 second(s),query:4 Gzip enabled