在本课中,你将了解IKE版本2的自动发现VPN(ADVPN)。
通过展示Fortinet ADVPN的能力,你将能够使用IBGP配置和测试ADVPN。
在本节中,你将学习如何部署和管理ADVPN。
你为什么要使用ADVPN?要找到答案,你将查看最常见的VPN拓扑。
一个点对多点拓扑变体被称为星形。正如其名称所描述的,所有客户端都通过中央中心连接,类似于辐条连接到车轮上的中心的方式。
在上图显示的示例中,每个客户都是FortiGate分公司。任何分支机构要到达另一个分支机构,其流量必须经过中心。
使用此拓扑的一个优势是,你可以轻松管理VPN配置和防火墙策略。此外,作为分支机构的FortiGate设备的系统要求最小,因为每个FortiGate必须只维护一个隧道或两个SA。在本例中,中心需要四个隧道或八个安全关联(SA)。
使用这种拓扑的一个缺点是,通过总部(总部)的分支机构之间的通信比使用直接连接要慢,特别是如果总部物理距离遥远,就像全球公司一样。例如,如果你公司的总部在巴西,并且你的公司在日本和德国也有办事处,那么延迟可能会很大。另一个缺点是缺乏冗余。例如,如果总部的FortiGate失败,VPN将全公司失败。此外,总部的FortiGate必须更强大,因为它同时处理四个隧道或八个SA。
上图展示了一个具有部分网格拓扑的VPN。有两种类型的网格拓扑,部分网格和全网格。
部分网格试图妥协,最大限度地减少所需的资源和延迟。如果每个位置之间不需要通信,部分网格可能是合适的。上图显示了Spoke-1和Spoke-2以及Spoke-3和Spoke-4连接之间的其他连接。然而,每个FortiGate设备配置仍然比星形更复杂。特别是路由可能需要广泛的规划。
上图展示了一个具有完整网格拓扑的VPN。
全网格将每个位置连接到所有其他位置。与之前的星形示例一样,上图的示例仅显示了五个位置。为了完全互连,每个FortiGate需要四个VPN隧道或八个SA连接到其他FortiGate设备。这相当于每个分支FortiGate再增加三条隧道。总共需要10条隧道。如果你的公司要扩展到六个地点,将需要15条隧道。七个地点需要21条隧道,等等。你可以使用公式N站点=N(N-1)2来计算隧道的数量。与星形相比,此拓扑导致更少的延迟,并且总部需要的带宽要少得多。它的缺点?每个分支的FortiGate都必须更强大。此外,管理和故障排除都变得更加复杂。
因此,一般来说,如果你的公司有很多位置,星形将比网格拓扑更便宜,但速度更慢。网格拓扑对中心位置的压力较小,可以更容错,但也更昂贵。
ADVPN在FortiOS 5.4中推出。它结合了星形和全网格拓扑的优势,因为所有分支到分支隧道都是按需动态创建的。在两个分支之间建立捷径隧道并且路由趋同后,分支到分支流量不再需要通过中心流动。ADVPN提供直接连接。
ADVPN支持:
● 单个或多个中心架构
● 按需隧道的NAT
● 支持IPv4和IPv6
● BGP、OSPF和RIPv2/RIPng;因为ADVPN需要使用路由协议
上图展示了ADVPN如何工作的示例。
管理员在多个FortiGate设备中配置IPsec VPN,以形成VPN星形拓扑。在这个例子中,有两个中心。Hub 1有三个分支。Hub 2有两个分支。还有一个连接两个中心的VPN。
分支之间的动态隧道是按需创建的。假设波士顿的一个用户向伦敦发送流量。最初,波士顿和伦敦之间的直接隧道尚未谈判。因此,从波士顿到伦敦的第一批数据包通过Hub 1和Hub 2发送。当Hub 1收到这些数据包时,它知道由于auto-discovery-sender enable设置,ADVPN在一直到伦敦的所有VPN中都启用了。因此,Hub 1向波士顿发送了一条IKE消息,告知它可以尝试谈判与伦敦的直接连接。收到此IKE消息后,波士顿创建了一个特定于FortiOS的IKE信息消息,其中包含其公共IP地址、本地子网、所需的目标子网(伦敦的子网)和自动生成的PSK(也可以使用数字证书身份验证)。此IKE消息通过Hub 1和Hub 2发送到伦敦。当伦敦收到来自波士顿的IKE消息时,它会存储PSK,并回复另一条包含伦敦公共IP地址的IKE信息消息。回复到达波士顿后,动态隧道在两个同行之间进行了谈判。谈判成功了,因为伦敦期待波士顿的公共IP地址进行连接尝试。在本课中,你将更详细地探索这一点。
现在,你将检查在协商按需隧道时如何交换IKE消息:
1. Spoke-1背后的客户端为位于Spoke-2后面的设备生成流量。
2. Spoke-1接收数据包,对其进行加密,并将其发送到中心。
3. 中心从Spoke-1接收数据包,并将其转发给Spoke-2。
4. Spoke-2接收数据包,解密它,并将其转发到目标设备。
5. 该中心知道,从Spoke-1到Spoke-2可能会提供更直接的隧道选项。中心向Spoke-1发送快捷报价消息。
6. Spoke-1通过向中心发送送快捷查询来确认提供的快捷方式。
7. 中心将快捷方式查询消息转发给Spoke-2。
8. Spoke-2确认快捷方式查询,并向中心发送快捷方式回复。
9. 中心将快捷回复转发给Spoke-1。
10. Spoke-1和Spoke-2启动隧道IKE谈判。
ADVPN需要使用动态路由协议,并且可以在多个区域实现。
例如,上图中显示的双区域ADVPN拓扑通过IBGP进行区域间路由处理,EBGP用于区域间路由。
在本课中,你将学习如何配置双区域拓扑的一部分,即带有IBGP的ADVPN。
这个IBGP拓扑包括一个带两个分支的中心,所有设备都在AS 65100中。
上图显示了中心中的以下ADVPN配置:
● 将ike-version设置为版本2。
● 禁用set add-route,以确保动态路由用于学习分支的受保护子网。
● 禁用set net-device,以确保FortiGate不会创建动态接口。
● 如果你想要ADVPN,你必须启用set auto-discovery-sender。此设置表明,当IPsec流量通过中心时,它应该向流量的发起者发送快捷方式报价,以表明它也许可以建立更直接的连接(快捷方式)。
● 将覆盖IP地址分配给IPsec虚拟接口。这是在IPsec上拥有动态路由协议的要求。
● 所有星形参与者的叠加IP都在同一子网中。
● 对于remote-ip,你可以使用覆盖层子网中未使用的IP。你需要根据星形拓扑的数量添加适当的子网。
● 对于第2阶段配置,确保快速模式设置为所有(0.0.0.0/0.0.0.0)。
● 设置防火墙策略,允许从分支到中心、从中心到分支以及通过中心的分支之间的流量。
上图在分支中显示了以下ADVPN配置:
● 使用auto-discovery-receiver命令启用ADVPN。使用此命令指示此IPsec隧道希望参与自动发现VPN(即接收快捷报价)。
● 将接口IP、远程IP和子网分配给IPsec虚拟接口。
在分支ADVPN配置中,可以禁用命令net-device。在分支SD-WAN配置中,必须启用它。
上图显示了中心中的以下IBGP配置:
● 配置BGP邻居组。所有的分支都是它的一部分。
● 创建一个包含所有分支的前缀的邻居范围。这样配置时,你不需要将每个分支单独定义为邻居。
● 如果你正在使用IBGP进行ADVPN,则必须将中心配置为路由反射器。因此,从一个分支中学到的路线被转发给另一个分支。
● 添加要通过BGP宣传的中心后面的本地网络。
上图显示了其中一个分支中的以下IBGP配置:
● 将中心配置为BGP邻居。
● 定义将通过BGP进行广告的内部网络。
如果你正在使用VPN管理器在FortiManager上配置ADVPN,请记住以下几点:
● 将受保护的网络设置为all。
● 使用脚本在第1阶段启用ADVPN。
● 禁用中心上add Route选项。
● 使用脚本在分支上启用net-device。
● 在IPsec虚拟接口上配置IP地址。
● 配置动态路由。如果你正在使用IBGP,请使用脚本启用中心上的路由反射器。
● 重要的是要知道,在使用FortiManager VPN控制台创建第一阶段时,第一阶段名称是用下划线和零创建的(phase1name_0)。例如,名为VPN的第一阶段将创建为VPN_0。
在VPN管理器>Ipsec VPN>VPN社区中编辑网关时显示受保护子网的配置。
对于ADVPN,请在中心的VPN网关配置下禁用Add Route。
这阻止了中心根据IKE谈判添加路线。为此,ADVPN使用动态路由协议。
在中心和分支之间的隧道出现后,你可以在分支上运行这上图显示的命令,以验证路由更新是否正在进行。
上图显示,Spoke-1通过BGP了解了通往中心和Spoke-2网络的路线。Spoke-2目前可以通过中心访问。
使用get ipsec tunnel list命令,你可以验证哪些按需隧道正在启动。需要注意的是,按需隧道保持活跃,直到其SA手动刷新或时间结束。
上图显示了按需隧道启动后的路由表。
它确认Spoke-2的网络可以通过按需隧道直接访问:H2s_0_0。
上图显示了你在本课中涵盖的目标。通过掌握本课程涵盖的目标,你了解了ADVPN。