网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > CISCO > 思科解决方案 > 配置实例 > 两条链路实现负载均衡和容错的设计  

两条链路实现负载均衡和容错的设计

2008-01-03  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  某公司的网络如下图所示:

       网管论坛bbs_bitsCN_com

网管bitscn_com

        该公司有两条专线,一条联通的2M 租线,另一条互联通的512K 租线;有一台Linux 做的WEB服务器,该WEB服务器有一张网卡,接到中心交换机3560上。公司希望,当两条线路都正常时,客户能够通过任何一条专线访问公司的WEB服务器,实现负载均衡;而且,当任何一条线路出现故障时,用户仍然可以访问WEB服务器。
 
  分析:为了实现两条线路正常时的负载均衡,可以通过配置DNS轮询实现。而为了实现容错,我们需要实现 从哪条线路进来的请求,其响应也从该线路出去,这是解决问题的关键所在。因为,如果从一条线路进去的请求,其响应从另外一条线路出来的话,那么TCP的三次握手不可能完成,TCP连接不可能建立起来(因为两条线路上都有防火墙)。而且,即使不考虑防火墙的状态检测机制,假设两条线路都正常时TCP连接能够建立起来,但是,一旦其中一条线路挂了,那么连接也不可能建立得起来,容错机制也不能实现。
 
  DNS轮询,比较简单,我们不做深入的讨论。由于该公司的域名是在域名供应商那里注册的,所有只需要在域名供应商的网站上做适当配置:将该公司的WEB服务器域名 www.xxx.com.cn 分别映射到IP地址 x.x.x.x(联通IP) 和 y.y.y.y(互联通IP)就完事了。当用户浏览www.xxx.com.cn的时候,浏览器会智能地在这两个IP之间作出选择。

网管bitscn_com

    下面我们讨论怎样实现 从哪条线路进来的请求,其响应也从该线路出去。我们可以这样来做: 网管u家u.bitsCN.com

    第一步:在联通线路的防火墙上,将联通给我们的IP地址x.x.x.x 的80端口映射到内网地址 192.168.168.1的80端口: 网管u家u.bitsCN.com

    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d x.x.x.x/32 \ 中国网管联盟bitsCN.com

    --dport 80 -j DNAT --to-destination 192.168.168.1 网管bitscn_com

    iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.1/32 -d 0/0 \

中国网管论坛bbs.bitsCN.com

    --sport 80 -j SNAT --to-source x.x.x.x
   
    第二步:在互联通线路的防火墙上,将互联通给我们的IP地址y.y.y.y 的80端口映射到内网地址 192.168.1.2的80端口: 网管论坛bbs_bitsCN_com

    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d y.y.y.y/32 \ 网管联盟bitsCN@com

    --dport 80 -j DNAT --to-destination 192.168.168.2

网管联盟bitsCN_com

    iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.2/32 -d 0/0 \ 网管网www_bitscn_com

    --sport 80 -j SNAT --to-source y.y.y.y 网管u家u.bitscn@com

    第三步:在WEB服务器上,为网卡eth0绑定两个IP地址:192.168.168.1,192.168.168.2:

网管联盟bitsCN@com

    [root@web network-scripts]# cat ifcfg-eth0
    DEVICE=eth0
    HWADDR=00:0C:76:23:23:9A
    IPADDR=192.168.168.1
    NETMASK=255.255.255.0
    ONBOOT=yes
    TYPE=Ethernet
    [root@web network-scripts]# cat ifcfg-eth0:0
    DEVICE=eth0:0
    HWADDR=00:0C:76:23:23:9A
    IPADDR=192.168.168.2
    NETMASK=255.255.255.0
    ONBOOT=yes
    TYPE=Ethernet
   
    第四步:在WEB服务器上配置策略路由:将来自联通线路的,发给192.168.168.1的请求的响应包,发送给192.168.168.11,然后通过联通的线路,返回给用户;将来自互连通线路的,发给192.168.168.2的请求的响应包,发给192.168.168.12,然后通过互联通的线路返回给用户.这样,就可以实现 从哪条线路进来的请求,其响应也从该线路出去。 具体配置如下: 网管网www_bitscn_com

    [root@web ~]# ip route add table 1 default via 192.168.168.11

网管联盟bitsCN@com

    [root@web ~]# ip route add table 2 default via 192.168. 168.12

网管bitscn_com

    [root@web ~]# ip rule add from 192.168.168.1 table 1 网管联盟bitsCN_com

    [root@web ~]# ip rule add from 192.168.168.2 table 2

网管论坛bbs_bitsCN_com

    [root@web ~]# sh ip rule    <--- IOS  ^-^

网管bitscn_com

    /sbin/ip: /sbin/ip: cannot execute binary file

网管下载dl.bitscn.com

    [root@web ~]# ip rule list 网管联盟bitsCN_com

    0:      from all lookup local
    32764:  from 192.168.168.2 lookup 2
    32765:  from 192.168.168.1 lookup 1
    32766:  from all lookup main
    32767:  from all lookup default
    [root@web ~]# ip route list table 1
    default via 192.168.168.11 dev eth0
    [root@web ~]# ip route list table 2
    default via 192.168.168.12 dev eth0 中国网管论坛bbs.bitsCN.com

    就这样,就搞定了。Good Luck !!! 

网管网www.bitscn.com


TAGs   设计   均衡   实现       线路   root@web   ip   from   WEB   IP      
 上一篇:涉密园区网规划与实施   下一篇:没有了
两条链路实现负载均衡和容错的设计 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: