双机热备负载分担组网下的IPSec配置.docx
- 文档编号:18398063
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:14
- 大小:900.23KB
双机热备负载分担组网下的IPSec配置.docx
《双机热备负载分担组网下的IPSec配置.docx》由会员分享,可在线阅读,更多相关《双机热备负载分担组网下的IPSec配置.docx(14页珍藏版)》请在冰点文库上搜索。
双机热备负载分担组网下的IPSec配置
【防火墙技术案例5】强叔拍案惊奇双机热备(负载分担)组网下的IPSec配置
论坛的小伙伴们,大家好。
强叔最近已经开始在“侃墙”系列中为各位小伙伴们介绍各种VPN了。
说到VPN,小伙伴们肯定首先想到的是最经典的IPSecVPN,而且我想大家对IPSec的配置也是最熟悉的。
但是如果在两台处于负载分担状态下的防火墙上部署IPSecVPN又该如何操作呢?
有什么需要注意的地方呢?
本期强叔就为大家介绍如何在双机热备的负载分担组网下配置IPSec。
【组网需求】
如下图所示,总部防火墙NGFW_C和NGFW_D以负载分担方式工作,其上下行接口都工作在三层,并与上下行路由器之间运行OSPF协议。
(本例中,NGFW是下一代防火墙USG6600的简称,软件版本为USG6600V100R001C10)
现要求分支用户访问总部的流量受IPSec隧道保护,且NGFW_C处理分支A发送到总部的流量,NGFW_D处理分支B发送到总部的流量。
当NGFW_C或NGFW_D中一台防火墙出现故障时,分支发往总部的流量能全部切换到另一台运行正常的防火墙。
【需求分析】
针对以上需求,强叔先带小伙们做一个简要分析,分析一下我们面临的问题以及解决这个问题的方法。
1、 如何使两台防火墙形成双机热备负载分担状态?
两台防火墙的上下行业务接口工作在三层,并且连接三层路由器,在这种情况下,就需要在防火墙上配置VGMP组(即hrptrack命令)来监控上下行业务接口。
如果是负载分担状态,则需要在每台防火墙上调动两个VGMP组(active组和standby组)来监控业务接口。
2、 分支与总部之间如何建立IPSec隧道?
正常状态下,根据组网需求,需要在NGFW_A与NGFW_C之间建立一条隧道,在NGFW_B与NGFW_D之间建立一条隧道。
当NGFW_C与NGFW_D其中一台防火墙故障时,NGFW_A和NGFW_B都会与另外一台防火墙建立隧道。
3、总部的两台防火墙如何对流量进行引导?
总部的两台防火墙(NGFW_C与NGFW_D)通过路由策略来调整自身的Cost值,从而实现正常状态下来自NGFW_A的流量通过NGFW_C转发,来自NGFW_B的流量通过NGFW_D转发,故障状态下来自NGFW_A和NGFW_B的流量都通过正常运行的防火墙转发。
【配置步骤】
1、 配置双机热备功能。
在配置双机热备功能前,小伙伴们需要按照上图配置各接口的IP地址,并将各接口加入相应的安全区域,然后配置正确的安全策略,允许网络互通。
由于这些不是本案例的重点,因此不在此赘述。
完成以上配置后,就要开始配置双机热备功能了。
大家可以看到形成双机的两台防火墙(NGFW_C和NGFW_D负载分担处理流量)的上下行接口都工作在三层,而且连接的是路由器。
这无疑是非常经典的“防火墙业务接口工作在三层,上下行连接路由器的负载分担组网”。
各位小伙伴们可以在华为的任何防火墙资料中看到此经典举例,无论是命令行配置举例还是Web配置举例,大家想怎么看就怎么看~
因此强叔只在此给出双机热备的命令行配置和关键解释。
#
hrpmirrorsessionenable //负载分担组网必须配置此命令
hrpenable //启用双机热备功能
hrpospf-costadjust-enable //根据主备状态调整OSPF的COST值
hrpinterfaceGigabitEthernet1/0/7 //指定心跳接口
#
interfaceGigabitEthernet1/0/1
ipaddress10.2.0.1255.255.255.0
hrptrackactive//业务接口工作在三层,上下行连接路由器的组网需要配置hrptrack
hrptrackstandby //负载分担组网需要同时配置hrptrackactive和standby
#
interfaceGigabitEthernet1/0/3
ipaddress10.3.0.1255.255.255.0
hrptrackactive
hrptrackstandby
#
interfaceGigabitEthernet1/0/7
ipaddress10.10.0.1255.255.255.0
【强叔点评】各位小伙伴们在配置双机热备功能时,首先要确定的是防火墙业务接口的工作状态和上下行连接的设备,然后据此采用不同的命令进行配置。
强叔在此先为大家简单总结下,如果小伙伴们想深入学习,可以关注后面几期的“侃墙”系列。
组网
配置命令
业务接口工作在三层,上下行连接二层设备
VRRP相关命令
业务接口工作在三层,上下行连接三层设备
在接口视图下配置(hrptrack)
业务接口工作在二层,上下行连接三层设备
在VLAN视图下配置(hrptrack)
2、 配置IPSec。
【强叔点评】双机热备配置完成后,我们就开始配置IPSec功能,建立IPSecVPN隧道啦。
由于公司希望NGFW_C处理分支A(NGFW_A)发送到总部的流量,NGFW_D处理分支B(NGFW_B)发送到总部的流量,因此正常情况下我们需要在NGFW_C和NGFW_A之间建立一条隧道,在NGFW_D和NGFW_B之间建立一条隧道。
这样看似已经满足需求了,但是如果NGFW_D出现故障了怎么办呢?
分支B发送到总部的流量不就中断了吗?
小伙伴们仔细思考就会想到办法,我们需要在NGFW_C与NGFW_B,NGFW_D与NGFW_A之间分别建立一条备用隧道(图中虚线表示)。
这样当NGFW_D出现故障时,分支B发送到总部的流量会通过备用隧道由NGFW_C发送到总部,就不会导致业务中断啦。
这个想法很好,但是如何实现呢?
我们可以在NGFW_C上创建两个tunnel接口,然后在tunnel1上与NGFW_A建立一条主用隧道,在tunnel2上与NGFW_B建立一条备份隧道。
同理在NGFW_D的tunnel1上与NGFW_A建立一条备份隧道,在tunnel2上与NGFW_B建立一条主用隧道。
这里需要注意的是NGFW_C上的tunnel1(tunnel2)地址需要与NGFW_D上的tunnel1(tunnel2)地址保持一致。
我想这时小伙伴们又要问为什么了?
这样做的好处是在NGFW_A上只需要与对端的tunnel1接口建立隧道即可,NGFW_A不用去关心这个tunnel1是NGFW_C还是NGFW_D的(因为他们的IP是一致的)。
同理NGFW_B只需要与对端的tunnel2接口建立隧道即可。
1) 定义受IPSecVPN保护的数据流。
HRP_A[NGFW_C] acl3005
HRP_A[NGFW_C-acl-adv-3005] rulepermitipsource10.1.2.00.0.0.255destination10.1.3.00.0.0.255
HRP_A[NGFW_C-acl-adv-3005] quit
HRP_A[NGFW_C]acl3006
HRP_A[NGFW_C-acl-adv-3006] rulepermitipsource10.1.2.00.0.0.255destination10.1.4.00.0.0.255
HRP_A[NGFW_C-acl-adv-3006] quit
【强叔点评】ACL3005定义的是总部与分支A之间的流量,ACL3006定义的是总部与分支B之间的流量。
2) 配置IPSec安全提议。
【强叔点评】如果创建IPSec安全提议后,不进行任何配置,则IPSec安全提议使用默认参数。
本案例中使用默认参数,小伙伴们可以根据自己的实际安全需求修改IPSec安全提议中的参数。
HRP_A[NGFW_C] ipsecproposaltran1
HRP_A[NGFW_C-ipsec-proposal-tran1] quit
3) 配置IKE安全提议。
本案例中使用IKE安全提议的默认参数。
HRP_A[NGFW_C] ikeproposal10
HRP_A[NGFW_C-ike-proposal-10] quit
4) 配置两个IKE对等体,分别用于总部与两个分支建立IPSec。
HRP_A[NGFW_C] ikepeerngfw_a
HRP_A[NGFW_C-ike-peer-ngfw_a] ike-proposal10
HRP_A[NGFW_C-ike-peer-ngfw_a] remote-address1.1.1.1
HRP_A[NGFW_C-ike-peer-ngfw_a] pre-shared-keyAdmin@123
HRP_A[NGFW_C-ike-peer-ngfw_a] quit
HRP_A[NGFW_C] ikepeerngfw_b
HRP_A[NGFW_C-ike-peer-ngfw_b] ike-proposal10
HRP_A[NGFW_C-ike-peer-ngfw_b] remote-address1.1.2.1
HRP_A[NGFW_C-ike-peer-ngfw_b] pre-shared-keyAdmin@123
HRP_A[NGFW_C-ike-peer-ngfw_b] quit
5) 配置两个IPSec策略,分别用于总部与两个分支建立IPSec。
HRP_A[NGFW_C] ipsecpolicymap110isakmp
HRP_A[NGFW_C-ipsec-policy-isakmp-map1-10] securityacl3005
HRP_A[NGFW_C-ipsec-policy-isakmp-map1-10] proposaltran1
HRP_A[NGFW_C-ipsec-policy-isakmp-map1-10] ike-peerngfw_a
HRP_A[NGFW_C-ipsec-policy-isakmp-map1-10] quit
HRP_A[NGFW_C] ipsecpolicymap210isakmp
HRP_A[NGFW_C-ipsec-policy-isakmp-map2-10] securityacl3006
HRP_A[NGFW_C-ipsec-policy-isakmp-map2-10] proposaltran1
HRP_A[NGFW_C-ipsec-policy-isakmp-map2-10] ike-peerngfw_b
HRP_A[NGFW_C-ipsec-policy-isakmp-map2-10] quit
6) 配置在Tunnel接口上应用IPSec策略。
【强叔点评】之前点评中提到我们需要在NGFW_C的tunnel1上与NGFW_A建立一条主用隧道,在tunnel2上与NGFW_B建立一条备份隧道,这是通过在应用IPSec策略时设定active或standby参数来实现的。
HRP_A[NGFW_C] interfaceTunnel1
HRP_A[NGFW_C-Tunnel1] ipsecpolicymap1active
HRP_A[NGFW_C-Tunnel1] quit
HRP_A[NGFW_C] interfaceTunnel2
HRP_A[NGFW_C-Tunnel2] ipsecpolicymap2 standby
HRP_A[NGFW_C-Tunnel2] quit
7) 在NGFW_D上配置IPSec。
双机热备状态成功建立后,NGFW_C上配置的ACL、IPSec策略(包括其中的IPSec安全提议,IKE对等体)等都会自动备份到NGFW_D上。
只有在接口上应用IPSec策略的配置不会备份,需要在此手动配置。
HRP_S[NGFW_D] interfaceTunnel1
HRP_S[NGFW_D-Tunnel1] ipsecpolicymap1standby
HRP_S[NGFW_D-Tunnel1] quit
HRP_S[NGFW_D] interfaceTunnel2
HRP_S[NGFW_D-Tunnel2] ipsecpolicymap2active
HRP_S[NGFW_D-Tunnel2] quit
8) 在NGFW_A和NGFW_B上配置IPSec。
NGFW_A和NGFW_B的配置比较简单,就是一个点到点方式的IPSec配置。
只要将NGFW_A的IPSec隧道RemoteAddress配置为Tunnel1接口的IP地址;NGFW_B的IPSec隧道RemoteAddress配置为Tunnel2接口的IP地址就行了。
受篇幅所限,强叔就不详细讲了。
3、 配置路由和路由策略。
双机热备和IPSec配置完成后,只要再保证NGFW_A与Tunnel1接口的路由可达,就可以成功建立IPSec隧道了。
但这时一个新的问题又出现了,那就是流量到达Router1后不知道是该送往NGFW_C还是NGFW_D的Tunnel1接口了,如下图所示。
而且我们还面临另外一个问题,那就是如何确保NGFW_A的回程流量能够回到NGFW_A呢?
回程流量到达Router2后不知道是该发给NGFW_C还是NGFW_D。
小伙伴们别急,强叔还是有办法的,那就是通过路由策略来实现。
1)首先我们需要定义三条数据流,一条匹配来自分支A的去和回的流量:
HRP_A[NGFW_C] acl2000
HRP_A[NGFW_C-acl-basic-2000] rulepermitsource2.2.4.00.0.0.255
HRP_A[NGFW_C-acl-basic-2000] rulepermitsource10.1.3.00.0.0.255
HRP_A[NGFW_C-acl-basic-2000] quit
一条匹配分支B的去和回的流量:
HRP_A[NGFW_C] acl2001
HRP_A[NGFW_C-acl-basic-2001] rulepermitsource2.2.5.00.0.0.255
HRP_A[NGFW_C-acl-basic-2001] rulepermitsource10.1.4.00.0.0.255
HRP_A[NGFW_C-acl-basic-2001] quit
第三条匹配来自分支A和B的去和回的流量:
HRP_A[NGFW_C] acl2002
HRP_A[NGFW_C-acl-basic-2002] rulepermitsource2.2.4.00.0.0.255
HRP_A[NGFW_C-acl-basic-2002] rulepermitsource10.1.3.00.0.0.255
HRP_A[NGFW_C-acl-basic-2002] rulepermitsource2.2.5.00.0.0.255
HRP_A[NGFW_C-acl-basic-2002] rulepermitsource10.1.4.00.0.0.255
HRP_A[NGFW_C-acl-basic-2002] quit
2)然后我们需要配置几条路由策略,实现以下效果。
当双机热备负载分担状态正常时,来自分支A的去和回的流量通过NGFW_C时开销减少10:
HRP_A[NGFW_C] route-policyrppermitnode1
HRP_A[NGFW_C-route-policy] if-matchacl2000
HRP_A[NGFW_C-route-policy] if-matchbackup-statusload-balance
HRP_A[NGFW_C-route-policy] applycost–10
HRP_A[NGFW_C-route-policy] quit
当双机热备负载分担状态正常时,来自分支B的去和回的流量通过NGFW_C时开销增加10:
HRP_A[NGFW_C] route-policyrppermitnode2
HRP_A[NGFW_C-route-policy] if-matchacl2001
HRP_A[NGFW_C-route-policy] if-matchbackup-statusload-balance
HRP_A[NGFW_C-route-policy] applycost+10
HRP_A[NGFW_C-route-policy] quit
当NGFW_C作为主用设备(NGFW_D故障)时,来自分支A和B的去和回的流量通过NGFW_C时开销减少10:
HRP_A[NGFW_C] route-policyrppermitnode3
HRP_A[NGFW_C-route-policy] if-matchacl2002
HRP_A[NGFW_C-route-policy] if-matchbackup-statusactive
HRP_A[NGFW_C-route-policy] applycost-10
HRP_A[NGFW_C-route-policy] quit
当NGFW_C作为备用设备(NGFW_C故障)时,来自分支A和B的去和回的流量通过NGFW_C时开销增加10:
HRP_A[NGFW_C] route-policyrppermitnode4
HRP_A[NGFW_C-route-policy] if-matchacl2002
HRP_A[NGFW_C-route-policy] if-matchbackup-statusstandby
HRP_A[NGFW_C-route-policy] applycost+10
HRP_A[NGFW_C-route-policy] quit
3)最后我们需要在OSPF中引入直连和静态路由,并将自身的路由发布出去。
【强叔点评】这里引入的直连路由是Tunnel接口的路由;引入的静态路由是下面配置的使回程流量进入隧道的路由。
HRP_A[NGFW_C] ospf1
HRP_A[NGFW_C] iproute-static10.1.3.024tunnel1
HRP_A[NGFW_C] iproute-static10.1.4.024tunnel2
HRP_A[NGFW_C-ospf-1] import-routedirectroute-policyrp
HRP_A[NGFW_C-ospf-1] import-routestaticroute-policyrp
HRP_A[NGFW_C-ospf-1] area0.0.0.0
HRP_A[NGFW_C-ospf-1-area-0.0.0.0] network3.3.3.00.0.0.255
HRP_A[NGFW_C-ospf-1-area-0.0.0.0] network2.2.2.00.0.0.255
HRP_A[NGFW_C-ospf-1-area-0.0.0.0] quit
HRP_A[NGFW_C-ospf-1] quit
4)在NGFW_D上配置路由和路由策略。
按照NGFW_C的配置举一反三,我想各位小伙伴肯定没问题的。
【结果验证】
1、 当双机热备负载分担状态正常运行时,可以在Router1上看到去往Tunnel1目的地址为2.2.4.1)的流量通过NGFW_C转发(下一跳为NGFW_C的物理接口IP地址2.2.2.1)。
而去往Tunnel2接口(目的地址为2.2.5.1)的流量通过NGFW_D转发(下一跳为NGFW_D的物理接口IP地址2.2.3.1)。
2、 当双机热备负载分担状态正常运行时,可以在Router2上看到总部回复分支A(目的地址10.1.3.0)的流量通过NGFW_C转发(下一跳为3.3.3.1);总部回复分支B(目的地址10.1.4.0)的流量通过NGFW_D转发(下一跳为3.3.4.1)。
以上两步可以看出在路由层面,我们的配置满足了组网需求。
3、 在NGFW_C和D上执行displayikesa、displayipsecsa 命令查看IPSec的隧道建立情况。
下面仅给出NGFW_C上的截图,可以看到NGFW_C的tunnel1接口与NGFW_A的GE1/0/1接口成功建立隧道。
【拍案惊奇】
1、 此案例的惊奇之处在于结合了双机热备、IPSec和并不常用的路由策略功能,而且三种功能结合的十分巧妙。
2、 此案例的另一惊奇之处在于负载分担组网下的IPSec只有在华为比较新版本的防火墙上才支持,是一个比较新的功能。
3、 另外看完此案例,小伙伴们应该对双机热备、IPSec、以及路由策略的配置方法和流程有了一定的了解。
【强叔问答】
本案例中强叔并没有详细讲述防火墙安全策略的配置,但其实在配置双机热备及PSec功能时,安全策略的配置
还是有所讲究的。
请小伙伴们思考双机热备和IPSec这两个功能的安全策略如何配置?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 双机 负载 分担 组网 IPSec 配置