配置内联 J 流以使用 MX、vMX 和 T Series 路由器、EX 系列交换机、NFX 系列 设备和 SRX 设备的 IPFIX 流模板
使用 IPFIX 可定义适合 IPv4 流量或 IPv6 流量的流量记录模板。模板会定期传输到收集器,收集器不会影响路由器配置。您可定义模板刷新速率、流活动超时和无效超时。
如果要发送多个协议家族的流记录(例如 IPv4 和 IPv6),则每个协议家族流都有一个唯一的观察域 ID。以下各节包含更多信息:
从Junos OS版本17.3R1,IPFIX 流模板在交换机QFX10002支持。
从 Junos OS 版本17.4R1开始,ipFIX 流模板在 QFX10008 和 QFX10016 交换机上受支持。
从 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,IPFIX 流模板NFX150新一NFX250和 NFX350 设备中受支持。
配置 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
。在模板定义中,您可以选择包括 和 语句
flow-active-timeout
flow-inactive-timeout
的值。在模板定义中使用这些语句时,这些语句具有特定的默认值和范围值;默认值为 60 秒,范围为 10 到 600 秒。您还可以在模板定义中包括
option-refresh-rate
和template-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。
所有路由器均支持此功能来配置模板 ID、选项模板 ID、观察域 ID 和源 ID。
相应的数据集和选项数据集在集 ID 字段中分别包含模板 ID 和选项模板 ID 的值。此方法使收集器能够将数据记录与模板记录进行匹配。
有关指定版本 9 和 IPFIX 流的源 ID、观察域 ID、模板 ID 和选项模板 ID 的详细信息,请参阅 为版本 9 和 IPFIX 流配置观察域 ID 和源 ID 和配置模板 ID 和选项 版本 9 和 IPFIX 流的模板 ID 。
IPv4 模板中包含的字段
IPv4 源地址
IPv4 目标地址
IPv4 ToS
IPv4 协议
L4 源端口
L4 目标端口
ICMP 类型和代码
输入接口
VLAN ID
IPv4 源掩码
IPv4 目标掩码
源AS
目标AS
IPv4 下一跃点地址
TCP 标志
输出接口
流字节数
流数据包数
最低 TTL(活动时间)
最大 TTL(活动时间)
流启动时间
流结束时间
流结束原因
IPv6 模板中包含的字段
IPv6 源地址
IPv6 目标地址
IPv6 ToS
IPv6 协议
L4 源端口
L4 目标端口
ICMP 类型和代码
输入接口
VLAN ID
802.1Q VLAN 标识符(dot1qVlanId)
802.1Q 客户 VLAN 标识符(dot1qCustomerVlanId)
IPv6 源掩码
IPv6 目标掩码
源AS
目标AS
IPv6 下一跃点地址
TCP 标志
输出接口
流字节数
流数据包数
最小跳跃限制
最大跳跃限制
流启动时间
流结束时间
流结束原因
分片识别(从Junos OS 14.2 版开始)
IPv6 扩展标头(从 14.2 Junos OS版本开始)
SRX 实施中的 IPv4 模板中包含的字段
-
IPv4 源地址
-
IPv4 目标地址
-
IPv4 ToS
-
IPv4 协议
-
L4 源端口
-
L4 目标端口
-
ICMP 类型和代码
-
输入接口
-
IPv4 源掩码
-
IPv4 目标掩码
-
源AS
-
目标AS
-
BGP下一跳跃地址
-
TCP 标志
-
输出接口
-
IPv4 下一跃点地址
-
流字节数
-
流数据包数
-
流启动时间
-
流结束时间
-
IP 协议版本
SRX 实施中的 IPv6 模板中包含的字段
-
IPv6 源地址
-
IPv6 目标地址
-
IPv6 ToS
-
IPv6 协议
-
L4 源端口
-
L4 目标端口
-
ICMP 类型和代码
-
输入接口
-
IPv6 源掩码
-
IPv6 目标掩码
-
源AS
-
目标AS
-
TCP 标志
-
输出接口
-
IPv6 下一跃点地址
-
流字节数
-
流数据包数
-
流启动时间
-
流结束时间
-
IP 协议版本
验证
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; } } } } } } }
示例:配置内联 J 流版本 9 流模板和流采样
以下示例显示内联 J-Flow 版本 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; } } } }
以下示例显示内联 J-Flow 版本 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; } } } }
以下示例显示内联 J-Flow 版本 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; } } } } } } }
以下示例显示内联 J-Flow 版本 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; } } } } } } }
以下示例显示内联 J-Flow 版本 9 采样接口绑定(使用接口):
interfaces { ge-0/0/0 { unit 0 { family inet { // 'inet6' for IPv6 protocol sampling { input; output; } } } }
以下示例显示内联 J-Flow 版本 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; } } } } } } }