高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

  【简介】我们知道做HA主备,必须要用两台相同型号、相同固件的防火墙,但很多企业会遇到这种情况,就是早期有一台型号较早的防火墙,然后又只采购了一台型号比较新的防火墙,有没有办法让老防火墙也发挥余热呢?


高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 网络拓朴

   我们可以利用VRRP技术,使新防火墙在出现故障后,老防火墙能够自动接替上去,不影响网络的正常访问,从而达到与HA一样的主备目的。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   由于两台防火墙都连接到路由和核心交换机,在正常情况下,需要两条路由,分别走不同防火墙,但在实际使用情况下,只能有一条默认路由,所以我们需要用VRRP技术,生成一个两台防火墙共用的虚拟IP,这应该好理解吧。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 VRRP 协议

  随着Internet的发展,人们对网络的可靠性的要求越来越高。对于局域网用户来说,能够时刻与外部网络保持联系是非常重要的。通常情况下,内部网络中的所有主机都设置一条相同的缺省路由,指向出口网关,实现主机与外部网络的通信。当出口网关发生故障时,主机与外部网络的通信就会中断。

  配置多个出口网关是提高系统可靠性的常见方法,但局域网内的主机设备通常不支持动态路由协议,如何在多个出口网关之间进行选路是个问题。

  IETF(Internet Engineering Task Force,因特网工程任务组)推出了VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议,来解决局域网主机访问外部网络的可靠性问题。

  VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性。

  使用VRRP的优势在于:既不需要改变组网情况,也不需要在主机上配置任何动态路由或者路由发现协议,就可以获得更高可靠性的缺省路由。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

  VRRP将局域网的一组路由器构成一个备份组,相当于一台虚拟路由器。局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利用该虚拟网关与外部网络进行通信。

  VRRP将该虚拟路由器动态关联到承担传输业务的物理路由器上,当该物理路由器出现故障时,再次选择新路由器来接替业务传输工作,整个过程对用户完全透明,实现了内部网络和外部网络不间断通信。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 防火墙 A 基本设置

   这里有两台防火墙,分别是FortiGate 200D和FortiGate 240D,由于型号不同,无法做HA,我们采用VRRP技术,实现两台防火墙的主备功能。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ① FortiGate 200D的内外网口IP地址,分别是10.10.18.2和192.168.28.188。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ② FortiGate 200D的默认路由网关是192.168.28.254,也就是路由器的内网接口IP。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ③ 建立上网策略,允许内网口10.10.18.2通过外网口192.168.28.188上网。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 防火墙 B 基本设置

   由于两台防火墙的内外网口都是接入到同一设备,因此两台防火墙的内外网接口的IP地址都不能相同。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ① FortiGate 240D的内外网口IP地址,分别是10.10.18.3和192.168.28.198。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ② FortiGate 240D的默认路由网关是192.168.28.254,也就是路由器的内网接口IP。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ③ 建立上网策略,允许内网口10.10.18.3通过外网口192.168.28.198上网。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 VRRP 设置

   经过测试,虽然电脑连接到两台防火墙的内网接口都能上网,但是网关需要进行修改,这在实际应用中是不可能的,我们需 要对两台防火墙进行配置,让防火墙支持VRRP,并设置一个相同的虚拟IP。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ① VRRP只能在命令下设置。首先编辑FortiGate 200D的内网接口,set vrrp-virtual-mac enable命令是启用VRRP虚拟MAC地址,然后用config vrrp命令进入VRRP设置。可以用show命令查看VRRP设置内容。edit后面数字自定义,可以编辑多条VRRP。set vrip 10.10.18.1命令用来设置共同的虚拟IP地址。set priority 255用来设置优先级,数字越大越优先,最大为255。

  高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 【注意】 内网接口必须是独立的,不能是硬交换口,当接口为硬交换口时,set vrrp-virtual-mac enable命令无效。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ② 关闭200D上的异步路由,防止数据从200D的内网口流出,从240D的外网口流入,而造成异步路由,被防火墙拒绝。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

    ③ 在200D上使用get router info vrpp查看状态。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ④ FortiGate 240D的VRRP设置也是一样的,虚拟IP也是10.10.18.1,只是优先级小一些。这样上网会优先走200D,当200D关闭时,才会走240D。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑤ 关闭240D上的异步路由。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑥ 在240D上使用get router info vrpp查看状态。可以看到虚拟MAC地址是相同的。 

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 验证

   根据拓朴图,两台防火墙下面的连接的是核心交换机,为了验证核心上面部分是否工作正常,我们在两台防火墙下面接了一台二层交换,测试电脑也接在二层交换机上。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ① 电脑的网关地址设置为虚拟IP 10.10.18.1。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ② 用tracert命令查看访问163.com经过的路由,我们看到第一个经过的就是10.10.18.2,也就是FortiGate 200D的内网地址。这说明我们是通过200D上网的。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ③ 长Ping 114.114.114.114,然后我们关闭FortiGate 200D防火墙,我们会看到丢了一个包后,又通了。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ④ 再次用tracert命令查看访问163.com经过的路由,我们看到第一个经过已经变成了10.10.18.3,也就是FortiGate 240D的内网地址。这说明现在我们是通过240D上网了。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑤ 再次打开FortiGate 200D,启动完成后,又丢一个包,这是因为又切换到200D了,为什么又切换回来呢?因为200D的VRRP优先级高。

  高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 【注意】 飞塔防火墙VRRP不象HA那样具有端口监控功能,断掉某条网线并不会进行切换,只有关机才会切换。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙 从外网到内网

   虽然我们实现了关闭200D后,240D会自动接上,保证上网络通畅。但是如果要从外网访问内网,比如映射服务器或SSL v*n,就会出现一个问题,就是返回时我们从哪台防火墙回来呢?因为两台防火墙的外网IP地址都是不一样的。解决办法就是,给外网接口也建VRRP,生成一个虚拟IP地址。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ① 首先我们需要在200D和240D上都建立一条允许外网接口访问内网接口的策略。这里的环境的是二层,所以NAT不要启用。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ② 我们给200D的外网接口也建VRRP,配置一个虚拟IP 192.168.28.190,这样从外网访问内网时,就可以使有这个虚拟IP,而不是管防火墙是200D还是240D。set prempt enable命令,可以当主切回时进行抢占有。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ③ 用get router info vrrp命令查看,可以看到建立了两个VRRP,分别是内网外的。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ④ 用同样的方法给240D建立外网的VRRP,优先级也是50。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑤ 这是240D上的两个VRRP。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑥ 给路由器建立一个回程路由,这里也是用飞塔防火墙代替。注意,回程路由的网关是新建的VRRP虚拟地址。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑦ 从外网的路由器(防火墙代理),可以回Ping到现在使用的电脑,可以看到走的是200D的外网接口。

高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙

   ⑧ 关闭200D防火墙,再次回Ping使用的电脑,可以看到现在是走240D回来了。这样就实现了200D工作时走200D,200D关机时走240D,从内到外、从外到内都能通,也不用做任何修改了。

 

                                                                     飞塔技术 - 老梅子    QQ:57389522


高级篇(6.0) 01. 不同型号的防火墙做主备 - VRRP ❀ 飞塔 (Fortinet) 防火墙