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

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

局域网合理布线的六大规则

  网络拓扑结构凌乱、布线过程中偷工减料、设备摆放不合理,别小看这些网络布线时的疏忽大意、有章不循,它们就是一颗颗定时炸弹,随时都会发作,随时都会毁掉你的网络、你的工作。 亡羊补牢?为时已晚,这些问题需要我们提前避免。   如同大厦
收藏 0 赞 0 分享

技巧:对无线局域网进行高效故障诊断

  基于IEEE 802.11标准的WLAN逐渐进入主流网络,使得针对无线网络的故障诊断和安全保障变得与有线网络一样重要。     支持多种模式的分析仪可以扫描所有802.11频段,包括2   .4GHz和5GHz频段中的所有通道,并以图形化的形式显示,从这些图表中
收藏 0 赞 0 分享

巧用WinXP中的“网桥”功能

  当前局域网已经相当普及,经常会遇到以下的状况:    局域网中新增了一台客户机,但集线器端口已接满,为一台电脑增加集线器太不合算。怎么办?Windows XP的“网桥”功能就派上用场了,不过需要一个前提条件,就是局域网中必须有一台安装了双
收藏 0 赞 0 分享

设置防火墙实现禁用QQ,MSN,联众

  现在要求禁止内网用户使用QQ、联众等聊天和网游软件的需求逐渐增多,不久前售后工程师就处理了一项此类业务。工程师在处理过程中发现了一些解决方法,现在进行一下总结,希
收藏 0 赞 0 分享

XP中网络怪异事件解决方法

  未接网线却显示已启用连接   问:Windows XP系统正确识别了新安装的网卡,并安装了驱动程序,在没有连接网线的情况下,网络连接中的“本地连接”显示已启用,并且处于“连接状态”。在接上网线并设置了相应的参数后,进行网络访问,IE显示“无
收藏 0 赞 0 分享

为您支招 局域网内如何防止ARP欺骗

  对于ARP欺骗,提出几点加强安全防范的措施。环境是主机或者网关是基于Linux/BSD的。一、理论前提   本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理
收藏 0 赞 0 分享

网管,请别随意关闭默认共享!

  不知道在什么时候,关闭Windows系统中的C$、D$、IPC$等默认共享成为了最基本的安全防范措施,惊弓之鸟们纷纷响应号召,向默认共享宣战。然而存在是有理由的,默认共享的存在同样如此。你可知道盲目地关闭这些默认共享会带来某些非常严重的危害吗
收藏 0 赞 0 分享

网络应用技巧 用注册表强化网上邻居

  每次与内网用户进行信息共享传输时,“网上邻居”就会被派上用场;当然,在默认状态下系统的“网上邻居”功能十分有限,如果你想与内网朋友更高效、更安全地进行共享传输时,就必须想方设法挖掘“网上邻居”自身的潜能。这不,本文为了帮助各位网
收藏 0 赞 0 分享

教你在局域网中映射网络驱动器的使用

  一、为每个学生机建立“映射网络驱动器”   环境为Windows 98对等网。教师机名为“Teacher”,硬盘分成四个区为C、D、E、F;学生机有60台,计算机名为1~60,硬盘分成三个分区C、D、E。   首先在教师机的F盘上建立60个文件夹,文件夹的名字
收藏 0 赞 0 分享

节约成本 详解网络打印机安装方法

  现在很多单位为了节约成本,普遍采取共享使用网络打印机的方法,正巧笔者的单位也要求办公室和其他科室共用办公室的打印机,下面我们一起来看看如何添加网络打印机。   首先,在办公室的计算机上,安装好打印机的驱动,并且把打印机设为共享,
收藏 0 赞 0 分享
查看更多