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

所属分类: 软件教程 / 网络通讯 阅读数: 444
收藏 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 !!!
更多精彩内容其他人还在看

微信大战支付宝升级:微信店铺禁用支付宝

微信店铺禁用支付宝!支付宝官方微博就此事回应称,从2月2日下午开始,商户通过微信平台开设的店铺无法使用支付宝收付款。而支付宝为商户(包括商户在微信开设的店铺)提供的支付服务在昨日没有发生任何变化
收藏 0 赞 0 分享

防蹭网大师怎么用 防蹭网大师有效防止偷网蹭网

防蹭网大师怎么用?其实很简单,下面我们就一起来了解一下防蹭网大师教程。
收藏 0 赞 0 分享

微信for windows常见问题汇总 windows微信怎么登陆

今天小编为大家带来微信for windows常见问题汇总,一起来看看吧
收藏 0 赞 0 分享

新浪微博让红包飞2015活动 免费抢大量现金红包 可提现到支付宝

新浪微博让红包飞2015活动,免费抢大量现金红包,可以提现到支付宝。下面小编为大家介绍活动详情以及活动地址,感兴趣的朋友快快来参与吧
收藏 0 赞 0 分享

新浪微博屏蔽账号怎么设置?

新浪微博在正常情况下在你的首页上都会显示你关注的人的最新微博,这些微博各个种类都有,如果你不喜欢某种类型的微博或某个人的微博的话,你可以将这种类型的微博给屏蔽掉。那么新浪微博屏蔽账号怎么设置?下面就为大家介绍一下,一起来看看吧
收藏 0 赞 0 分享

邮箱大师夺宝红包在哪里?怎么领取?

邮箱大师夺宝红包在哪里?怎么领取?我们可以用网易夺宝币去参加网易的一元夺宝活动,但是如果夺宝币的话,需要进行充值,当然还可以通过邮箱大师进行免费领取夺宝红包,那么,在这里,小编跟大家分享一下邮箱大师怎么领取夺宝红包的方法
收藏 0 赞 0 分享

破解信号屏蔽器 破解校园信号屏蔽器的四大方法详解

移动通信技术发展太快,可能这些方法已经失效,但可参考一下这些方法的解决思路。四大方法破解学校信号屏蔽!考试不用愁。下面就详情来看看吧
收藏 0 赞 0 分享

百度账号登不上怎么办?百度账号登不上解决方法

很多朋友都有注册百度账号,但是百度账号突然登不上去了怎么办呢?今天小编就为大家带来百度账号登不上的解决方法,下文小编就为大家带来百度账号登不上的解决方法
收藏 0 赞 0 分享

foxmail邮件存储位置在哪里 foxmail7.2邮件存储位置查找与更改教程

foxmail是一款非常好用的邮件管理软件,经常要收发邮件的朋友们肯定知道这款软件,那么,foxmail邮件存储位置在哪里呢?针对此问题,本文就为大家图文介绍foxmail7.2邮件存储位置查找与更改的方法
收藏 0 赞 0 分享

wifi密码查看器电脑版好用吗?wifi密码查看器电脑版使用图文教程

相信还有很多朋友对于wifi密码查看器电脑版都还不太了解,下文小编就为大家带来wifi密码查看器电脑版的使用教程,一起去了解下吧
收藏 0 赞 0 分享
查看更多