【简介】虽然隧道冗余可以解决连接问题,但是当大量数据访问或要求访问不能中断时,隧道冗余就力不从心了。这种情况就要用到隧道聚合。但是对宽带的要求也高了,双端都至少需要二条宽带。
实验要求与环境
OldMei集团深圳总部部署了域服务器和ERP服务器,用来对集团总部进行管理。
OldMei集团上海分公司需要实时访问深圳总部的域服务器和ERP服务器,要求安全高效,并且访问不能中断,对丢包有严格要求。
解决方案:上海分公司和深圳总部都部署FortiGate防火墙,两地防火墙通过宽带创建VPN连接,由于VPN是加密隧道,可以保证数据通过互联网传输时的安全。上海分公司和深圳总部均配置两条宽带,一一对应配置两条VPN,将两条VPN聚合,即使一条VPN断开,另一条会继续工作,保证远程访问不中断。
实验目标:笔记本电脑网卡连接上海分公司internal接口,可以通过VPN隧道访问深圳服务器,在一条宽带断开的情况下,远程访问不丢一个数据包。
实验前的准备工作
删除前期在上海分公司防火墙和深圳总部防火墙配置的IPsec 隧道,删除方法和过程就不再叙述。
目前为目,上海分公司已经配置有两条宽带,深圳总部有一条宽带,一条专线,由于专线是用来访问指定网站专用的,因此需要再增加一条宽带,用来创建IPsec VPN连接。新增加的宽带,我们仍然用真实的公网IP地址来做演示。
用网线连接深圳总部防火墙的7号口,另一端接入模拟互联网的FortiWiFi 60D的wan2口。
① 登录深圳防火墙,选择菜单【网络】-【接口】,选择【internal】接口,点击【编辑】。从上面的接口状态示图可以看到,7号口是internal接口的一部分,我们需要先释放它。
② 在接口成员会显示所有属于internal的接口,点击internal7接口右边的X号,就可以释放这个接。
③ 可以看到7号口已经是一个独立的接口了,编辑该接口。
④ 输入新增宽带的网关IP,启用https和ping协议。点击【确认】。新增加的宽带IP可以是真正可用的,因为实验不联网,所以不会有冲突和影响。
⑤ 为了区分宽带,我们将三条宽带都输入了中文注释。
⑥ 下一步是配置宽带的网关。选择菜单【网络】-【静态路由】,点击【新建】。
⑦ 接口选择7号口,输入网关地址,需要注意的是,需要修改优先级,以将宽带错开。
⑧ 选择菜单【仪表板】-【网络】,点击【路由】,可以看到三条宽带的默认路由,它们的优先级不同。
⑨ 登录模拟互联网的FortiWiFi 60D,选择菜单【网络】-【接口】,编辑wan2接口。
⑩ 输入新增宽带的网关,启用https、ping协议。点击【确认】。
⑪ 选择菜单【策略&对象】-【IPv4策略】,编辑3号口到wan1的策略。
⑫ 我们不再需要二对一的访问了,现在要的是一对一的互访。
⑬ 经过一番增加和修改,我们形成了上海和深圳两端各两条宽带允许互相访问的局面。
配置深圳防火墙
准备工作都完成了,下面我们开始配置深圳防火墙。
① 登录深圳防火墙,选择菜单【VPN】-【IPsec隧道】,点击【新建】-【IPsec隧道】。
② 输入自定义名称,模板类型选择【自定义】,点击【下一步】。
③ 接口选择第一条宽带的wan1口,对端网关IP地址填写对应的上海防火墙的wan1接口IP。点击高级前面的+号。
④ 隧道聚合成员选择【启用】,输入自定义的预共享密钥,两端需要保持一致。
⑤ 阶段2的本地地址和对端地址默认都没有做限制,其它都保持默认设置,点击【确认】。
⑥ 由于有两条宽带可以创建IPsec VPN,因此再次点击【新建】-【IPsec隧道】。
⑦ 输入第二条隧道的名称,模板类型选择【自定义】,点击【下一步】。
⑧ 这次接口选择7号口,对端网关IP地址填写的是上海防火墙wan2接口IP地址。
⑨ 同样启用隧道取合成员,输入预共享密钥。点击【确认】,第二条隧道就创建好了。
⑩ 两条隧道都创建好了,一下步就是创建聚合隧道了。点击【新建】-【IPsec聚合隧道】。
⑪ 聚合算法有四种,默认是【基于权重的轮询】,选择两条隧道,默认权重都是1,可以根据实际情况进行调整。例如第一条宽带上网多一些,那么第二条隧道的权重就可以设置大一些。
⑫ 经过聚合后,统一对聚合接口进行操作,简化了很多。
⑬ 前面我们用向导创建IPsec VPN的时候了解到,除了要有隧道外,还需要有路由和两条来回策略。现在我们创建一条表态路由,接口为隧道聚合口,目标地址为上海防火墙internal接口网段。
⑭ 路由创建后好,就需要创建来回访问的策略了。
⑮ 创建一条隧道访问DMZ接口策略,不要启用NAT。
⑯ 再创建一条反向的访问策略。
⑰ 当你创建了隧道、路由以及两条来回策略后,IPsec隧道的配置就完成了。
配置上海防火墙
我们需要把在深圳防火墙所做的操作,再到上海防火墙上来一遍,只做小小的改动。
① 登录上海防火墙,选择菜单【VPN】-【IPsec隧道】,点击【新建】-【IPsec隧道】。
② 输入自定义名称,模板类型选择【自定义】,点击【下一步】。
③ 接口选择第一条宽带的wan1口,对端网关IP地址填写对应的深圳防火墙的wan1接口IP。点击高级前面的+号。
④ 隧道聚合成员选择【启用】,输入自定义的预共享密钥,两端需要保持一致。其它保持默认,点击【确定】。
⑤ 再用同样的办法创建另一条隧道。
⑥ 输入第二条隧道的名称,模式类型选择【自定义】,点击【下一步】。
⑦ 这次接口选择wan2,输入对端7号宽带接口IP。
⑧ 同样启动隧道聚合成员,输入预共享密钥。点击【确认】。
⑨ 两条隧道都创建好了,就可以创建聚合隧道了。
⑩ 一共有四种算法,有什么不同?大家做实验去了解吧。这里就不讲了,讲了怕你映象不深。
⑪ 聚合隧道就创建好了,下一步做什么?对的,创建路由。
⑫ 该路由的使用就是,访问10.10.10.0网段时走聚合隧道出去。
⑬ 扩展一下思路,如果我们上网流量也要走隧道出去,那么怎么办?创建一条策略路由,目标地址为all,流出接口为聚合隧道就好了。。。。很简单吧?
⑭ 创建访问策略,这里源地址和目标地址都用的是all,这样如果走隧道上网,也就不用修改了。
⑮ 访问策略是双向的。
⑯ 当隧道、路由和访问策略都创建好的,配置就完成了。
验证效果
这次是手动创建,没有使用向导,能不能成功呢?
① 我们从上海防火墙发起连接。选择菜单【仪表板】-【网络】,点击【IPsec】,选择聚合隧道里的一条隧道,点击【启用】-【阶段2选择器:SH1-SZ】。小技巧,隧道能不能起来,看阶段1的状态,阶段1显示绿色向上箭头,那十有八九没问题。
② 启动第一条隧道后,再启动第二条隧道。
③ 两条隧道都启动了。
④ 笔记本现在是关闭所有无线,有线接入上海防火墙internal接口的状态,长ping域服务器IP是通的,表示隧道是通的。
⑤ 我们试着断开一条隧道。
⑥ 我们试着断开一条隧道。
⑦ 仅仅丢了一个包,就走另一条隧道了。这还是测试设备较底端,要是在机架式设备,一个包都不会掉。
【实验总结】
经过上篇文章和这篇文章的实验,我们看到了二对一和二对二的区别。很多人解决VPN访问慢的方法,就是本地加一条宽带,以为本地两条宽带了,和对方建了两条VPN就会快很多。实际上对方只有一条宽带,你就是建十个VPN,那条宽带速度也不会变。
只有两端都有两条宽带,才可以建立起两条不同的隧道,隧道聚合功能很好的帮我们解决了多条隧道相同路由和策略的问题。
扩展思考:如果每端的二条宽带与对方两条宽带各自建立IPsec隧道,理论上一共可以创建四条隧道,那么这四条隧道建立聚合,和一对一的两条隧道建立聚合相比,效果更好?还是效果更差?