教程篇(6.4) 02. 路由会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7

Posted meigang2012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教程篇(6.4) 02. 路由会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7相关的知识,希望对你有一定的参考价值。

 在这节课中,你将学习路由、会话和性能SLA。

 完成此部分后,你应该能够实现此幻灯片上显示的目标。

  通过展示在路由方面的能力,你将能够理解路由的基本原理。

 FortiGate是一种有状态设备,因此它在会话开始时根据第一个数据包解码大量信息。对于任何流量会话,FortiGate通常只执行两个路由查找:一个是对发起者发送的第一个包进行查找,另一个是对来自响应者的第一个应答包进行查找。之后,所有路由信息都写入FortiGate会话表中。但是,当路由表发生变化时,会从会话表中受影响的表项中清除路由信息。因此,FortiGate将执行额外的路由表查找,以便用新的路由信息重新填充会话表。

 FortiGate是如何决定路由的?FortiGate使用多个路由模块。这张幻灯片显示了路由模块的逻辑。

  首先,FortiGate搜索其常规策略路由。可以通过命令diagnose firewall proute list查看。如果策略路由中有匹配的报文,动作为Forward Traffic,FortiGate会对数据包进行相应的路由。如果动作为Stop Policy Routing,则FortiGate检查路由缓存。可以通过CLI命令diaqnose ip rtcache list查看。如果没有匹配流量的策略路由,FortiGate会检查SD-WAN规则。

  最后,FortiGate查询转发信息表(FIB)。FIB表是路由过程中生成的,用于报文转发。目的是管理,FIB目的是转发。当FortiGate处于active-active高可用性(HA)集群中时,这种分离变得更加清晰。在HA集群中,主FortiGate上同时存在路由管理表和转发表。但在备FortiGate上,只存在FIB。

  如果在这些表中没有任何匹配,FortiGate将丢弃数据包,因为它是不可路由的。

 完成此部分后,你应该能够实现此幻灯片上显示的目标。

  通过展示理解会话表的能力,你将能够理解FortiGate上的会话表。

 FortiGate会话表包含关于在FortiGate上跨越或终止的每个IP连接的详细信息。get system session status命令显示当前VDOM的会话总数。get system session list命令提供了每个会话的简要摘要。该命令每行列出一个会话,包括协议、源IP地址、目的IP地址和端口等信息。你可以使用grep实用程序和此命令来只列出特定IP地址的会话。

 这张幻灯片显示了FortiGate会话表中包含的输出示例。从左到右。和从上到下,突出显示如下信息:

  ● IP协议号和协议状态

  ● 直到会话过期的时间长度(如果没有更多的流量)

  ● 流量整形计数器

  ● 会话标志

  ● 接收和发送的数据包和字节计数器

  ● 如果设备正在进行NAT转换,则显示各流量方向的NAT类型(源或目的)和NAT IP地址

  ● 报文的源MAC地址

  ● 匹配策略的ID号

  ● 硬件加速计数器

 会话表中的协议状态为两位数字。对于TCP,第一个数字(从左到右)与服务器端状态有关,当会话不受任何检查(流或代理)时为0。如果执行了流或代理检查,则第一个数字将不等于0。第二个数字是客户端状态。这个表和流图将第二位数字的值与不同的TCP会话状态关联起来。例如,当FortiGate收到SYN报文时,第二位数字是2。当收到SYN/ACK报文时,变为3。三次握手后,状态值变为1。

  当会话双方都结束时。FortiGate将该会话在会话表中多保留几秒钟,以允许在FIN/ACK包之后可能到达的无序数据包。这时状态值为5。

 对于UDP,会话状态只能有两个值:单向流量为00,双向流量为01。对于ICMP协议,状态始终为00。

 该表显示了最重要的会话标志的含义。例如,log标志表示正在记录会话,local标志表示会话起源于FortiGate或在FortiGate上终止。

 看一看dirty和may_dirty标志。当FortiGate收到一个新会话的第一个包时,它会根据防火墙策略评估该流量是否应该被允许。只要防火墙策略配置没有变化,就只对第一个会话包进行评估。如果流量被防火墙策略允许,FortiGate将创建一个会话,并将该会话标记为may_dirty。

  在此之后,如果防火墙策略配置发生了变化,那么所有带有may_dirty标志的现有会话也将被标记为dirty。这表明FortiGate需要重新评估下一个会话包,以确定会话是否必须被阻塞。如果会话仍然被允许,dirty标志将被删除,但是may_dirty标志将被保留。如果会话必须被阻塞,它将被标记为block并一直保持在会话表中,直到过期。任何匹配带有block标志的会话的数据包都将被丢弃。

 你可以使用本幻灯片中显示的CLI命令在策略更改后修改FortiGate的会话处理行为。

  系统级设置是全局的,或者每个vdom,如果你启用了vdom。默认选项是check-all,即从受策略更改影响的会话中删除所有策略信息。当新数据包到达时,FortiGate会在将它们添加到会话表之前重新评估它们。这是最耗费资源的行为。

  check-new选项是另一种选择。当启用此选项时,策略更改后FortiGate不会修改任何现有会话。当新会话到达时,FortiGate根据修改后的策略对它们进行评估。如果你有处理数百万个会话的策略,可以使用此选项。

  check-policy-option是你以使用的最细粒度的设置。启用此选项后,可以使用防火墙策略级别设置来修改FortiGate在每个策略级别上处理会话的方式。

 完成此部分后,你应该能够实现此幻灯片上显示的目标。

  通过展示在SD-WAN性能SLA中的能力,你应该能够配置SD-WAN性能SLA,并识别FortiGate如何度量链路质量。

 现在,你将了解构成性能SLA窗口的两个部分:链路健康监控(或状态检查)和SLA目标。

 链路健康监控是一种检测路径上的路由器何时停止或降级的机制。

  FortiGate周期性地通过每个成员链路向充当信标的服务器发送探测信号,可以检查参与性能SLA的每个SD-WAN成员接口的状态(或健康)。你可以指定最多两个服务器作为信标。这可以防止服务器出错,而不是链路出错。

  在GUI中,你可以指定成员,也可以选择所有SD-WAN成员作为参与者。在CLI中,你现在可以添加成员0,这相当于将所有成员添加为特定性能SLA的参与者。

  在内核中添加FIB路由表项,实现通过每个参与接口到达性能SLA界面定义的服务器。这些内核路由被标记为proto=17。这些内核路由将独立于通常的路由源。

  GUI提供了两个协议选项来执行状态检查:ping、HTTP和DNS,但在CLI中有六个选项。这些选项是:ping, HTTP和DNS,就像在GUl,但也TCP echo, UDP echo和双向主动测量协议(TWAMP)。

  SD-WAN健康检查探测包现在支持差异化服务代码点(DSCP)标记,用于上游设备对高优先级应用的链路性能进行准确评估。DSCP可以通过CLI设置。

 与此性能SLA相关的流量的服务质量由SLA目标定义。分配给此性能SLA的SD-WAN成员链路必须满足SLA目标,以便在其他参与链路中被选中。你可以配置延迟、抖动和丢包阈值来满足你的需求,并创建细粒度SLA目标来为特定的应用程序优化SD-WAN。

  尽管SLA目标在性能SLA页面上指定了,但它们实际上并没有在那里使用。这里配置的值,仅在被规则引用时使用。每个性能SLA可以创建多个SLA目标。尽管在一些情况下你会希望这样做。

  例如,你位于分支机构中,并使用在同一台总部服务器上运行的一些不同的应用程序。你可以创建一个性能SLA,它将在该服务器上执行运行状况检查,但是对不同的应用程序有不同的SLA目标。你可以对某些应用制定宽松的规则,但对其他应用则要严格一些。但是,如果应用程序运行在不同的服务器上,那么你可能希望为每个应用程序创建不同的性能SLA,以便针对特定应用程序的服务器进行健康检查。对于该应用程序,每个性能SLA只需要一个SLA目标。

 在这里,你可以设置系统检查链路状态的频率,以确定是否需要将流量传输到另一条链路。设置后的非活动链路和恢复链路之前的故障有助于防止系统不断地在链路之间来回传输流量,这种情况称为振荡。

 性能SLA(健康检查)用于度量参与性能SLA的成员接口连接的链路质量。三种不同的标准用于此度量:延迟、抖动和包丢失百分比。

  正是这些值在用于路由流量的规则中针对SLA标准使用,根据每个成员的链路质量。

  Fortios存储每次健康检查每个接口的SLA度量值的最后10分钟。显示的延迟和抖动是基于性能SLA正在使用的服务器的最近30个探针。丢包百分比是根据性能SLA正在使用的服务器上最近100次探测计算的。

  重要的是要注意,绿色向上的箭头仅表示服务器正在响应健康检查,而不考虑包丢失、延迟和抖动值。这并不意味着SLA的任何目标都得到了实现。SLA违规用红色数字标记,就像这张幻灯片上显示的那样。

 性能SLA的CLI命令提供更多选项。tcp-echo、udp-echo和twamp选项只能在CLI中使用。这些选项提供了测量支持它们的任意两个设备之间的往返网络性能的不同方法。还有其他的仅支持cli的选项,这些选项仅基于你选择的性能SLA协议。

  可以配置延时、抖动、丢包质量检测的警告和报警阈值。这些在GUI上也不可用。

 你可以使用本幻灯片中显示的命令配置链路状态参数。在GUl和CLI中也可以配置多个不同值的SLA目标。

 只要没有达到配置的故障阈值,就认为SD-WAN成员是活动的。活动状态不受测量的丢包、延迟和抖动值的影响。这些成员在SD-WAN规则中处于选中状态。

 如果性能SLA中提到的任何SD-WAN成员达到了失败阈值,该成员将被标记为死亡。在本幻灯片所示的示例中,通过端口1连续五个探测仍然未得到答复,结果端口1被标记为死亡。端口1也将在与性能SLA DC_PBX_SLA相关的所有规则中被标记为死亡。

 如果启用update static route,只有下一跳相同的死亡成员的静态路由才会从路由表中删除。通过不同下一跳路由的死亡成员的静态路由保留在RIB/FIB表中。

  删除静态路由后,将重新验证现有会话。

 完成此部分后,你应该能够实现此幻灯片上显示的目标。

  通过演示路由更改的能力,你将能够理解FortiGate上路由更改时的会话行为。

 当FortiGate不应用SNAT时,当路由表发生变化时,会从受影响的会话中删除路由信息。同时删除相关的路由缓存项。因此,为了学习新的路由信息,并将其存储在路由表中,对下一个数据包进行了另外两个例行查找。

  这张幻灯片显示了路由更改后的会话示例。两个方向的网关改为0.0.0.0/0,接口改为0,表明该信息必须再次学习,添加dirty标志。

 你可以使用本幻灯片中显示的命令在接口级别配置会话路由持久性。缺省值为禁用。如果启用此设置,通过该接口的会话将继续通过而不受路由变化的影响。路由变化只适用于新的会话。

 在应用SNAT的会话中,FortiGate在路由更改后的动作取决于snat-route-change的设置。

 当snat-route-change设置被禁用时,对于使用SNAT的会话,路由变化后发生的行为是不同的。只要旧路由仍处于活动状态,使用SNAT的会话将继续使用相同的出站接口。

  在本幻灯片所示的示例中,FortiGate连接到两个不同的ISP。一个IP地址为10.1.0.1/24的客户端连接在一个FortiGate设备后面,FortiGate正在对客户端流量进行SNAT到一个公共IP地址,这取决于哪个ISP正在使用它。FortiGate路由表包含两条默认路由:每个ISP一条。这两条缺省路由距离相同,但优先级不同。优先级最低的路由(port1)为主路由。当两个ISP连接都连接起来时,FortiGate为互联网流量选择主路由。因此,到互联网的所有会话都是使用port1作为出站接口创建的。

 如果将分配给port1的优先级提高到高于port2的优先级,并且关闭snat-route-change功能,则所有新的会话都将从port2开始。因为它的优先级最低。但是,所有现有的会话都继续使用port1。缺省路由通过port1。即使缺省路由不再是最佳路由,它仍然是活跃的。如果FortiGate是SNAT,现有会话将继续使用原始路由,直到它们过期。如果FortiGate不做SNAT。所有现有的会话将在更改后切换到port2。

 启用snat-route-change后,路由变化后的动作与未启用SNAT的会话相同:

  ● 从会话表中刷新路由信息

  ● 删除路由缓存项

  ● 对下一个包再次进行路由查找,这可能会改变用于路由流量的出站接口

  ● 对原始方向的第一个报文再次进行RPF检查

  在本幻灯片所示的示例中,FortiGate连接到两个不同的ISP。客户端连接在FortiGate设备后,IP地址为10.1.0.1/24。FortiGate路由表包含两条默认路由:每个ISP一条。两条缺省路由的距离相同。但是有不同的优先级。优先级最低的路由(port1)为主路由。当两个ISP连接都断开时。主要路由由FortiGate为互联网流量选择。因此,到互联网的所有会话都是使用port1作为出站接口创建的。

 这张幻灯片上显示的场景有多个ISP,如果客户拥有一个公网IP地址池,则客户可以为所有互联网提供商配置一个SNAT IP地址池。这样做的好处是,如果主ISP发生故障,会话将从维护相同公网源IP地址的从ISP路由。通过这种方式,会话可以保持打开状态。

  因此,在本幻灯片所示的示例中,如果将port1的优先级提高到高于port2的优先级的值。如果启用snat-route-change,则在路由变化后,将从现有的SNAT会话中刷新路由信息。所有会话都使用port2启动。因为它的优先级最低。另外,如果port2路由和port1的旧的最佳路由共用一个IP池,则SNAT会话将继续使用相同的公网IP地址进行私有IP地址的转换。

 这张幻灯片显示了你在本课中涉及的目标。

  通过掌握本课的目标,你学习了如何执行SD-WAN高级配置和路由。

以上是关于教程篇(6.4) 02. 路由会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7的主要内容,如果未能解决你的问题,请参考以下文章

教程篇(6.4) 03. SD-WAN规则 ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7

教程篇(6.4) 10. FortiManager 策略和对象 ❀ Fortinet 网络安全专家 NSE5

考题篇(6.4) 10 ❀ 企业防火墙 ❀ Fortinet 网络安全架构师 NSE7

教程篇(6.4) 06. FortiManager 简介和初始配置 ❀ Fortinet 网络安全专家 NSE5

教程篇(6.4) 07. FortiManager 实施和管理 ❀ Fortinet 网络安全专家 NSE5

教程篇(6.4) 07. 诊断和故障排除 ❀ FortiManager ❀ Fortinet 网络安全专家 NSE 5