Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

基于数据包的转发

SRX 设备以两种不同的模式运行:数据包模式和流模式。在流模式下,SRX 通过分析流量的状态或会话来处理所有流量。这也称为流量的状态处理。在数据包模式下,SRX 会按数据包处理流量。这也称为流量的无状态处理。

了解基于数据包的处理

进入和退出运行 Junos OS 的瞻博网络设备的数据包可以接受基于数据包的处理。基于数据包或无状态的数据包处理会离散处理数据包。每个数据包都单独评估以用于治疗。无状态数据包转发在逐个数据包的基础上执行,无需考虑流或状态信息。每个数据包都单独评估以用于治疗。

图 1 显示了基于数据包的转发的流量信息流。

图 1:基于数据包的转发流量 Traffic Flow for Packet-Based Forwarding

当数据包进入设备时,将应用分类器、过滤器和监管器。接下来,通过路由查找确定数据包的出口接口。找到数据包的出口接口后,就会应用过滤器,并将数据包发送至将数据包排队并计划传输的出口接口。

基于数据包的转发不需要有关属于给定连接的前一个或后续数据包的任何信息,并且任何允许或拒绝流量的决策都特定于数据包。这种架构具有大规模扩展的优势,因为它转发数据包,而无需跟踪单个流或状态。

从 Junos OS 15.1X49-D100 版开始,适用于 SRX100、SRX110、 SRX210、SRX220、SRX240、SRX300、SRX320、SRX340、SRX345、SRX550M 和 SRX650,数据包捕获的最大捕获大小扩展至 1520 字节,允许捕获 1500 字节的数据和 12 字节瞻博以太网标头。”

了解基于数据包的选择性无状态服务

