大家在进行新的链路负载均衡项目实施的时候,往往用户以前的出口设备都是防火墙,而如果用户组织架构是分布式的,那往往需要和总部或者分支机构通过ipsec ***在internet上构建安全隧道来通信,这个时候,防火墙除了作为出口设备以外,还承担着ipsec ***隧道维护的工作。如果我们这个时候需要实施链路负载设备上线,那么,不可避免的会遇到客户要求保证ipsec ***可用性和稳定性的要求。这个时候我们一般的做法是让客户将防火墙从出口移动到内网,然后在链路均衡设备上为该防火墙的***应用做一条映射,但是,这种方式却存在局限性。
在多数情况下NAT 的处理对用户使用是完全透明的,但是当希望使用IPSec 技术组建××× 网络时,NAT 却带来了很大的麻烦。IPSec协议的主要目标是保护IP数据包的完整性,这意味着IPSec会禁止任何对数据包的修改。但是NAT 处理过程是需要修改IP 数据包的IP 头数据、传输层报文头数据甚至传输数据的内容(如FTP 应用),才能够正常工作。所以一旦经过IPSec 处理的IP 包穿过NAT设备时,包内容被NAT 设备所改动,修改后的数据包到达目的主机后其解密或完整性认证处理就会失败,于是这个报文被认为是非法数据而被丢弃。这就是组建××× 网关最常见的“IPSec 与NAT 协调工作”的问题。那么我们在什么时候会遇到这个问题呢?如果我们的××× 设备在NAT设备的后面,如果我们在外地上网需要通过×××客户端访问公司内网,如果我们没有合法的公网地址,只能通过服务商接入Internet 等等,都会遇到这个问题。
通常Ipsec的工作模式分为传输模式和隧道模式,而常规协议主要为AH和ESP。从原理上我们可以看出,最终可能和NAT一起工作的只能是隧道模式下的ESP。
通常Ipsec的工作模式分为传输模式和隧道模式,而常规协议主要为AH和ESP。从原理上我们可以看出,最终可能和NAT一起工作的只能是隧道模式下的ESP。
我们来大概看一下传统单位用户使用的site to site ***的工作方式:
1、 隧道模式
这种方式需要在各个site均人为指定local-address和des-address,所以site和site之间在建立隧道的时候,是需要互相认证请求的源和目的地址,这种方式也是我们碰到最多的方式。
2、 野蛮模式
这种方式下,通常只需要在分支机构配置认证总部*** server的主机名,这种情况下不需要特别的配置即可访问,所以这种方式兼容性最好。但是这种模式相对来说安全性没有第一种高。
现在我们来看下如果在第一种模式,既隧道模式下的情况。就我碰到的场景,用户是一个分部式的结构,所以通过在总部架设*** server,各分支机构的***设备以site to site的方式连接,ipsec ***采用的隧道模式连接。
现在通过添加链路均衡设备以后,结构改变为:
设备上线以后,发现分支机构的××× 设备连接不上总部的*** server,经过检查后发现,用户在总部和分支机构的***设备上都是采用指定local-address和des-address的方式来建立隧道的。所以在链路均衡设备上为总部的*** server建立了一条一一映射,将以前总部*** server的那个公网IP直接映射到现在的私有IP上,同时在总部*** server上修改隧道的local-address,从以前的公网地址修改成现在的私网地址,但是发现分支机构***设备一直在尝试建立隧道,但是却总是成功不了。
后经过分析,应该是分支机构***设备发来的ipsec ***的包在经过一一映射的修改后,不能通过总部***设备的验证。而且这个时候用户提出,由于分支机构太多,不想在总部的*** server上挨个修改与各个分支机构隧道的local-address,所以提出要求:总部*** server上的***配置不能经过任何修改,同时要保证***的正常工作。
所以需要修改链路均衡设备的配置,要达到如下几个目的:
1、 不能对ipsec相关的数据包做任何修改,否则就会引起***协商不正常。
2、 总部*** server,除了将以前的公网地址改到现在的私有地址,***配置不能做任何改动
经过一番思考,发现用DSR可以完美解决这个问题:
第一步、防火墙网口必须与链路均衡设备内网口vlan直连,设置一个和链路均衡设备内网口一个网段的ip地址,同时防火墙默认网关指向链路均衡设备内网口接口地址。
第二步、在链路均衡设备上建立一个virtual-server,其VIP是*** server以前的公网地址,相关联的service-group只有一个server,既现在*** server的私有地址。对该virtual-server启用DSR。
第三步、在防火墙上建立一个loopback地址,这个地址既为以前*** server的公网ip。
经过上面三步配置以后,从分支机构***设备发来的ipsec ***包,会通过链路均衡设备不做任何修改的直接转发到防火墙私有地址上,防火墙看到该请求包是请求的loopback地址,所以会接受请求并处理。这样一来,就达到了不修改任何***配置,而***又能正常工作的目的。
也许有的朋友会说,这本质上其实不就是一个路由动作吗?在链路均衡设备上添加一条关于*** server私有地址的主机路由不就能完全实现吗?
这个问题提得很好,上述3步实际上就是一个路由器路由的动作,但是问题是,isp的网关设备又不会为我们添加主机路由吧,而只会分配给我们一个公网的网段。当分支机构的ipsec ***数据包到达isp网关设备的时候,如果在出口设备上不添加映射,出口设备就不会响应对isp 网关设备对*** server公网ip的arp查询,则该请求也不会达到出口设备接口地址,则出口设备的主机路由也就无法发挥所用了。
t.d.
转载于:https://blog.51cto.com/virtualadc/696941