在 PTX 系列路由器上配置内联主动流监控
本主题介绍如何在 PTX 系列路由器上为 IPv4 和 IPv6 流量配置内联主动流监控。
平台和功能支持
表 1 列出了 PTX 系列平台对内联主动流监控的各种类型流量的支持。
平台 |
支持 |
---|---|
PTX3000 系列 |
Junos OS 18.1R1 - IPv4 和 IPv6 流量(包括 IPFIX 和版本 9) Junos OS 18.2R1 - MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX5000 系列 |
Junos OS 18.1R1 - IPv4 和 IPv6 流量(包括 IPFIX 和版本 9) Junos OS 18.2R1、MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX1000 |
Junos OS 17.3R1 - IPv4 和 IPv6 流量(仅限版本 9)。 |
PTX10001-36MR |
Junos OS 演化版 20.3R1 — IPv4、IPv6、MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX10002-60C |
Junos OS 18.4R1 - IPv4 和 IPv6 流量(包括 IPFIX 和版本 9)。 Junos OS 19.4R1 - MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX10003 |
Junos OS 演化版 19.3R1 - IPv4 和 IPv6 流量(IPFIX 和版本 9)。 Junos OS 演化版 20.1R1 — MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX10004 |
Junos OS 演化版 20.4R1 - IPv4、IPv6、MPLS、MPLS-IPv4 和 MPLS-IPv6 流量(IPFIX 和版本 9)。 |
PTX10008(使用 JNP10008-SF3 和 JNP10K-LC1201 线卡) |
Junos OS 演化版 19.3R1 - IPv4 和 IPv6 流量(IPFIX 和版本 9)。 Junos OS 演化版 20.1R1 — MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
PTX10008(使用 JNP10008-SF3 和 JNP10K-LC1202 线卡) |
Junos OS 演化版 20.3R1 - IPv4、IPv6、MPLS、MPLS-IPv4 和 MPLS-IPv6 流量(IPFIX 和版本 9)。 |
PTX10008(不带 JNP10008-SF3)和 PTX10016 |
Junos OS 18.1R1 - IPv4 和 IPv6 流量(包括 IPFIX 和版本 9) Junos OS 18.2R1 - MPLS、MPLS-IPv4 和 MPLS-IPv6 流量。 |
VRF 支持: 从 Junos OS 演化版 24.2R1 版开始,我们支持将内联主动流监控采样数据包的 IPFIX 或版本 9 记录导出到可通过以下方式访问的收集器:
-
属于mgmt_junos VRF 实例的接口。
-
属于非默认 VRF 实例的 WAN 端口。
您可以使用 routing-instance
层次 [edit forwarding-options sampling instance name family type output flow-server IP-address]
结构级别的配置语句配置此功能。必须确保可通过管理接口访问收集器。每种类型的 VRF 实例最多支持四个收集器。您可以在同一采样配置中为这两种类型的 VRF 实例配置收集器。但是,可通过mgmt_junos VRF 实例访问的收集器和可通过 WAN 端口访问的收集器不能在同一系列下共存,因为每个系列只能指定一个源 IP 地址。可以指定 inet
收集器、 inet6
收集器或这两种类型的混合。要配置mgmt_junos VRF 实例,请参阅 非默认实例中的管理接口。
MPLS-over-UDP 支持: 要在 PTX 系列路由器上为 MPLS-over UDP 流量配置内联流监控,请参阅 PTX 系列路由器上 MPLS-over-UDP 流的内联主动流监控。PTX10001-36MR、PTX10003、PTX10004 和 PTX10008(使用 JNP10008-SF3)路由器不支持对 MPLS-over-UDP 流量进行内联主动流监控。
收藏家:从 Junos OS 18.2R1 版开始,您最多可以在一个系列下配置四个收集器,用于内联主动流监控。在早期版本的 Junos OS 中,您只能在一个系列下配置一个收集器用于内联主动流监控。从 Junos OS 演化版 20.3R1 开始,对于 PTX10003 和 PTX10008(使用 JNP10K-LC1201 线卡和 JNP10008-SF3)路由器,您最多可以配置四个收集器以进行内联主动流监控。从 Junos OS 演化版 20.4R1 开始,对于 PTX10001-36MR 和 PTX10008(使用 JNP10K-LC1202 线卡和 JNP10008-SF3)路由器,您最多可以配置四个收集器以进行内联主动流监控。从 Junos OS 演化版 21.1R1 开始,对于 PTX10004 路由器,您最多可以配置四个收集器来进行内联主动流监控。要在系列下配置收集器以实现内联主动流监控,请在edit forwarding-options sampling-instance instance-name family (inet | inet6) output
层次结构级别配置flow-server
语句。若要指定最多四个收集器,请最多包含四个flow-server
语句。
线卡 CPU: 内联主动流监控在线卡 CPU (LCPU) 上实现。流创建、流更新和流记录导出等所有功能均由 LCPU 完成。流记录以 IPFIX 格式或版本 9 格式发送。
流:从 Junos OS 演化版 21.2R1 和 Junos OS 21.3R1 版开始,不会保留任何流。每个采样的数据包都被视为一个流。接收到采样数据包后,将创建流量并立即超时为非活动状态,同时软件将记录导出到收集器。因此,发送到收集器的记录数比以前更高。IPFIX 和版本 9 选项模板数据记录现在在(元素 ID 36)和Flow Inactive Timeout
(元素 ID 37)字段中Flow Active Timeout
包含 0。因此,选项模板数据记录不符合 IPFIX RFC 7011。show services accounting flow inline-jflow fpc-slot slot
作模式命令现在为所有Active Flows
和Timed Out
字段显示 0。各个Total Flows
字段的值现在等于它们各自Flow Packets
的字段值。各个Flows Inactive Timed Out
字段的值现在等于它们各自Flow Packets
的字段值。语句在[edit services flow-monitoring version version template template-name]
层次结构级别对这种无流行为的影响nexthop-learning
因作系统而异。对于 Junos OS 演化版,建议nexthop-learning
不配置语句,因为它会减少可处理的数据包数。对于 Junos OS,您可以将nexthop-learning
语句配置为更改此默认的无流行为,并再次创建和维护流,然后将模板附加到与需要先前行为的 FPC 关联的所有采样实例。
限制和限制
以下限制和限制适用于 Junos OS 和 Junos OS 演化版中的内联主动流监控功能:
-
出口 MPLS 过滤器在 PTX10001-36MR、PTX10003、PTX10004 和 PTX10008(使用 JNP10008-SF3)路由器上不受支持。
-
PTX10001-36MR 路由器不支持多个 FPC 采样收集,因为它只有 1 个路由引擎。
-
出口采样不支持真正的传出接口 (OIF) 报告。在 Junos OS 演化版中,GRE 解封装数据包不支持真传出接口 (OIF) 报告。
-
真正传入接口的接口类型字段不是版本 9 模板的一部分,因为版本 9 导出版本中不存在此元素。
-
对于 PTX10003 路由器上的 GRE 隧道流量,物理接口将在第 2 层标头中报告,并被视为流创建过程中的关键之一。因此,当物理接口移入或移出聚合以太网捆绑包时,将创建一个新流,并且旧流在一段时间不活动后将超时。物理接口、逻辑接口或聚合逻辑接口(基于配置)在基于配置的导出记录中报告为传入接口。
对于 PTX10008(使用 JNP10008-SF3)路由器上的 GRE 隧道流量,FTI 接口配置为终止 GRE 隧道。在创建流程期间,此接口用作密钥之一,而非物理接口。因此,当物理接口移入或移出聚合以太网捆绑包时,不会创建新流,因为密钥保持不变。物理接口、逻辑接口或聚合逻辑接口(基于配置)在导出的记录中报告为传入接口。
如何在 PTX 系列路由器上配置内联主动流监控
在此示例中,我们配置用于 version-ipfix
记录 IPv4 和 IPv6 流量的模板。
配置模板以指定输出属性
-
定义模板并配置模板应记录的流类型。
[edit services flow-monitoring] user@host# set version-ipfix template template-name ipv4-template user@host# set version-ipfix template template-name ipv6-template user@host# set version-ipfix template template-name mpls-template
-
(选答)为模板配置其他输出属性(如流超时间隔和模板/选项刷新率),以控制流记录。
您可以使用
template-refresh-rate
选项配置流生成器使用数据包数或秒数向流收集器发送有关模板定义的更新的频率。[edit services flow-monitoring] user@host# set version-ipfix template template-name flow-active-timeout seconds user@host# set version-ipfix template template-name flow-inactive-timeout seconds user@host# set version-ipfix template template-name template-refresh-rate (packets packets | seconds seconds) user@host# set version-ipfix template template-name option-refresh-rate (packets packets | seconds seconds)
- (选答)
如果要监控 MPLS 流,也就是说,如果正在使用的模板是为 MPLS 协议家族配置的,请使用
tunnel-observation
选项来识别 MPLS 流的类型。[edit services flow-monitoring] user@host# set version-ipfix template template-name tunnel-observation (ipv4 | ipv6 | mpls-over-udp)
-
(选答)启用下一跃点地址学习,以便报告真正的传出接口。
注意:从 Junos OS 演化版 21.2R1 版开始,建议不要启用下一跃点地址学习功能,因为这样会减少可处理的数据包数。但是,从 Junos OS 21.3R1 版开始,您可以将
nexthop-learning
语句配置为更改默认的无流行为,并再次创建和维护流,然后将模板附加到与需要先前行为的 FPC 关联的所有采样实例。[edit services flow-monitoring] user@host# set version-ipfix template template-name nexthop-learning enable
配置采样实例以指定输入属性
-
定义采样实例并配置要采样的数据包数比率。例如,如果指定速率 10,则每 10 个数据包(10 个数据包中有 1 个数据包)进行采样。
[edit forwarding-options sampling] user@host# set instance instance-name input rate number
最佳实践:建议对 MPLS 流使用 1000 或更高的值。
-
为采样实例配置协议族,并指定用于发送流量聚合的流收集器。
[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) flow-server hostname
-
(选答)指定流收集器的 UDP 端口以及要用于采样实例的模板。
[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) flow-server hostname port port-number user@host# set instance instance-name family (inet | inet6 | mpls) flow-server hostname version-ipfix template template-name
-
配置采样数据包的内联处理。
[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) output inline-jflow source-address address
将采样实例分配给 FPC
-
将采样实例分配给要实施流监控的 FPC。
[edit chassis] user@host# set fpc slot-number sampling-instance instance-name
配置防火墙过滤器以接受流和采样流
-
为协议家族配置防火墙过滤器,并启用流量采样。
[edit firewall] user@host# set family (inet | inet6 | mpls) filter filter-name user@host# set family (inet | inet6 | mpls) filter filter-name term term-name then accept user@host# set family (inet | inet6 | mpls) filter filter-name term term-name then sample
将防火墙过滤器分配给接口
-
将输入防火墙过滤器分配给您要监控的接口。
[edit interfaces] user@host# set interface-name unit unit-number family (inet |inet6 | mpls) filter input filter-name
示例配置的结果
以下是支持 on family inet
和 on family inet6
内联流监控的实例的采样配置示例:
[edit chassis] fpc 0 { sampling-instance sample-1; }
[edit services] flow-monitoring { version-ipfix { template test-template { flow-active-timeout 30; flow-inactive-timeout 60; nexthop-learning { enable; } template-refresh-rate { seconds 10; } ipv4-template; } template v6 { ipv6-template; } } }
[edit interfaces] et-1/0/0 { unit 0 { family inet { filter { input ipv4-filter; output ipv4-filter; } address 192.168.100.10/24; } } } et-1/0/2 { unit 0 { family inet6 { filter { input ipv6-filter; output ipv6-filter; } address 2001:db8:0:2::1/64; } } } lo0 { unit 0 { family inet { address 192.168.100.1/32; } } }
[edit forwarding-options] sampling { instance sample-1{ ipv4 { input { rate 10; } family inet { output { flow-server 10.208.174.127 { port 2055; version-ipfix { template { test-template; } } } inline-jflow { source-address 192.168.100.1; } } } family inet6 { output { flow-server 10.208.174.127 { port 2055; version-ipfix { template { v6; } } } inline-jflow { source-address 192.168.100.1; } } } } } }
[edit firewall] family inet { filter ipv4-filter { term ipv4-accept { then { accept; sample; } } } } family inet6 { filter ipv6-filter { term ipv6-accept { then { accept; sample; } } } }
您可以使用 show services 计费流 命令验证活动流统计信息。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。