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

所属分类: 软件教程 / 网络通讯 阅读数: 494
收藏 0 赞 0 分享
某公司的网络如下图所示:

        该公司有两条专线,一条联通的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之间作出选择。     下面我们讨论怎样实现 从哪条线路进来的请求,其响应也从该线路出去。我们可以这样来做:      第一步:在联通线路的防火墙上,将联通给我们的IP地址x.x.x.x 的80端口映射到内网地址 192.168.168.1的80端口: iptables -t nat -A PREROUTING -p tcp -s 0/0 -d x.x.x.x/32 \ --dport 80 -j DNAT --to-destination 192.168.168.1 iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.1/32 -d 0/0 \ --sport 80 -j SNAT --to-source x.x.x.x        第二步:在互联通线路的防火墙上,将互联通给我们的IP地址y.y.y.y 的80端口映射到内网地址 192.168.1.2的80端口: iptables -t nat -A PREROUTING -p tcp -s 0/0 -d y.y.y.y/32 \ --dport 80 -j DNAT --to-destination 192.168.168.2 iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.2/32 -d 0/0 \ --sport 80 -j SNAT --to-source y.y.y.y        第三步:在WEB服务器上,为网卡eth0绑定两个IP地址:192.168.168.1,192.168.168.2: [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,然后通过互联通的线路返回给用户.这样,就可以实现 从哪条线路进来的请求,其响应也从该线路出去。 具体配置如下: [root@web ~]# ip route add table 1 default via 192.168.168.11 [root@web ~]# ip route add table 2 default via 192.168. 168.12 [root@web ~]# ip rule add from 192.168.168.1 table 1 [root@web ~]# ip rule add from 192.168.168.2 table 2 [root@web ~]# sh ip rule    <--- IOS  ^-^ /sbin/ip: /sbin/ip: cannot execute binary file [root@web ~]# ip rule list 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   就这样,就搞定了。Good Luck !!!
更多精彩内容其他人还在看

轻松搞定MSN频繁显示脱机

MSN频繁显示脱机 一招帮你搞定!
收藏 0 赞 0 分享

GGPO 街机无法连接之路由器设置篇

关于GGPO能上但是不能和他人联机的问题解决方法----开通DMZ功能
收藏 0 赞 0 分享

路由器 端口映射/触发与 DMZ 主机

下面将以WGR614v5为例来陈述,且局域网网段没有使用WGR614v5的默认设置192.168.1.0,而是使用的192.168.6.0网段。
收藏 0 赞 0 分享

Connectify 将win7系统变成无线热点的使用教程

如果需要随时建立无线热点的话,Connectify完全可以胜任。如果大家在寻找一种简单方法来使Windows 7电脑和其他设备共享无线网络,并且还要保证安全的话,就是Connectify了。
收藏 0 赞 0 分享

HP520笔记本 无法识别CDMA无线上网卡的解决办法

新买的十几台这型号机器插上CDMA无线上网卡装完驱动无法正常识别,在设备管理器里查看CDMA卡上都是感叹号,属性里显示设备不可用。
收藏 0 赞 0 分享

QQ 无法视频聊天的解决方法

好不容易买了摄像头,以为这下子可以和QQ上的MM聊个痛快。但谁知在连接时总是无法成功,面对这样的窘状该怎么办呢?不要着急,很多时候都是因为通讯模式设置不正确所导致的。
收藏 0 赞 0 分享

qq2009 天气预报去除方法

我用的是09qq官方下载的版本,每次登录时右上角都会有一个天气预报信息,可是我又不需要这样的信息,请问大家如何将其取消呢?
收藏 0 赞 0 分享

QQ空间打不开或QQ空间不显示原因分析和解决

自从有了QQ空间,许多问题也随之而来。什么QQ空间打不开,QQ空间不显示等等,这都是广大网友经常碰到的问题,下面本文将会对QQ空间打不开原因做个比较全面的介绍!相信你看过之后,一定会大有收获。
收藏 0 赞 0 分享

在QQ空间中随意加入土豆网Flash视频

我们今天就来教大家如何在QQ空间中随意加入土豆网Flash视频。
收藏 0 赞 0 分享

QQ远程协助 花屏解决方法

QQ的远程协助,非常方便。不仅能帮忙解决一些常见的电脑问题,还可以进行远程的产品演示。在使用中,经常会发现连接不了。连接后黑屏,花屏(图像倾斜)。
收藏 0 赞 0 分享
查看更多