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

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

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

  通过在FortiGate上展示路由的能力,你应该能够实现静态路由,了解路由表,并实现路由负载均衡。

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

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

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

  要路由数据包,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条目。但是,对于FIB,你只能在FortiGate CLI上显示其条目。上图的输出显示了显示FIB的CLI命令。请注意,输出已被切割以适应幻灯片。在本课中,你将学习如何显示路由表条目。

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

 一种手动配置的路由称为静态路由。当你配置静态路由时,你告诉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路由被添加到策略路由表中。

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

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

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

  ● 动态:通过动态路由协议(如BGP、OSPF)学习到的路由。FortiGate安装这些自动添加到路由表中,表示使用的是动态路由协议。

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

  ● 非活动路由:静态和直连路由,其接口在管理上关闭或链接关闭。当链路运行状况监视器检测到其网关已死时,静态路由也会被标记为非活动状态。

  ● 备用路由:这些是活动路由,因为它们是重复的,距离更远,所以从路由表中删除。例如:

    ● 第二个静态默认路由,距离比另一个静态默认路由更远。

    ● 动态路由,如BGP或OSPF,与另一条静态路由相同。然而,动态路由没有显示在路由表中,因为静态路由的距离较小。

  ● 策略路由:这些包括常规策略路由、ISDB路由和SD-WAN规则。策略路由在单独的表(策略路由表)中查看。要查看策略路由表条目,请选择策略

  距离,或管理距离,是路由器用来确定特定目的地最佳路由的第一个决定性因素。如果有两条或多条通往同一目的地的路由(重复路由),则最低管理距离路由被认为是最佳路由,因此安装在路由表中。通往同一目的地的其他低管理距离路由是备用路由,因此没有安装在路由表中。相反,它们被安装在路由表数据库中。

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

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

  当动态路由协议学习到同一目的地的两条或多条路由时,它使用该指标作为打破平局来识别最佳路由。距离越低,偏好越高。然后,动态路由协议在路由表中安装最佳路由,在路由表数据库中安装更高距离的路由。请注意,该距离用作相同协议动态路由的断路器,而不是在不同协议动态路由之间。

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

 当有两个或多个具有相同管理距离的重复静态路由时,FortiGate会将它们全部安装在路由表中。如果它们也具有相同的优先级,那么这些路由被称为ECMP静态路由,你将在本课中了解有关它们的更多信息。

  优先级设置使管理员能够打破ECMP静态路由之间的联系。结果是,在路由查找过程中,FortiGate选择所有等管理距离重复静态路由中优先级最低的静态路由作为最佳路由。优先级值越低,偏好越高。

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

  对于动态路由,你只能更改BGP路由的优先级。其他动态路由的优先级被硬编码为1。在动态路由中使用优先级值对于涉及SD-WAN和多个虚拟路由和转发(VRF)ID的高级路由部署非常有用。关于优先级属性如何对此类情况有益的详细信息不在本课程的范围之内。

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

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

 上图显示的CLI命令显示路由表中的所有条目。路由表显示使其成为通往目的地的最佳活动路由的路由。

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

  静态路由和动态路由也具有优先级和权重属性,这些属性显示为相应路由的最后一对属性。在动态路由的情况下,权重总是零。

  此命令不显示待机或非活动路由,这些路由仅存在于路由表数据库中。例如,当两个到同一目标子网的静态路由具有不同的管理距离时,管理距离较低的路由安装在路由表中,管理距离较高的路由表数据库中安装。

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

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

  FortiGate使用管理距离距离优先级属性来做出各种路由选择决策。在本课中,你将了解其中的每一个。

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

 你可以通过单击路由查找在路由监视器小部件上执行路由查找。

  然后,你必须至少指明要查找的目标地址,以及可选的目标端口、源、源端口、协议和源接口。

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

  ● 如果你不提供所有查找标准,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)路由,FortiGate将它们全部安装在路由表中。FortiGate还负载均衡了ECMP路线之间的流量。

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

  结果是FortiGate在路由表中安装了每个ECMP组的两条路由。然而,本课仅侧重于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算法。

  要使溢出工作,你还必须配置出口和入口溢出阈值,如上图所示。默认情况下,阈值设置为0,这禁用了溢出检查。

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

  在上图显示的场景中,FortiGate在端口1和端口2上有10.0.4.0/24子网的ECMP路由。使用默认的ECMP算法(基于源IP),FortiGate可以使用两种路由中的任何一条路由来自用户A和用户B的流量。

  在上图显示的示例中,FortiGate为用户A选择端口1上的路由,为用户B选择端口2上的路由。FortiGate继续为相同的流量使用相同的选定路线。在端口1的路由中,从路由表中删除,FortiGate自动开始转发来自两个用户的流量,并通过端口2转发到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的路由。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值