LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 939|回复: 4

关于使用IProute2来实现双线路冗余不间断上网,负载平衡的问题

[复制链接]
发表于 2003-8-8 10:43:02 | 显示全部楼层 |阅读模式
一、上网环境
  1、两条由不同ISP商提供的LAN上网线路,100台windows系列的客户机
  2、ISP1:ip:172.21.30.252/24        gw:172.21.30.1
     ISP2: ip:192.168.11.2/24         gw:192.168.11.1
     DNS: 202.96.128.68
  3、server: debian woody + kernel 2.4.21(重新编译了所需模块)
             iproute 20010824-8
             加装了三块网卡
      
      网卡------驱动------------IP地址---------类型
      eth0      de4x5         192.168.0.5     server
      eth1      via-rhine     172.21.30.252   isp1
      eth2      ne            192.168.11.21   isp2
   
二、想实现的功能
  1、利用woody(2.4.21)+iproute2来实现路由的功能,使100台clients能够上网;
  2、isp1的线路快,为默认上网线路。如果它断开,那么所有的数据将通过isp2的线路;反之也一样。
  3、在两条线路都能正常连接工作的时候,能够实现负载平衡;

三、配置文件的内容
  1、cat /etc/network/interface
   
# Dlink DE-530   Drivers:de4x5
auto eth0        
iface eth0 inet static
        address 192.168.0.5
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.2550

# Legend-Dlink DFE-530TX      Drivers:via-rhine
auto eth1        
iface eth1 inet static
        address 172.21.30.252
        netmask 255.255.255.0
        network 172.21.30.0
        broadcast 172.21.30.255
        gateway 172.21.30.1

# NE2000 SUPPORT     Drivers:ne
auto eth2        
iface eth2 inet static
        address 192.168.11.2
        netmask 255.255.255.0
        network 192.168.11.0
        broadcast 192.168.11.255
        gateway 192.168.11.1

  2、cat /etc/resolv.conf
   nameserver 202.96.128.68

  3、内核编译时所需的一些模块:
  CONFIG_NETLINK_DEV=y
  CONFIG_INET=y
  CONFIG_IP_MULTICAST=y
  CONFIG_IP_ADVANCED_ROUTER=y
  CONFIG_IP_MULTIPLE_TABLES=y
  CONFIG_IP_ROUTE_NAT=y
  CONFIG_IP_ROUTE_MULTIPATH=y
  CONFIG_IP_ROUTE_TOS=y
  CONFIG_IP_ROUTE_VERBOSE=y
  CONFIG_IP_ROUTE_LARGE_TABLES=y

四、iproute2的设置过程
1、ip rule add from 172.21.30.252 lookup 1
2、ip route add 192.168.0.0/24 via 192.168.0.5 table 1
3、ip route add 0/0 via 172.21.30.1 table 1
4、ip rule add from 192.168.11.2 lookup 2
5、ip route add 192.168.0.0/24 via 192.168.0.5 table 2
6、ip route add 0/0 via 192.168.11.1 table 2
7、ip route replace default equalize nexthop via 172.21.30.1 dev eth1 nexthop via 192.168.11.1 dev eth2
8、ip route flush cache

执行完这些操作以后,用ip ruote show显示的结果:

172.21.30.0/24 dev eth1  proto kernel  scope link  src 172.21.30.252
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.5
192.168.11.0/24 dev eth2  proto kernel  scope link  src 192.168.11.2
default equalize
        nexthop via 172.21.30.1  dev eth1 weight 1
        nexthop via 192.168.11.1  dev eth2 weight 1

五、测试结果(有点遗憾,
  1、在woody本机能够上网,将其他的客户机的网关设置成192.168.0.5,DNS同上,却不能上网,客户机能够ping通本机;
  2、线路断开后,不能自动切换到另一条线路;
  3、重新启动以后,iproute2的配置内容丢失。

六、想知道问题所在
  1、是不是还需要设置iptable,才能让其他的机器上网;
  2、iproute2的设置哪里不对,还是内核中的哪个跟网络有关的模块没有,为什么不能自动识别线路的断开而利用另一条线路;
  3、如何能检测到当两条线路都在工作时,有没有进行负载平衡;
  4、为什么重启以后,iproute2的配置内容会丢失。

上网查了很多资料,有点“乱花渐欲迷人眼”的感觉,为了能让woody达到这个目的,花了半个月的时间竟然不成功,不禁有点茫然和无助。
郁闷........
期待........
 楼主| 发表于 2003-8-8 14:15:02 | 显示全部楼层
没人能帮帮我吗?
发表于 2003-8-8 14:25:00 | 显示全部楼层

大哥不要着急

小弟这就帮你想象办法
俺周围也有很多高人的
 楼主| 发表于 2003-8-8 14:30:25 | 显示全部楼层
那就多谢楼上的这位兄弟了
发表于 2003-8-13 04:10:15 | 显示全部楼层
能告知,有什么用处吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表