基于数据包的选择性无状态服务允许您在系统上同时使用基于流的转发和基于数据包的转发。您可以使用无状态防火墙过滤器(也称为访问控制列表 (ACL),选择性地定向需要基于数据包的无状态转发流量,以避免基于状态流的转发。未如此定向的流量遵循基于流的默认转发路径。对于明确希望避免流量会话扩展约束的流量,绕过基于流的转发会很有用。

默认情况下,运行 Junos OS 的瞻博网络安全设备会使用基于流的转发。选择性无状态基于数据包的服务允许您将设备配置为仅根据输入过滤条件为选定流量提供基于数据包的处理。处理其他流量以用于基于流的转发。对于希望避免会话扩展约束以及会话创建和维护成本的部署,绕过基于流的转发非常有用。

为基于数据包的选择性无状态处理配置设备时,系统会根据某些条件对进入系统的数据包进行不同的处理:

  • 如果数据包满足输入过滤条件中规定的匹配条件,则将其标记为数据包模式,并为其应用所有配置的数据包模式功能。不应用基于流的安全功能。它会绕过他们。

  • 如果数据包尚未标记为数据包模式,它将进行正常处理。除 MPLS 以外的所有服务均可应用于此流量。

图 2 显示了具有选择性无状态数据包的服务绕过基于流的处理的流量。

图 2:使用基于数据包的选择性无状态服务的 Traffic Flow with Selective Stateless Packet-Based Services流量

当数据包进入某个接口时,将应用接口上配置的输入数据包过滤器。

  • 如果数据包符合 防火墙过滤器指定的条件, packet-mode 则为数据包设置操作修改符。数据包模式操作修改器会更新数据包密钥缓冲区中的位字段 — 此位字段用于确定是否需要绕过基于流的转发。因此,带有数据包模式操作修改符的数据包会完全绕过基于流的转发。数据包的出口接口通过路由查找确定。找到数据包的出口接口后,就会应用过滤器,并将数据包发送至将数据包排队并计划传输的出口接口。

  • 如果数据包与此过滤器术语中规定的条件不匹配,将根据过滤器中配置的其他术语对其进行评估。如果评估所有项后,某个数据包与过滤器中的项不匹配,则数据包将被静默丢弃。要防止数据包被丢弃,请在过滤器中配置一个术语,以指定接受所有数据包的操作。

一组定义的无状态服务可用于基于数据包的选择性无状态服务:

  • IPv4 路由(单播和组播协议)

  • 服务等级 (CoS)

  • 链路分段和交错 (LFI)

  • 通用路由封装 (GRE)

  • 2 层交换

  • 多协议标签交换 (MPLS)

  • 无状态防火墙过滤器

  • 压缩实时传输协议 (CRTP)

尽管要求 MPLS 服务的流量必须在数据包模式下处理,但在某些情况下,可能需要将某些服务同时应用于此流量,这些服务只能在流模式下提供,例如状态检测、NAT 和 IPsec。要指示系统以流模式和数据包模式处理流量,必须配置通过隧道接口连接的多个路由实例。必须配置一个路由实例以在流模式下处理数据包,另一个路由实例必须配置为在数据包模式下处理数据包。使用隧道接口连接路由实例时,这些路由实例之间的流量会再次注入转发路径,然后可以使用其他转发方法重新处理该路径。

基于数据包的选择性无状态服务配置概述

SRX300、SRX320、SRX340、SRX345、SRX550M、SRX1500 和 vSRX 设备支持此功能。您可以使用无状态防火墙过滤器(也称为访问控制列表 (ACL)配置基于数据包的选择性无状态服务。您可以通过在防火墙过滤器中指定匹配条件对流量进行分类,然后配置 packet-mode 操作修改符来指定操作。定义匹配条件和操作后,防火墙过滤器就会应用于相关接口。

要配置防火墙过滤器:

  1. 定义地址族 — 首先定义防火墙过滤器匹配的数据包的地址族。要定义家族名称,请指定 inet 以过滤 IPv4 数据包。指定 mpls 以过滤 MPLS 数据包。指定 ccc 以过滤第 2 层交换交叉连接。
  2. 定义术语 — 定义一个或多个术语,用于指定过滤标准,以及发生匹配项时要采取的操作。每个术语都包含两个组件— 匹配条件和操作。
    • 匹配条件 — 指定数据包要执行的操作必须匹配的某些特性。您可以定义各种匹配条件,例如 IP 源地址字段、IP 目标地址字段和 IP 协议字段。

    • 操作 — 指定如果数据包与匹配条件匹配,将对数据包执行哪些操作。可能采取的措施是接受、丢弃或拒绝数据包;进入下一个学期;或不采取行动。

      一个术语中只能指定一个 action (或省略它),但可以为其指定操作修改符的任意组合。操作修改器包括默认 accept 操作。例如,如果指定了操作修改符而未指定操作,则指定的操作修改符将得到实施并接受数据包。

      packet-mode操作修改器可指定流量以绕过基于流的转发。与其他操作修改器一样,您可以配置packet-mode操作修改器以及其他操作,例如acceptcount

  3. 将防火墙过滤器应用于接口 — 将防火墙过滤器应用于接口,使防火墙过滤器生效。

当数据包进入某个接口时,将应用接口上配置的输入数据包过滤器。如果数据包与指定的条件匹配,并且 packet-mode 配置了操作,则数据包将完全绕过基于流的转发。

配置过滤器时,请注意防火墙过滤器中条款的顺序。按每个术语在配置中列出的顺序测试数据包。发现第一个匹配条件后,与该术语关联的操作将应用于数据包,防火墙过滤器的评估将结束,除非 next term 包含操作修改符。如果包括操作 next term ,则会根据防火墙过滤器中的下一个术语评估匹配数据包;否则,不会根据防火墙过滤器中的后续术语评估匹配数据包。

为基于数据包的选择性无状态服务配置防火墙过滤器时:

  • 准确识别需要绕过流量的流量,以避免不必要丢包。

  • 确保在基于数据包的流路径涉及的所有接口上应用带有数据包模式操作的防火墙过滤器。

  • 请务必将主机绑定的 TCP 流量配置为使用基于流的转发— 为包含 packet-mode 操作修改器的防火墙过滤器术语指定匹配条件时,请排除此流量。配置为绕过流的任何主机绑定 TCP 流量都将会丢弃。基于数据包的选择性无状态服务不支持异步流模式处理。

  • 使用 packet-mode 操作修改符配置输入数据包过滤器(非输出)。

注意:

基于数据包的选择性无状态服务不支持嵌套防火墙过滤器(在另一个过滤器的术语内配置过滤器)。

您可以配置基于数据包的选择性无状态服务的某些典型部署场景如下:

  • 专用 LAN 和 WAN 接口之间的流量流,例如内部网流量,其中端到端转发基于数据包

  • 专用 LAN 和不太安全的 WAN 接口之间的流量流动,其中流量使用基于数据包和基于流的转发分别实现安全和不太安全的流量

  • 专用 WAN 链路关闭时,专用 LAN 和 WAN 接口之间的流量流,并故障转移到基于流的 IPsec WAN

  • 流量从基于流的 LAN 流向基于数据包的 MPLS WAN

示例:为基于数据包的端到端转发配置基于选择性无状态数据包的服务

此示例说明如何配置基于数据包的选择性无状态数据包服务,以实现基于数据包的端到端转发。SRX300、SRX320、SRX340、SRX345、SRX550M、SRX1500 和 vSRX 设备支持此功能

要求

开始之前:

  • 了解如何配置无状态防火墙过滤器。

  • 建立基本连接。.

概述

在此示例中,您将为每个设备上的接口配置 IP 地址。对于 R0,它是 10.1.1.2/24 ;对于 R1,它们是 10.1.1.1/24、10.2.1.1/24 和 203.0.113.1/30;R2 是 203.0.113.2/30;对于 R3,它是 10.2.1.2/24为设备创建静态路由并关联下一跃点地址,如下所示:R0 为 10.1.1.2,R1 为 198.51.100.2,R2 为 203.0.113.1,R3 为 10.2.1.1。

然后在设备 R1 上配置一个名为 untrust 的区域,并将其分配给接口 ge-0/0/3。您还可以创建一个名为 trust 的区域,并将接口 ge-0/0/1 和 ge-0/0/2 分配给它。您可以配置信任区域和不信任区域,以允许所有支持的应用程序服务作为入站服务。您可以允许来自任何源地址、目标地址和应用程序的流量在区域之间传输。

然后,创建防火墙过滤器 bypass-flow-filter,并定义绕过流-term-1 和 bypass-flow-term-2 的条款,以匹配内部接口 ge-0/0/1 和 ge-0/0/2 之间包含数据包模式操作修改符的流量。您可以定义接受-rest 术语来接受所有剩余流量。最后,将防火墙过滤器 bypass-flow-filter 应用于内部接口 ge-0/0/1 和 ge-0/0/2(不在外部接口上)。因此,所有内部流量都会绕过基于流的转发,而往返于互联网的流量不会绕过基于流的转发。

图 3 显示了此示例中使用的网络拓扑。

图 3:使用基于数据包的端到端服务 Intranet Traffic Using End-to-End Packet-Based Services的内部网流量

贵公司的分支机构通过专用 WAN 相互连接。对于这种内部流量,需要数据包转发,因为安全性不是问题。因此,对于此流量,您决定配置基于数据包的选择性无状态服务,以绕过基于流的转发。往返互联网的剩余流量使用基于流的转发。

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 CLI 中 [edit] ,然后从配置模式进入 commit

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。

要为基于数据包的端到端转发配置选择性无状态数据包服务:

  1. 配置设备 R0、R1、R2 和 R3 上的接口的 IP 地址。

  2. 创建静态路由并为设备 R0、R1、R2 和 R3 关联适当的下一跃点地址。

  3. 配置安全区域并分配接口。

  4. 为区域配置应用程序服务。

  5. 配置安全策略

  6. 创建防火墙过滤器并定义所有基于数据包的转发流量的条款。

  7. 为剩余流量指定另一个术语。

  8. 将防火墙过滤器应用于相关接口。

结果

在配置模式下,输入 、 show routing-optionsshow firewall命令,show interfaces以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

完成设备配置后,请从配置模式进入 commit

验证

确认配置工作正常。

验证基于数据包的端到端配置

目的

验证是否已配置基于数据包的选择性无状态服务。

行动

在配置模式下,show interfaces输入 、 show routing-optionsshow security zonesshow security policies、 和show firewall命令。

验证输出是否显示了防火墙过滤器、接口和策略的预期配置。

验证条款是否按您希望测试数据包的顺序列出。您可以使用命令在防火墙过滤器 insert 内移动术语。

验证内部网流量的会话建立

目的

验证当流量传输到内部网中的接口时,是否已建立会话。

行动

要验证是否已建立会话,请执行以下操作:

  1. 在设备上 R1,输入操作模式 clear security flow session all 命令以清除所有现有安全流会话。

  2. 在设备上 R0,输入操作模式 ping 命令,将流量传输到设备 R3

  3. 在设备上R1,当流量从设备R0传输到R3R1设备时,输入操作模式show security flow session命令。

注意:

要验证已建立的会话,请确保在 show security flow session 命令发送和接收数据包时 ping 输入命令。

从 Junos OS 15.1X49-D30 版和 Junos OS 17.3R1 版开始,会话流摘要包括 CP 会话 ID。

输出显示从R0R3地传输的流量,未建立任何会话。在此示例中,您对接口Internal 1Internal 2公司的内部网流量应用bypass-flow-filter了操作packet-mode修改符。此输出用于验证两个接口之间的流量是否正确绕过了基于流的转发,因此未建立任何会话。

验证互联网流量的会话建立

目的

验证在流量传输到互联网时是否已建立会话。

行动

要验证到 Internet 的流量是否使用基于流的转发并建立会话,请执行以下操作:

  1. 在设备上 R1,输入操作模式 clear security flow session all 命令以清除所有现有安全流会话。

  2. 在设备上 R0,输入操作模式 ping 命令,将流量传输到设备 R2

  3. 在设备上R1,从另一个到另一个R2R1传输的R0流量进入操作模式show security flow session命令。

注意:

要验证已建立的会话,请确保在 show security flow session 命令发送和接收数据包时 ping 输入命令。

输出显示从设备R0传输到R1已建立的会话的流量。在此示例中,您没有对公司的互联网流量在接口Internet上应用bypass-flow-filterpacket-mode操作修改符。此输出用于验证到 Internet 的流量是否正确使用基于流的转发,从而建立会话。

将流量从设备R3R2传输到并使用此部分中的命令验证已建立的会话。

示例:为基于数据包到基于流的转发配置基于选择性无状态数据包的服务

此示例说明如何配置基于数据包的选择性无状态数据包服务,以实现基于数据包到基于流的转发。SRX300、SRX320、SRX340、SRX345、SRX550M、SRX1500 和 vSRX 设备支持此功能。

要求

开始之前:

  • 了解如何配置无状态防火墙过滤器。

  • 建立基本连接。.

概述

在此示例中,您将为每个设备上的接口配置 IP 地址。对于设备 R0,为 198.51.100.9/24;R1 为 198.51.100.10/24 和 203.0.113.5/24;对于 R2,它是 203.0.113.9/24在设备 R1 上,在路由实例之间设置内部服务接口 lt-0/0/0,并在两个虚拟设备之间配置对等关系。然后,创建两个安全区域(主要 VR 区域和 Internet-VR 区域,为其分配相关接口,并对其进行配置以允许所有受支持的应用程序和协议)。

然后,配置策略并指定允许所有数据包。您可以配置虚拟设备路由实例 Internet-VR,并为基于流的转发分配接口。您可以在设备 R0、R1 和 R2 上启用 OSPF。在设备 R2 上,您可将过滤器旁路流过滤器配置为术语旁路流过滤器,其中包含数据包模式操作修改符。由于您未指定任何匹配条件,因此此过滤器适用于遍历应用此过滤器的接口的所有流量。

最后,在设备 R1 上,将防火墙过滤器 bypass-flow-filter 应用于内部接口 ge-0/0/2.0 和 lt-0/0/0.0。请勿将过滤器应用于与 Internet-VR 路由实例关联的接口。因此,遍历与主路由实例关联的 LAN 接口的所有流量都使用基于数据包的转发,而遍历 Internet-VR 路由实例的所有流量都使用基于流的转发。

图 4 显示了此示例中使用的网络拓扑。

图 4:用于基于数据包的转发 Selective Stateless Packet-Based Services for Packet-Based Forwarding的选择性无状态数据包服务

面向专用 LAN 的接口不需要任何安全服务,但面向 WAN 的接口需要安全性。在此示例中,您决定通过配置两个路由实例来配置基于数据包的转发和基于流的转发,以实现安全的流量(一个处理基于数据包的转发,另一个处理基于流的转发)。

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 CLI 中 [edit] ,然后从配置模式进入 commit

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。

要为基于数据包的端到端转发配置选择性无状态数据包服务:

  1. 配置接口的 IP 地址。

  2. 在路由实例之间设置内部服务接口。

  3. 配置安全区域。

  4. 配置策略。

  5. 配置虚拟设备路由实例。

  6. 在网络中的所有接口上启用 OSPF。

  7. 创建防火墙过滤器并为基于数据包的转发流量定义术语。

  8. 将防火墙过滤器应用于相关接口。

结果

在配置模式下,输入 、 show interfacesshow protocolsshow securityshow routing-instancesshow firewall命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

完成设备配置后,请从配置模式进入 commit

验证

确认配置工作正常。

验证基于数据包到基于流的配置

目的

验证基于数据包的选择性无状态数据包服务是否已配置为基于数据包到基于流的转发。

行动

在配置模式下,show interfaces输入 、 show protocolsshow securityshow routing-instances、 和show firewall命令。

验证输出是否显示了防火墙过滤器、路由实例、接口和策略的预期配置。

验证条款是否按您希望测试数据包的顺序列出。您可以使用命令在防火墙过滤器 insert 内移动术语。

验证 LAN 流量的会话建立

目的

验证当流量在 LAN 内的接口上传输流量时,是否已建立会话。

行动

要验证是否已建立会话,请执行以下操作:

  1. 在设备上 R1,从操作模式进入命令以 clear security flow session all 清除所有现有安全流会话。

  2. 在设备上 R0,从操作模式进入命令, ping 以将流量传输到设备 Primary-VR

  3. 在设备上 R1,从设备 R0 传输的流量从 R1操作模式进入 show security flow session 命令。

注意:

要验证已建立的会话,请确保在 show security flow session 命令发送和接收数据包时 ping 输入命令。

输出显示从R0Primary-VR地传输的流量,未建立任何会话。在此示例中,您在接口ge-0/0/0lt-0/0/0.0公司的 LAN 流量上应用bypass-flow-filter了带有packet-mode操作修改符。此输出用于验证两个接口之间的流量是否正确绕过了基于流的转发,因此未建立任何会话。

验证互联网流量的会话建立

目的

验证在流量传输到互联网时是否已建立会话。

行动

要验证到 Internet 的流量是否使用基于流的转发并建立会话,请执行以下操作:

  1. 在设备上 R1,从操作模式进入命令以 clear security flow session all 清除所有现有安全流会话。

  2. 在设备上 R0,从操作模式进入命令, ping 以将流量传输到设备 R2

  3. 在设备上R1,从操作R2R1模式传输的R0流量会进入show security flow session命令。

注意:

要验证已建立的会话,请确保在 show security flow session 命令发送和接收数据包时 ping 输入命令。

输出显示从设备R0传输到R2已建立的会话的流量。在此示例中,您没有对公司的互联网流量的路由实例Internet-VR应用bypass-flow-filterpacket-mode操作修改符。此输出用于验证到 Internet 的流量是否正确使用基于流的转发,从而建立会话。

请注意,仅在流量之间lt-0/0/0.1流动时建立会话,ge-0/0/3而不是当流量在和lt-0/0/0.0之间ge-0/0/2流动时。

版本历史记录表
释放
描述
15.1X49-D30
从 Junos OS 15.1X49-D30 版和 Junos OS 17.3R1 版开始,会话流摘要包括 CP 会话 ID。