教程篇(7.6) 03. 路由 & FortiGate管理员 ❀ Fortinet网络安全专家 NSE4

 在本课中,你将了解FortiGate上可用的路由功能和特性。

  在这节课中,你将学习上图显示的主题。

​ 完成本部分后,你应该能够实现上图显示的目标。

  通过展示FortiGate上的路由能力,你应该能够实施静态路由并了解路由表。

  当FortiGate以NAT模式(默认操作模式)运行时,FortiGate充当IP路由器。IP路由器是一种在IP网络之间转发数据包的设备。为此,路由器执行IP路由,这是根据数据包目标IP地址确定将数据包转发到的下一跳的过程。FortiGate同时支持IPv4和IPv6路由。

  FortiGate为防火墙流量(也称为用户流量)和local-out流量执行路由。防火墙流量是通过FortiGate的流量。Local-out流量是由FortiGate产生的流量,通常用于管理目的。例如,当你从FortiGate ping一个设备时,那就是local-out流量。当FortiGate连接到FortiGuard下载最新的定义时,这也是local-out流量。

  路由器维护着一张路由表。路由表包含一系列条目,也称为路由。路由表中的每条路由都表示特定目的地的下一跳。下一跳是指用于转发数据包的出站接口和网关。下一跳可以是数据包的目的地,也可以是到达目的地路径上的另一个路由器。如果下一跳不是目的地,则路径中的下一个路由器将数据包路由到下一跳。路由过程沿着路径在每个路由器上重复,直到数据包到达目的地。

  为了路由数据包,FortiGate执行路由查找,以确定通往目的地的最佳路由。最好的路线是通往目的地的最具体的路线。如果FortiGate发现重复的路由(通往同一目的地的多个路由)它就会使用不同的路由属性来确定最佳路由。

  路由发生在大多数安全功能之前。例如,路由先于防火墙策略评估、内容检查、流量整形和源NAT(SNAT)。这意味着FortiGate执行的安全操作取决于路由过程确定的出站接口。这也意味着你的安全策略配置必须遵循你的路由配置,而不是相反。

 对于每个会话,FortiGate都会执行两次路由查找:

  ● 对于发起者发送的第一个数据包

  ● 对于来自应答器的第一个应答包

  完成这两次查找后,FortiGate将路由信息写入其会话表。后续数据包将根据会话表路由,而不是根据路由表路由。因此,属于同一会话的所有数据包都遵循相同的路径。然而,这条规则有一个例外:如果路由表中有影响会话的变化,那么FortiGate将删除会话表的路由信息,然后执行额外的路由查找来重建该信息。

 FortiGate在两个表格中维护其路由信息:RIB和FIB。路由表,也称为路由信息库(RIB),是一个包含活动(或最佳)连接、静态和动态路由的标准路由表。从内核的角度来看,转发信息库(FIB)可以被描述为路由表,主要包含RIB条目以及FortiOS所需的一些系统特定条目。

  当FortiGate执行路由查询时,它会检查FIB而不是RIB。然而,由于FIB主要由RIB条目组成,因此路由查询主要涉及检查RIB的路由。出于这个原因,路由查询通常被称为路由表查找过程。尽管如此,将路由查询称为FIB查询过程更准确。

  你可以在FortiGate GUI和CLI上显示RIB条目。你只能在FortiGate CLI上显示FIB条目。

  本课程仅关注 RIB(或路由表)。在本课中,你将了解有关它的更多信息,包括如何监控其条目。

 上图显示的流程图描述了FortiOS中的路由查找过程。

  首先,FortiGate检查策略路由。如果有匹配,并且所选动作是转发流量,只要策略路由通过转发信息库(FIB)验证,FortiGate就会相应地路由数据包。如果所选操作是停止策略路由,FortiGate将继续检查其路由缓存(如果适用)。

  如果数据包与任何策略路由不匹配,FortiGate会先检查ISDB路由,然后再检查SD-WAN规则。

  接下来,FortiGate检查FIB,这是用于执行标准路由的表。如果数据包与FIB中的任何路由不匹配,FortiGate会丢弃数据包,并向发件人发送ICMP目标网络无法到达的消息。

 其中一种手动配置的路由称为静态路由。当你配置静态路由时,你告诉FortiGate,“当你看到目的地在特定范围内的数据包时,将其通过特定的网络接口发送到特定的路由器。”你还可以配置距离和优先级,以便FortiGate能够识别到任何匹配多条路由的目的地的最佳路由。本节课你将学习距离和优先级。

  例如,在简单的家庭网络中,DHCP会自动检索和配置路由。然后,你的调制解调器通过你的ISP互联网路由器发送所有出站流量,该路由器可以将数据包中继到目的地。这通常被称为默认路由,因为默认情况下,所有与任何其他路由不匹配的流量都将使用此路由。上图显示的示例是默认路线。目标子网值0.0.0.0/0.0.0.0匹配任何子网中的所有地址。大多数部署在网络边缘的FortiGate设备至少有一个默认路由,以确保互联网流量被转发到ISP网络。

  对于与FortiGate有二层直接连接的子网,不需要静态路由。

