教程篇(6.4) 13. Autodiscovery IPsec ❀ 企业防火墙 ❀ Fortinet 网络安全架构师 NSE7

本文主要是介绍教程篇(6.4) 13. Autodiscovery IPsec ❀ 企业防火墙 ❀ Fortinet 网络安全架构师 NSE7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 在这节课中,你将学习关于自动发现IPsec。

 完成本课后,你应该能够达到这张幻灯片上所示的目标。

  通过在Fortinet 自动发现IPsec中演示能力,你将能够使用IBGP配置和测试自动发现IPsec,以及使用IKE实时调试来排除自动发现IPsec问题。

 在本节中,你将学习如何部署和管理自动发现IPsec。

 为什么要使用自动发现IPsec?要找到答案,你将回顾最常见的IPsec拓扑。

  点到多点的拓扑变化称为星型。正如它的名字所描述的那样,所有客户端通过一个中心轮毂连接,类似于轮辐连接到轮毂上的方式。

  在本幻灯片所示的示例中,每个客户端spoke是一个分支机构FortiGate。任何分支机构要到达另一个分支机构,它的流量必须通过中心。

  使用这种拓扑结构的一个优点是可以方便地管理VPN配置和防火墙策略。另外,对于作为分支机构的FortiGate设备,每个FortiGate只需要维护一条隧道或两个SA,对系统的要求最低。在本例中,集线器中需要4个隧道或8个安全联盟(SA)。

  使用这种拓扑结构的缺点是,通过总部(HQ)的分支机构之间的通信比使用直接连接要慢,特别是在总部物理上距离较远的情况下,就像全球公司那样。例如,如果您的公司总部在巴西,并且你的公司在日本和德国也有办事处,那么延迟可能会很大。另一个缺点是缺乏冗余。例如总部的FortiGate故障,会导致整个公司的VPN故障。还有,总部的FortiGate肯定更强大,因为它能同时处理四个隧道,或者八个SA。

 这张幻灯片展示了一个部分网格拓扑的IPsec。有两种类型的网格拓扑,部分网状和全网状。

  部分网状试图妥协,尽量减少所需的资源和延迟。如果每个位置之间不需要通信,部分网状可以是合适的。这张幻灯片显示了Spoke-1和Spoke-2以及Spoke-3和Spoke-4之间的额外连接。然而,每个FortiGate的配置仍然比集中星型更为复杂。特别是路由,可能需要大量的计划。

 这张幻灯片展示了一个全网格拓扑结构的VPN。

  全网状连接每个位置到每个其他位置。与前面的集中星型示例一样,这张幻灯片上的示例只显示了五个位置。为了实现完全的互联,每个FortiGate需要4条VPN隧道或8个SA连接到其他的FortiGate设备。这就等于每条辐条要塞又多出三条隧道。总共需要10条隧道。如果你的公司要扩展到6个地点,就需要15条隧道。7个地点需要21条隧道,以此类推。隧道数量可根据N个站点=N (N-1) / 2计算。这种拓扑导致的延迟更少,并且比集中星型需要更少的HQ带宽。它的缺点?每一个辐条都必须更强大。此外,管理和故障排除都变得更加复杂。

  因此,一般来说,如果你的公司有许多位置,集中星型将比网状拓扑更便宜,但速度更慢。网格拓扑对中心位置的压力更小,可以更容错,但也更昂贵。

 

 自动发现IPsec是在FortiOS 5.4中引入的。它结合了集中星型和全网状状拓扑的优点,因为所有spoke-to-spoke隧道都是根据需要动态创建的。当两条spoke之间建立了快捷隧道,且路由融合后,spoke-to-spoke的流量不再需要经过hub时,自动发现IPsec提供了直接连接。

 自动发现IPsec支持单个或多个hub架构

  NAT支持按需隧道

  自动发现IPsec要求使用路由协议。目前支持BGP、OSPF和RIPv2/RIPng协议。它还支持PIM和多播。

  支持IPv4和IPv6

 这张幻灯片展示了自动发现IPsec的工作原理。

  管理员在多个防火墙设备上配置IPsec VPN,形成集中星型VPN拓扑。在本例中,有两个中心。轮毂1有三个辐条。轮毂2有两个辐条。也有一个VPN连接两个Hub。

  动态隧道之间的辐条是创建的需求。假设一个在波士顿的用户向伦敦发送流量。最初,波士顿和伦敦之间的直接隧道还没有谈判。因此,从波士顿到伦敦的第一个数据包通过Hub1和Hub2路由。当Hub1收到这些数据包时,它知道由于auto-discovery-sender启用设置,所有到伦敦的vpn中都启用了ADVPN。因此,Hub1向波士顿发送一条IKE消息,通知它可以尝试协商到伦敦的直接连接。在收到此IKE消息后,波士顿创建一个特定于FortiOS的IKE信息消息,其中包含其公共IP地址、其本地子网、所需的目标子网(伦敦子网)和自动生成的PSK(也可以使用数字证书身份验证)。此IKE消息通过Hub1和Hub2发送到伦敦。当伦敦收到来自波士顿的IKE消息时,存储PSK,并回复另一条包含伦敦公网IP地址的IKE信息消息。当应答到达波士顿后,两端对等体开始协商动态隧道。协商成功,因为伦敦正在等待来自波士顿公共IP地址的连接尝试。你将在接下来的几张幻灯片中更详细地探讨这个问题。

 现在,你将检查当按需隧道正在协商时交换的IKE消息:

  1. Spoke-1后面的客户端为Spoke-2网络上的设备产生流量。

  2. Spoke-1接收包,加密它,并将它发送到Hub。

  3. Hub从Spoke-1接收到数据包,并将其转发给Spoke-2。

  4. Spoke-2接收报文,解密后转发给目的设备。

  5. Hub知道从Spoke-1到Spoke-2可能有一个更直接的隧道选项可用。Hub向Spoke-1发送快捷提供消息。

  6. Spoke-1通过发送一个快捷查询到集线器来确认快捷提供。

  7. Hub将快捷查询消息转发给Spoke-2。

  8. Spoke-2确认快捷查询,并向Hub发送快捷回复。

  9. Hub将快捷应答转发给Spoke-1。

  10. Spoke-1和Spoke-2发起隧道IKE协商。

 如前所述,ADVPN要求使用动态路由协议。在下一张幻灯片中,你将学习如何使用IBGP配置ADVPN。

  例如,你将使用由一个hub和两个辐条组成的IBGP拓扑。所有设备都在AS65100中。

 这张幻灯片显示了Hub中的以下ADVPN配置:

  ●  禁用set add-route,以确保动态路由用于学习辐条的受保护子网。

  ●  设置tunnel-search为nexthop,以确保通过报文匹配的路由的下一跳来决定将报文发送到哪个隧道。

  ●  关闭set net-device,以确保FortiGate不会创建动态接口。

  ●  如果你想要ADVPN,你必须启用set auto-discovery-sender。该设置表明,当IPsec流量通过集线器时,它应该向流量的发起者发送一个快捷提议,以表明它可以建立一个更直接的连接(快捷方式)。

  ●  IPsec虚拟接口配置叠加IP地址。这是在IPsec上拥有动态路由协议的要求。

  ●  所有hub-and-spoke参与者的覆盖ip都在同一个子网中。

  ●  对于remote-ip,你可以使用覆盖子网中未使用的IP。你将需要根据集线器和辐条的数量添加适当的子网。

  ●  对于阶段2配置,确保快速模式设置为all (0.0.0.0/0.0.0.0)

  ●  设置一个防火墙策略,允许从辐条到集线器、从集线器到辐条、以及辐条之间的流量通过集线器。

 这张幻灯片显示了一个spoke中的ADVPN配置:

  ●  使用auto-discovery-receiver命令启用ADVPN。使用此命令表示此IPsec隧道希望加入自动发现VPN(即接收快捷提议)。

  ●  为IPsec虚拟接口配置接口IP地址、对端IP地址和子网。

 这张幻灯片显示了集线器中的IBGP配置:

  ●  配置BGP邻居组。所有辐条都是它的一部分。

  ●  创建一个包含所有辐条的前缀的邻居范围。这样,你就不需要将每个spoke单独定义为一个邻居。

  ●  如果将IBGP用于ADVPN,则必须将集线器配置为路由反射器。因此,从一个spoke学习到的路由被转发到其他spoke。

  ●  在集线器后面添加要在BGP上发布的本地网络。

 这张幻灯片显示了其中一条辐条上的IBGP配置:

  ●  配置hub作为BGP邻居

  ●  定义将在BGP上发布的内部网络

 如果你使用VPN管理器在FortiManager上配置ADVPN,请记住以下内容:

  ●  设置保护网络为all

  ●  在阶段1中使用脚本启动ADVPN

  ●  在Hub上禁用Add Route选项

  ●  使用脚本在辐条上启用net-device

  ●  配置IPsec虚拟接口的IP地址

  ●  配置动态路由。如果您正在使用IBGP,请使用脚本在集线器上启用路由反射器。

  ●  重要的是要知道,在使用FortiManager VPN控制台创建阶段1时,阶段1名称是用下划线和零创建的(phase1name_0)。例如,名为VPN的阶段1将被创建为VPN_0。

 Portected Subnet的配置在All VPN Communities下。

 对于ADVPN,关闭集线器的VPN网关配置下的“Add Route”开关。

  防止集线器基于IKE协商添加路由。为此,ADVPN使用了动态路由协议。

 在轮毂和辐条之间的隧道出现后,你可以运行命令,在这张幻灯片上显示,在辐条上验证路由更新正在发生:

  这张幻灯片显示Spoke-1通过BGP学习到hub和Spoke-2网络的路由。辐条-2目前可通过集线器访问。

 调试IKE时可以指定多个IP地址。这在调试ADVPN快捷方式和spoke-to-spoke ADVPN协商问题时非常有用。

 如果在ADVPN隧道的协商过程中执行IKE实时调试命令,可以看到所有快捷方式的交换。这张幻灯片展示了实时调试的输出示例。你可以看到Spoke-1因为从Spoke-1到Spoke-2的数据流量而从集线器收到一个OFFER。

  Spoke-1发送一个shortcut-query给Spoke-2, Hub接收到这个shortcut-query并转发给Spoke-2。

 在本幻灯片所示的示例中,Spoke-2接收快捷查询并发送快捷回复到Spoke-1。

  Hub接收快捷应答并转发给Spoke-1。

 Finally, Spoke-1 receives the reply message and initiates a shortcut negotiation directly with Spoke-2, and the dynamic tunnel interface is created.

  最后,Spoke-1收到应答消息,直接与Spoke-2发起快捷方式协商,建立动态tunnel接口。

 get ipsec tunnel list命令用来验证哪些按需隧道是up的。需要注意的是,按需隧道一直保持活动状态,直到它们的SA被手动刷新或超时。

 这张幻灯片显示了按需隧道启动后的路由表。

  可以确认Spoke-2的网络可以通过按需隧道H2S_0_0直接访问。

 这张幻灯片展示了你在这节课中所学到的目标。

  通过掌握本课所涵盖的目标,你了解了ADVPN。

这篇关于教程篇(6.4) 13. Autodiscovery IPsec ❀ 企业防火墙 ❀ Fortinet 网络安全架构师 NSE7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273866

相关文章

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:

Linux使用粘滞位 (t-bit)共享文件的方法教程

《Linux使用粘滞位(t-bit)共享文件的方法教程》在Linux系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(StickyBit或t-bit)是实现共享目录安全性的重要工具之一,本文将... 目录文件共享的常见场景基础概念linux 文件权限粘滞位 (Sticky Bit)设置共享目录并配置粘

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物