在 MX、M 和 T Series 路由器以及 NFX250 上配置流聚合以使用版本 5 或版本 8 cflowd
要启用 cflowd 版本 5 或版本 8 流格式的集合,请包含以下 flow-server 语句:
flow-server hostname { aggregation { autonomous-system; destination-prefix; protocol-port; source-destination-prefix { caida-compliant; } source-prefix; } autonomous-system-type (origin | peer); (local-dump | no-local-dump); port port-number; version format; }
您可以在以下层级包含此语句:
[edit forwarding-options sampling family (inet | inet6 | mpls) output][edit forwarding-options sampling instance instance-name output][edit forwarding-options accounting name output cflowd hostname]
您必须在监控接口上的逻辑接口unit 0上配置family inet语句,如以下示例所示:
[edit interfaces]
sp-3/0/0 {
unit 0 {
family inet {
...
}
}
}
监控服务接口的启动映像在层次结构级别上指定 [edit chassis images pic] 。您必须通过包括以下配置来启用 NTP 客户端才能使 cflowd 功能可作:
[edit system] ntp { boot-server ntp.example.com; server 172.17.28.5; } processes { ntp enable; }
您还可以通过在[edit forwarding-options monitoring name family inet output]层次结构级别包含cflowd语句,为流监视应用程序配置 cflowd 版本 5:
cflowd hostname { port port-number; }
以下限制适用于 cflowd 流格式:
在
[edit forwarding-options accounting name output]层次结构级别上,您最多可以配置一种版本 5 和一种版本 8 流格式。通过包含
flow-server语句,您可以在[edit forwarding-options sampling family (inet | inet6 | mpls) output]层次结构级别为基于路由引擎的采样配置最多八个版本 5 或一个版本 8 流格式。相比之下,基于 PIC 的采样允许您同时指定一个 cflowd 版本 5 服务器和一个版本 8 服务器。但是,两个 cflowd 服务器必须具有不同的 IP 地址。您最多可以在层级配置八种
[edit forwarding-options monitoring name output]版本 5 流格式。流监控应用程序不支持版本 8 的流格式和聚合。未对出站路由引擎流量进行采样。防火墙过滤器将作为出口接口的输出应用,用于对数据包进行采样并导出数据。对于传输流量,出口采样工作正常。对于内部流量,下一跃点安装在数据包转发引擎中,但不会导出采样数据包。
只有在路由记录重新同步作完成后(即 PIC 启动后 60 秒),才会在监控 PIC 上创建流。发送到 PIC 的任何数据包都将被丢弃,直到同步过程完成。
该配置包括一个专有的 v5 扩展模板,用于支持流记录中的 4 字节 AS 信息。其模板版本设置为 500,表示它是专有的。所有其他字段保持不变;源 AS 和目标 AS 的长度各为 4 个字节,而非传统 v5 模板中的 2 个字节。此选项在
[edit forwarding-options sampling family inet output flow-server server-name version]层次结构级别上可用。
在 cflowd 语句中,指定收集流聚合的主机的名称或标识符。还必须在主机和版本上包含用户数据报协议 (UDP) 端口号,这将提供导出的 cflowd 聚合的格式。要在导出之前在日志文件中收集 cflowd 记录,请包含语 local-dump 句。
您可以在同一配置中同时指定主机 (cflowd) 采样和端口镜像;但是,任何时候都只有一个作生效。端口镜像优先。有关更多信息,请参阅 在 M、T、MX、ACX 和 PTX 系列路由器上配置端口镜像。
仅对于 cflowd 版本 8,您可以通过包含 aggregation 语句来指定特定类型流量的聚合。这使得 cflowd 能够导出目标流而不是所有聚合流量,从而节省内存和带宽。要指定流类型,请包含以下 aggregation 语句:
aggregation { autonomous-system; destination-prefix; protocol-port; source-destination-prefix { caida-compliant; } source-prefix; }
您可以在以下层级包含此语句:
[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server hostname][edit forwarding-options accounting name output cflowd hostname]
该 autonomous-system 语句按 AS 编号配置聚合;此语句可能需要将单独的 cflowd autonomous-system-type 语句设置为包含 origin 或 peer AS 编号。该 origin 选项指定在源自治系统 cflowd 字段中使用数据包源地址的源 AS。该 peer 选项指定使用对等 AS,数据包通过该 AS 在源自治系统 cflowd 字段中传递。默认情况下,cflowd 导出源 AS 编号。
该 destination-prefix 语句仅按目标前缀配置聚合。
该 protocol-port 语句按协议和端口号配置聚合;需要设置单独的 cflowd port 语句。
该 source-destination-prefix 语句按源前缀和目标前缀配置聚合。根据 1999 年 8 月 30 日发布的 CAIDA cflowd 配置指南,CAIDA 的 cflowd 应用程序的 2.1b1 版未记录源和目标掩码长度值。如果配置该 caida-compliant 语句,则 Junos OS 符合 cflowd 的 2.1b1 版。如果配置中未包含该 caida-compliant 语句,则 Junos OS 将根据 cflowd 配置指南记录源和目标掩码长度值。
该 source-prefix 语句仅按源前缀配置聚合。
本地 ASCII 文件中的采样数据包集合不受该 cflowd 语句的影响。
以下命令可在 set forwarding options sampling 层次结构级别启用基于路由引擎和 PIC 的采样:
set input rate rateset input run-length lengthset family inet output flow-server flowcollector port udp portset family inet output flow-server flowcollector no-local-dumpset family inet output flow-server flowcollector version <5/8>
以下命令可在 set interfaces 层次结构级别启用基于路由引擎和 PIC 的采样:
interface to be sampled 单元 unit 系列 inet 过滤器 input/output filtername
以下命令可在 set firewall family 层次结构级别启用基于路由引擎和 PIC 的采样:
set inet filter filtername term 1 then count filternameingset inet filter filtername term 1 then sampleset inet filter filtername term 1 then accept
以下命令在 set forwarding options sampling 层次结构级别启用基于 PIC 的采样:
set family inet output interface sp-*/*/* source address source address
以下示例显示了使用版本 5 的基于 PIC 的流聚合配置:
family inet {
output {
flow-inactive-timeout 15;
flow-active-timeout 60;
flow-server 203.0.113.165 {
port 9996;
version 5;
}
interface sp-2/2/0 {
engine-id 4;
source-address 203.0.113.126;
}
}
以下示例显示了使用版本 5 的基于路由引擎的流聚合配置:
family inet {
output {
flow-inactive-timeout 15;
flow-active-timeout 60;
flow-server 203.0.113.165 {
port 9996;
source-address 203.0.113.126;
version 5;
}
}