​​​ 如果你创建了具有子网或FQDN类型的防火墙地址对象,则可以使用该防火墙地址作为一个或多个静态路由的目的地。

  首先,在防火墙地址配置中启用路由配置

  启用后,防火墙地址对象可以在目标地址下拉列表中用于指定地址的静态路由。

  如果你需要通过特定的广域网链接将流量路由到公共互联网服务(如Amazon-AWS或Apple Store),会发生什么?假设你有两个ISP,你希望通过一个ISP路由Netflix流量,并通过另一个ISP路由所有其他互联网流量。为了实现这一目标,你需要了解Netflix IP地址并配置静态路由。之后,你必须经常检查IP地址是否有任何更改。互联网服务数据库(ISDB)有助于使这种类型的路由更容易、更简单。

  ISDB条目应用于静态路由,通过特定的广域网接口有选择地路由流量。

  尽管它们被配置为静态路由,但ISDB路由实际上是策略路由,并且优先于路由表中的任何其他路由。因此,ISDB路由被添加到策略路由表中。

 仪表板页面上的路由监视器小部件允许你查看路由表和策略路由表条目。路由表包含以下类型的最佳路由(或活动路由):

  ● 静态:由管理员配置的手动路由。

  ● 直连:在接口分配IP地址后,FortiOS自动添加的路由。连接的路由引用接口IP地址子网。

  ● 动态:使用BGP或OSPF等动态路由协议学习的路由。FortiGate在路由表中自动安装这些路由,并指示使用的动态路由协议。

  要查看路由表条目,请选择静态&动态,如上图所示。但是,请记住,路由表不包含以下路由:

  ● 非活动路由:这些是静态和连接的路由,其接口在管理上处于关闭状态或链路处于关闭状态。当链路运行状况监控器检测到静态路由的网关失效时,将其标记为非活动路由。

  ● 备用路由:这些是从路由表中删除的活动路由,因为它们是重复的,并且距离更高。一些备用路由的例子是:

    ● 第二条静态默认路由的距离高于另一条静态默认路由

    ● BGP或OSPF等动态路由,与另一个静态路由相同的目的地。然而,动态路由不会显示在路由表中,因为静态路线的距离较低。

  ● 策略路由:这些包括常规策略路由、ISDB路由和SD-WAN规则。策略路由在单独的表中查看,即策略路由表。你将在另一节课中学习有关策略路由的更多信息。

  路由表中列出的每个路由都包含几个具有相关值的属性。

  网络列列出了要匹配的目标IP地址和子网掩码。接口列列出了用于发送数据包的接口。

  FortiGate使用管理距离、距离和优先级属性来做出各种路由选择决定。在本课中,你将学习到这些。

  上图显示了你可以在FortiGate CLl上显示路由表的运行命令。get router info routing-table all命令显示与FortiGate GUI上的路由监视器小部件相同的路由条目。

  距离或管理距离是路由器用来确定特定目的地的最佳路线的第一个决定性因素。

  如果有两条或多条路线通往同一目的地(重复路由),则认为管理距离最短的路由为最佳路由,因此安装在路由表中。指向同一目的地的其他管理距离较低的路由是备用路由,因此不会安装在路由表中。相反,它们安装在路由表数据库中。

  你可以为除直连路由和IS-IS路由以外的所有路由类型设置管理距离,这两种路由都是硬编码的,管理距离值不能改变。上图显示了每种路由类型的默认值。

  如果FortiGate学习了两个通往同一目的地的等距离路由,但来自不同的协议,那么FortiGate将在路由表中安装上次学习的路由。例如,如果你将BGP路由的距离设置为110,并且使用默认管理距离(110)有另一条OSPF路由到同一目的地,那么FortiGate将保留路由表中最后学习的路由。由于这种行为可能会根据事件的时间导致不同的结果,因此不建议配置具有相同管理距离的不同协议路由。

 当动态路由协议学习到两条或多条通往同一目的地的路由时,它会使用距离作为决胜局来识别最佳路由。距离越低,偏好越高。然后,动态路由协议在路由表中安装最佳路由,在路由表数据库中安装更高距离的路由。注意,该距离值用于相同协议的动态路由,而不是用于不同协议的动态路由。

  路由协议之间的距离计算不同,本课程不涉及细节。例如,RIP使用跳数,即数据包到达目的地必须经过的路由器数量。OSPF使用cost值,cost值由链路带宽决定。

  当存在两条或两条以上具有相同距离的重复静态路由时,FortiGate会将它们全部安装到路由表中。

  优先级设置使管理员通可以打破静态路由之间的绑定关系。在路由查询过程中,FortiGate会选择最优路由,即在所有相等管理距离的重复静态路由中选择优先级最低的静态路由。优先级值越低,优先级越高。

  优先级属性适用于除直连路由以外的所有路由,默认设置为1。

  对于动态路线,你只能更改BGP路由的优先级。其他动态路由的优先级被硬编码为1。在动态路由中,优先级值对于涉及SDWAN和多个虚拟路由和转发(VRF)ID的高级路由部署很有用。详细说明优先级评估项目如何对此类案例有益,这超出了本课程的范围。

  对于静态路由,你可以在高级选项部分配置优先级设置,如上图所示。

  要在路由监视器小部件中查看优先级,你必须启用优先级列(默认禁用)。你还可以在FortiGate CLI的路由表中查看优先级。

 上图显示的 CLI 命令显示路由表中的所有条目。路由表显示到达某个目的地的最佳活动路由。

  最左边的列表示路由源。路由属性显示在方括号内。第一对属性中的第一个数字是管理距离,它既适用于动态路由,也适用于静态路由。第二个是距离,它只适用于动态路由。

  静态路由和动态路由也有优先级和权重属性,它们显示为各自路由的最后一对属性。对于动态路由,权重值总是为零。

  该命令不显示备用或非活动路由,它们只存在于路由表数据库中。例如,到达同一目的子网的两条静态路由管理距离不同,则将管理距离较短的路由安装在路由表中,管理距离较长的路由安装在路由表数据库中。

  你可以通过在路由监视器小部件上单击路由查找执行路由查找。然后,你必须至少指明要查找的目标地址,以及可选的目标端口、源地址、源端口、协议和源接口。

   路由查找的工作方式如下:

  ● 如果你没有提供所有查找标准,FortiGate将仅考虑路由表条目。然后,FortiGate突出显示匹配的路线由(如果有的话)。

  ● 如果你提供所有查找标准,FortiGate将考虑路由表和策略表条目。如果查找与策略路由匹配,GUI 会将你重定向到策略路由页面,然后突出显示相应的匹配策略路由。

  上图的示例分别显示了8.8.8.8和TCP作为目标地址和协议的路由查找工具。由于管理员没有提供所有标准,FortiGate只考虑路由表条目。然后,路由查询将静态默认路由突出显示为匹配路由。

 RPF检查是一种通过检查路由表中源的返回路径来保护FortiGate和你的网络免受IP欺骗攻击的机制。

  RPF检查的前提是,如果FortiGate在接口上接收数据包,而FortiGate没有通过传入接口路由到数据包源地址,那么数据包的源地址可能被伪造,或者数据包路由错误。无论哪种情况,你都希望丢弃那个意外的数据包,这样它就不会进入你的网络。

  FortiGate仅对新会话的第一个数据包执行RPF检查。也就是说,在第一个数据包通过RPF检查并且FortiGate接受会话后,FortiGate不会对该会话执行任何额外的RPF检查。

  RPF检查模式有两种:

  ● 可行的路径:以前称为松散,它是默认模式。在此模式下,FortiGate验证路由表是否包含与数据包的源地址和传入接口匹配的路由。匹配的路由不一定是该源地址的路由表中的最佳路由。它只需要匹配源地址和数据包的传入接口。

  ● 严格:在此模式下,FortiGate还会验证匹配的路由是否是路由表中的最佳路由。也就是说,如果路由表包含源地址和传入接口的匹配路由,但通过另一个接口有更好的源地址路由,那么RPF检查将失败。

  上图还展示了如何在FortiGate CLl上更改RPF检查模式,以及如何在接口级别禁用RPF检查。

  非常好!你已经了解了FortiGate上的路由。接下来你将了解等价多路径(ECMP)路由。

 完成本部分后,你应该能够实现上图显示的目标。

  通过展示ECMP路由的能力,你将能够实施路由负载均衡。

  到目前为止,你已经了解了FortiGate查看的不同路由属性,以确定前往目的地的最佳路由。

  但是,当两条或多条相同类型的路由具有相同的目的地、管理距离、距离和优先级时,会发生什么?这些路由被称为等成本多路径(ECMP)路由,FortiGate将它们全部安装到路由表中。FortiGate还对ECMP路由之间的流量进行负载均衡。

  上图的示例显示了两条ECMP静态路由、两条ECMP BGP路由和两条ECMP OSPF路由。对于每个ECMP组,目标子网、管理距离、距离和优先级是相同的。

 ECMP可以使用以下四种算法之一来负载均衡会话:

  ● 源IP:这是默认算法。FortiGate使用相同的ECMP路由来路由源会话。

  ● 源-目标IP:FortiGate使用相同的ECMP路由来路由具有相同源-目标IP地址对的会话。

  ● 权重:仅适用于静态路由。FortiGate根据路由权重或相应的接口权重来负载均衡会话。权重越高,FortiGate通过所选路由的会话就越多。

  ● 使用(溢出):FortiGate将会话发送到第一个ECMP路由的接口,直到接口的带宽达到配置的溢出限制。达到溢出限制后,FortiGate使用下一个ECMP路由的接口。

  如果SD-WAN被禁用,你可以使用上图显示的命令在FortiGate CLI上更改ECMP负载均衡算法。

  启用SD-WAN后,FortiOS会隐藏v4-ecmp-mode设置,并将其替换为config system sdwan下的load-balance-mode设置。也就是说,当你启用SD-WAN时,你可以使用load-balance-mode设置控制ECMP算法。

  要使溢出效应发挥作用,你还必须配置出口和入口溢出阈值,如上图所示。如果你禁用SD-WAN,FortiGate会首先选择编号最低的接口。默认情况下也设置了阈值,这会禁用溢出检查。

  对于加权算法,你必须在接口级别或路由级别配置权重,如上图所示。如果路由表中添加了两条或多条路由,并且你将v4-ecmp-mode设置为基于权重,FortiGate将根据每个路由的权重值(百分比)路由会话。

 在上图显示的场景中,FortiGate在port1和port2上为10.0.4.0/24子网提供了ECMP路由。使用默认的ECMP算法(基于源IP),FortiGate可以使用两种路由中的任何一条来路由用户A和用户B的流量。

  在上图显示的示例中,FortiGate为用户A选择通过port1的路由,为用户B选择通过prot2的路由。FortiGate继续为相同的流量使用相同的选定路由。如果通过port1的路由从路由表中删除,FortiGate将自动开始通过port2转发来自两个用户的流量,并指向10.0.4.0/24。

  ECMP允许你为同一目标使用多个路径,并提供内置的故障转移。通常,你希望将ECMP用于需要高可用性的关键任务服务。使用ECMP的另一个原因是带宽聚合。也就是说,你可以通过跨多个链路负载均衡会话来利用多个链路的带宽。

  虽然ECMP允许你在FortiGate上利用多个广域网链路,但由于额外的好处,你可能想要使用SD-WAN。

  当你启用SD-WAN时,FortiOS会隐藏v4-ecmp-mode设置,并将其替换为config system  sdwan下的load-balance-mode设置。也就是说,启用SD-WAN后,你现在使用load-balance-mode设置控制ECMP算法。

  两种设置之间存在一些差异。主要区别在于load-balance-mode支持卷算法,而v4-ecmp-mode不支持。此外,权重和溢出阈值等相关设置的配置也不同。也就是说,当你启用SD-WAN时,在SD-WAN成员配置上定义了权重和溢出阈值。当你禁用SD-WAN时,权重和溢出阈值分别在静态路由和接口设置上定义。

  当你将ECMP算法设置为卷(即启用SD-WAN)时,FortiGate会根据测量的接口卷和成员权重跨成员的负载均衡会话。也就是说,卷算法指示FortiGate跟踪每个成员的累积字节数,并根据权重分配会话。权重越高,接口的目标流量就越大,因此,FortiGate向它发送的流量就越多。

  答案:A

 答案:B

  答案:B

  恭喜你!你已经完成了这节课。

  现在,你将回顾本课所涉及的目标。

  上图展示了你在本课中所涉及的目标。

  通过掌握本课涵盖的目标,你学习了如何在FortiGate上配置、监控和负载均衡路由。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值