假设该公司有两条专线,一条电信的,一条网通的线路;本实验用路由器R6 做的Telnet服务器,该服务器有绑定两个IP地址,这两个IP地址,分别是192.168.1.3 、192.168.1.4。公司希望,当两条线路都正常时,客户能够通过任何一条专线访问公司的WEB服务器,实现负载均衡;而且,当任何一条线路出现故障时,用户仍然可以访问互联网WEB服务器。
    分析:为了实现两条线路正常时的负载均衡,可以通过配置DNS轮询实现。而为了实现容错,我们需要实现 从哪条线路进来的请求,其响应也从该线路出去,这是解决问题的关键所在。因为,如果从一条线路进去的请求,其响应从另外一条线路出来的话,那么TCP的三次握手不可能完成,TCP连接不可能建立起来。而且,即使不考虑防火墙的状态检测机制,假设两条线路都正常时TCP连接能够建立起来,但是,一旦其中一条线路挂了,那么连接也不可能建立得起来,容错机制也不能实现。
  DNS轮询,比较简单,我们不做深入的讨论。由于该公司的域名是在域名供应商那里注册的,所有只需要在域名供应商的网站上做适当配置:将该公司的WEB服务器域名 [url]www.xxx.com.cn[/url] 分别映射到IP地址 100.1.1.1(电信ip) 和 200.1.1.1(网通IP)就完事了。当用户浏览[url]www.xxx.com.cn[/url]的时候,浏览器会智能地在这两个IP之间作出选择。
    下面我们讨论怎样实现 从哪条线路进来的请求,其响应也从该线路出去。我们可以这样来做:
    第一步:在电信线路的路由器上,将给我们的IP地址100.1.1.1的23端口映射到内网地址 192.168.168.3的23端口:
    第二步:在互联通线路的防火墙上,将网通给我们的IP地址200.1.1.2 的23端口映射到内网地址 192.168.1.2的23端口:
    第三步:在内部用来测试telnet路由器器上,为网卡eth0绑定两个IP地址:192.168.1.3,192.168.1.4:      
    第四步:在测试telnet路由器上配置策略路由:将来自电信线路的,发给192.168.1.3的请求的响应包,发送给192.168.1.254,然后通过电信的线路,返回给用户;将来自网通线路的,发给192.168.1.4的请求的响应包,发给192.168.1.253,然后通过互联通的线路返回给用户.这样,就可以实现 从哪条线路进来的请求,其响应也从该线路出去。