还不了解ipsec协议簇的小伙伴可以移步到我之前的文章:
ipsec协议簇详解(IPSec vpn)-CSDN博客
在上期我们已经将ipsec协议簇讲解的非常详细了,接下来我们做一个基于ipsec协议簇,在网关搭建ipsec vpn的实验:
实验图:
1.要求
在边界防火墙上搭建IPSEC VPN,要求总公司的办公区能够与子公司的192.168.1.0/24网段通信;
已知:FW6与FW7组成了双击热备,已经将各种的安全策略和NAT策略做了,办公区可以访问外网,要求在此基础上搭建IPSEC VPN隧道与子公司进行通信。
2.实验步骤
(1):
因为FW6与FW7组成了双机热备,并且FW7为主,所以只需要在FW7上进行配置就可以了。
使用web界面在FW7上构建ipsec vpn隧道: 找到ipsec位置,点击新建:
写出各种参数:由于这里在网关上部署不涉及NAT,所以在在高级提议中可以选择主模式:
注意:在对端配置的参数必须与本端保持一致,否则会导致ipsec vpn不能成功建立。
双方配置完成后就可以看到:可以发现ipsec通道并没有协商成功。如果成功的话‘"1"就会出现在成功的位置上。
点击诊断可以发现,ike第一阶段的协商报文没有发送过去:这时我们第一时间要想到安全策略。ike的协商是防火墙FW7与FW10进行协商,说明防火墙自身所产生的报文没有安全策略放通。
(2):
配置防火墙的安全策略:要求防火墙能够收到并且能够发送ike报文。
FW7上:
在FW10上:
此时可以发现,ipsec隧道建立成功了:
此时我们使用办公区的PC去ping 192.168.1.0/24网段,发现不能ping通:
分析:此时我们放通了ike的协商阶段的报文,但是在数据传输阶段,我们并没有放通,所以我们需要写一条安全策略来放通ipsec的数据流量。
(3):
放通ipsec数据传输阶段的数据流量:
注意:这里的安全区域可以不选,因为要同时接收和发送ipsec流量,所以要将源和目标地址都写上(10.0.2.0/24,192.168.1.0/24)。
- 注意:我们在服务这里不能做限制,不能只限制esp的流量通过。
因为:如果只限制esp的流量通过,那么当本段的流量通过ipsec隧道发送到对方,对方解开封装后会将原始协议露出来比如(http,ftp等),此时安全策略就不会允许它通过。也就是说,流量最多只能流向网关就终止了。
FW7上:
FW10上:
当我们放通了ipsec流量之后,再次去ping:我们会发现此时还是不能通;
- 分析:
因为我们这台部署ipsec环境的网关设备(防火墙)上本身存在NAT配置,此时数据包来到防护墙后会认为是一个办公区访问公网的流量,此时防火墙就有两个选择(1.这个数据包通过NAT转换访问公网 2.这个数据包走ipsec隧道);
防火墙上,NAT是上游配置,而IPSEC隧道是下游配置(NAT策略优先执行于ipsec)。所以,NAT的转换会导致
数据流量无法进入到IPSEC的隧道中。解决方案:不做NAT转换,当它访问192.168.1.0/24时不进行NAT转换。否则会导致通信中断。
(4):
在NAT策略中做:当办公区访问192.168.1.0/24时不进行NAT转换:
FW7上:
FW10上:
注意:该条策略要置于顶部,要优先于其他策略,否则从上到下匹配时不会匹配到该策略而导致会进行NAT转换。
策略原则:从小到大。
此时我们再次进行ping操作:发现还是不能ping通:
- 分析: 当我们的PC5访问192.168.1.0/24的数据包来到防火墙后,匹配安全策略,由于有一条安全策略(ipsec流量)所以会放通,之后进行nat发现不会转换,再后来由于ipsec隧道中acl流量的抓取会导致该数据流会走ipsec的通道,会对流量进行加密。此时流量就会进行变身,会变成一个esp封装的流量,这条esp的流量此时就变成由本地生成发往对端防火墙(FW10)上。但是此时防火墙上并没有配置local到对端的安全策略,所以不通。 此时我们需要加一个esp的流量,使它能够将esp流量往出发。
(5):
放通local到对端的esp流量,双方都需要做:
FW7上:
FW10上:
测试:此时就可以互通了,说明该ipsec vpn搭建成功: