Nat Static与IPSec同时应用冲突时解决方法
一、 组网拓扑
某局点的总部和分部各用一个V5防火墙做公网出口,且总部和分部各有一台Web 服务器。
现要求两台Web服务器既能够向公网提供Web服务,又能够让两台服务通过Nat方式访问Internet网络,且两台服务器之间互访流量通过IPSec进行保护。
设备型号:F1000-E;软件版本:Feature 3171P14。
二、 问题描述
根据需要分析,工程师对设备做了以下配置:
总部为:
acl number 3000 //用于IPSec匹配数据流
rule 0 permit ip source 192.168.10.10 0 destination 192.168.20.10 0
interface GigabitEthernet0/1
nat outbound static
ip address 10.0.10.1 255.255.255.0
ipsec policy test
nat static 192.168.10.10 10.0.10.1
分部为:
acl number 3000 //用于IPSec匹配数据流
rule 0 permit ip source 192.168.20.10 0 destination 192.168.10.10 0
interface GigabitEthernet0/1
nat outbound static
ip address 10.0.20.1 255.255.255.0
ipsec policy test
nat static 192.168.20.10 10.0.20.1
配置结束之后,工程师进行了测试,结果为:两台Web服务器能正常访问公网,公网上的用户也能正常访问两台Web服务器,但是两台Web服务器之间的VPN隧道无法成功建立,进行两台Web服务器之间无法正常访问。也就是说配置只达到了前面两条要求,而服务器互访流量走IPSec的要求没有达到,IPSec的配置没有生效。
三、 过程分析
从上面的配置来看,好像没有什么错误之处,殊不知这种做法已经是违反了防火墙报文转发流程的规则了。
防火墙入方向的报文转发流程为:IPSec预处理àNat。
防火墙出方向的报文转发流程为: NatàIPSec预处理。
从这个顺序来看,当有两台Web服务器之间互访的流量到达防火墙后,此时的源IP地址满足Nat Static表项,进而进行公网地址转换,而进行地址转换之后,数据流也就不能匹配IPSec的触发条件了。
所以说,当静态Nat与IPSec的数据流有冲突之时,IPSec将无法处理数据。
四、 解决方法
首先看我们需要实现的需求:1,Web服务器能正常访问公网;2,公网上的PC能正常访问Web服务器;3,Web服务器之间能通过IPSec vpn访问。
如果将两个服务器互访的流量在nat转换时剔除出来,这样不就解决问题了,但是静态Nat能同时实现第一和第二个要求,静态Nat却无法进行acl匹配。所以我们改用nat outbound+nat server的模式来实现nat static的功能。
具体配置如下:
acl number 3000 //用于IPSec匹配数据流
rule 0 permit ip source 192.168.10.10 0 destination 192.168.20.10 0
acl number 3001 //用于nat匹配数据流
rule 0 deny ip source 192.168.10.10 0 destination 192.168.20.10 0
rule 5 permit ip source 192.168.10.10 0.0.0.255
interface GigabitEthernet0/1
nat outbound 3001
nat server protocol tcp global 10.0.10.1 www inside 192.168.10.10 www
ip address 10.0.10.1 255.255.255.0
ipsec policy test
总部和分部相同方式进行修改。
这样修改之后,两台Web服务器之间互访的数据流就不会被nat转换了,IPSec也能正常建立。
五、 注意事项
由于V3防火墙在接口下同时配置nat outbound和nat server时会造成会话冲突,虽然也有相应的解决方法,但是还是不建议在V3防火墙下实施此方案。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作