将内联主动流监控配置为在 MX、vMX 和 T 系列路由器、EX 系列交换机、NFX 系列设备和 SRX 设备上使用 IPFIX 流模板
使用 IPFIX 允许您定义适合 IPv4 流量或 IPv6 流量的流记录模板。模板会定期传输到收集器,收集器不会影响路由器配置。您可以定义模板刷新速率、流活动超时和非活动超时。
如果为多个协议家族(例如,IPv4 和 IPv6)发送流记录,则每个协议家族流都有一个唯一的观察域 ID。以下部分包含更多信息:
从 Junos OS 17.3R1 版开始,QFX10002 交换机支持 IPFIX 流模板。
从 Junos OS 17.4R1 版开始,QFX10008 和 QFX10016 交换机支持 IPFIX 流模板。
从 Junos OS 19.4R1 版开始,SRX4100、SRX4200、SRX4600、SRX5400、SRX5600、SRX5800、vSRX 和 vSRX3.0 设备支持 IPFIX 流模板。
从 Junos OS 20.1R1 版开始,SRX300、SRX320、SRX340、SRX345 和 SRX550HM 设备支持 IPFIX 流模板。
从 Junos OS 20.4R1 版开始,NFX150、NFX250 NextGen 和 NFX350 设备支持 IPFIX 流模板。
配置 IPFIX 模板属性
要定义 IPFIX 模板,请将以下语句包含在 [edit services flow-monitoring version-ipfix]
层次结构级别:
[edit services flow-monitoring version-ipfix] template template-name { options-template-id template-id observation-domain-id flow-active-timeout seconds; flow-inactive-timeout seconds; option-refresh-rate packets packets seconds seconds; template-refresh-rate packets packets seconds seconds; (ipv4-template | ipv6-template); }
以下详细信息适用于配置语句:
-
通过包含
template template-name
语句,您可以为每个模板分配一个唯一名称。 -
然后,您可以通过包括
ipv4-template
或ipv6-template
来为相应流量类型指定每个模板。 -
在模板定义中,您可以选择包括 and
flow-inactive-timeout
语句的值flow-active-timeout
。这些语句在模板定义中使用时具有特定的默认值和范围值;默认为 60 秒,范围为 10 到 600 秒。 -
您还可以在
option-refresh-rate
模板定义中包含 andtemplate-refresh-rate
语句的设置。对于这两个属性,您可以包括一个计时器值(以秒为单位)或一个数据包计数(以数据包数为单位)。seconds
对于选项,默认值为 600,范围从 10 到 600。packets
对于选项,默认值为 4800,范围为 1 到 480,000。 -
要过滤媒体接口上的 IPv6 流量,支持以下配置:
interfaces interface-name { unit 0 { family inet6 { sampling { input; output; } } } }
限制
以下限制适用于 IPFIX 模板:
-
不采样出站路由引擎流量。防火墙过滤器作为出口接口上的输出应用,用于对数据包进行采样并导出数据。对于传输流量,出口采样工作正常。对于内部流量,下一跃点安装在数据包转发引擎中,但不导出取样数据包。
-
只有在路由记录重新同步操作完成(这需要 120 秒)之后,才会创建流。
-
创建新的流记录时,VLAN ID 字段会更新,因此,创建记录后,VLAN ID 中的任何更改都可能不会在记录中更新。
自定义 IPFIX 流模板的模板 ID、观察域 ID 和源 ID
从 Junos OS 14.1 版开始,您可以定义一个适用于 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等 AS 计费流量的 IPFIX 流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器无需知道路由器配置。您可以为版本 9 和 IPFIX 模板指定唯一标识符。在传输会话和观察域中,模板的标识符在本地是唯一的。模板 ID 0 到 255 保留用于模板集、选项模板集和其他集,供将来使用。数据集的模板编号为 256 到 65535。通常,模板中的此信息元素或字段用于定义模板中其他信息元素的特征或属性。执行模板导出过程重新启动后,可以重新分配模板 ID。
所有具有 MPC 的路由器均支持此功能,用于配置模板 ID、选项模板 ID、观察域 ID 和源 ID。
相应的数据集和选项数据集分别在 set ID 字段中包含模板 ID 和选项模板 ID 的值。此方法使收集器能够将数据记录与模板记录匹配。
有关为版本 9 和 IPFIX 流指定源 ID、观察域 ID、模板 ID 和选项模板 ID 的详细信息,请参阅 为版本 9 和 IPFIX 流配置观察域 ID 和源 ID 以及 为版本 9 和 IPFIX 流配置模板 ID 和选项模板 ID。
IPFIX 模板
有关 IPFIX IPv4 和 IPv6 模板中包含的字段定义的信息,请参阅 IPFIX 和版本 9 模板。
验证
IPFIX 支持以下 show 命令:
-
show services accounting flow inline-jflow fpc-slot fpc-slot
-
show services accounting errors inline-jflow fpc-slot fpc-slot
-
show services accounting status inline-jflow fpc-slot fpc-slot
示例:配置 IPFIX 流模板和流采样
以下示例显示了 IPFIX 模板配置:
services { flow-monitoring { version-ipfix { template ipv4 { flow-active-timeout 60; flow-inactive-timeout 70; template-refresh-rate seconds 30; option-refresh-rate seconds 30; ipv4-template; } } } }
chassis; fpc 0 { sampling-instance s1; }
以下示例应用 IPFIX 模板以启用计费流量采样:
forwarding-options { sampling { instance { s1 { input { rate 10; } family inet { output { flow-server 192.0.2.2 { port 2055; version-ipfix { template { ipv4; } } } inline-jflow { source-address 198.51.100.1; } } } } } } }
示例:配置内联主动流监控版本 9 流模板和流采样
以下示例显示了内联活动流监控版本 9 IPv4 模板配置:
services { flow-monitoring { version9 { template ipv4-v9 { flow-active-timeout 60; flow-inactive-timeout 15; template-refresh-rate { packets 1000; } option-refresh-rate { seconds 100; } ipv4-template; } } } }
以下示例显示了内联活动流监控版本 9 IPv6 模板配置:
services { flow-monitoring { version9 { template ipv6-v9 { flow-active-timeout 60; flow-inactive-timeout 15; template-refresh-rate { packets 1000; } option-refresh-rate { seconds 100; } Ipv6-template; } } } }
以下示例显示了内联主动流监控版本 9 IPv4 采样流量和导出配置:
forwarding-options { sampling { traceoptions { file testsample size 1g world-readable; flag all; } instance { sample-ins1 { input { rate 1; run-length 0; } family inet { output { flow-server 10.207.18.113 { port 2055; version9 { template { ipv4-v9; } } } inline-jflow { source-address 10.207.18.232; flow-export-rate 2; } } } } } } }
以下示例显示了内联活动流监控版本 9 IPv6 采样流量和导出配置:
forwarding-options { sampling { traceoptions { file testsample size 1g world-readable; flag all; } instance { sample-ins1 { input { rate 1; run-length 0; } family inet { output { flow-server 2001::2 { port 4739; version9 { template { ipv6-v9; } } } inline-jflow { source-address 2001::1; flow-export-rate 2; } } } } } } }
以下示例显示了内联活动流监控版本 9 采样接口绑定(使用接口):
interfaces { ge-0/0/0 { unit 0 { family inet { // 'inet6' for IPv6 protocol sampling { input; output; } } } }
以下示例显示了与防火墙过滤器(使用过滤器)的内联活动流监控版本 9 采样接口绑定:
firewall { family inet { // 'inet6' for IPv6 protocol filter ipv4_sample { term default { then { accept; sample; } } } }
示例:配置 IPFIX 流模板和流采样
以下示例显示了 IPFIX IPv4 模板配置:
flow-monitoring { version-ipfix { template ipv4-ipfix { flow-active-timeout 60; flow-inactive-timeout 60; template-refresh-rate { packets 1000; seconds 30; } option-refresh-rate { packets 500; seconds 60; } ipv4-template; } } }
以下示例显示了 IPFIX IPv6 模板配置:
flow-monitoring { version-ipfix { template ipv6-ipfix { flow-active-timeout 60; flow-inactive-timeout 60; template-refresh-rate { packets 1000; seconds 30; } option-refresh-rate { packets 500; seconds 60; } Ipv6-template; } } }
以下示例显示了 IPFIX IPv4 采样流量和导出配置:
forwarding-options { sampling { traceoptions { file testsample size 1g world-readable; flag all; } instance { sample-ins1 { input { rate 1; run-length 0; } family inet { output { flow-server 10.207.18.113 { port 4739; version-ipfix { template { ipv4-ipfix; } } } inline-jflow { source-address 10.207.18.232; flow-export-rate 2; } } } } } } }
以下示例显示了 IPFIX IPv6 采样流量和导出配置:
forwarding-options { sampling { traceoptions { file testsample size 1g world-readable; flag all; } instance { sample-ins1 { input { rate 1; run-length 0; } family inet { output { flow-server 2001::2 { port 4739; version9 { template { ipv6-ipfix; } } } inline-jflow { source-address 2001::1; flow-export-rate 2; } } } } } } }