了解 MX 系列路由器或 NFX250 上的流监控格式的 NAT 事件日志记录
从 Junos OS 14.2R2 和 15.1R1 版开始,您可以配置具有 MS-MPC 和 MS-MIC 的 MX 系列路由器,以使用 Junos Traffic Vision(以前称为 Jflow)版本 9 或 IPFIX(版本 10)模板格式记录网络地址转换 (NAT) 事件。从 Junos OS 19.3R2 版开始,您还可以使用 MX-SPC3 服务卡配置 MX 系列路由器。
NAT 事件记录器会为各种 NAT 事件生成流监控格式的消息,例如创建 NAT 条目、删除 NAT 条目以及无效 NAT 处理(如 NAT 地址池或为分配用完的地址值)。这些事件还支持 NAT64 转换(将 IPv6 地址转换到 IPv4 地址)、绑定信息库 (BIB) 事件,以及更详细的错误生成。以流模板格式生成的 NAT 事件的记录或日志将从 MS-MIC、MS-MPC 或 MX-SPC3 发送到用作 NetFlow 收集器的指定主机或外部设备。这种为 NAT 事件生成流监控记录的方法可对 NAT 流量进行统一且简化的分析,并排除 NAT 相关问题的故障。您可以启用此功能,将 NAT 操作的流监控记录发送到外部收集器,并可以使用系统日志记录协议 (syslog) 同时为不同服务生成会话日志记录。
流记录和模板封装在 UDP 或 IP 数据包中,并发送至收集器。但是,不支持基于 TCP 的 NAT 事件监控记录日志记录。需要运营商级 NAT (CGN) 设备来记录事件创建和删除转换以及有关其管理资源的信息。除了系统日志记录 (syslog) 功能外,还可以选择在网络拓扑中配置流监控日志,该功能可将日志从 PIC 保存到路由引擎(本地) /var/log 目录中或外部服务器(远程)。通常,流收集器是包含多个第三方设备的庞大网络基础架构的组成部分,这些设备与其他数据库日志执行各种关联和映射。因此,对于作为收集器运行的主机或设备上,将 NAT 相关的流监控记录作为日志或模板记录收集在一起,这一点十分有用。您可以在服务集级别为 NAT 事件启用流监控记录日志记录,以便当在路由器上配置 NAT 时,将版本 9 或 IPFIX 流记录生成为日志。
NetFlow 收集器从一个或多个导出器接收版本 9 或 IPFIX 格式的流记录。它通过解析并保存流记录详细信息来处理收到的导出数据包。流记录在存储到硬盘上之前,可以选择进行聚合。NetFlow 收集器也称为收集器。导出器会监控进入观察点的数据包,并从这些数据包创建流量。来自这些流的信息会以流记录的形式导出到 NetFlow 收集器。观察点是网络中可以监督和监控 IP 数据包的位置;例如,路由器等网络设备上的一个或多个接口每个观察点都与一个观察域相关联,观察域是一组观察点,构成启用 NetFlow 服务的网络设备上最大的可聚合流信息集。
FlowSet 是一个通用术语,用于表示具有类似模式或格式的流记录集合。在导出数据包中,一个或多个 FlowSet 跟随数据包标头。模板流集由一个或多个模板记录组成,这些记录组合在一个导出数据包中。选项模板流集包含一个或多个选项模板记录,这些记录组合在一个导出数据包中。数据流集是一个或多个类型相同的记录,它们组合在一个导出数据包中。每个记录要么是流数据记录,要么是之前由模板记录或选项模板记录指定的选项数据记录。采用 NetFlow 格式的基本元素之一是模板流集。模板极大地提高了流记录格式的灵活性,因为它们允许收集器处理流记录,而无需知道流记录中所有数据的解释。
您可以配置此功能,以版本 9 和为 NAT 事件生成的 IPFIX 流量格式将记录或日志消息传输到外部的异机高速 NetFlow 收集器,以便轻松有效地监控和诊断日志。默认情况下,此功能处于禁用状态。由于 NAT 事件数量很大,这种将日志导出到外部日志收集器的机制可能会导致扩展考虑,例如丢失几个流记录。要启用以 NAT 事件的流监控格式记录日志记录消息的机制,现在可以在[edit services]
层次结构级别包含语句jflow-log
。您可以配置一个收集器(流监控格式化日志发送到的外部主机),或者一组收集器。在您希望组合一组收集器设备并定义通用设置来为群集或组中的所有收集器记录 NAT 事件时,一组收集器很有用。
要配置收集器及其参数(例如,发送记录的源 IP 地址和收集器的目标地址),请在 collector collector-name
层次结构级别中包含语句及其子语句 [edit services jflow-log]
。要指定收集器组或群集,请在 collector-group collector-group-name
层次结构级别添加语句及其子语句 [edit services jflow-log]
。
您需要配置模板配置文件并将其与收集器相关联。此配置文件定义了流监控记录模板的特征,例如流监控的版本(版本 9 或 IPFIX)、刷新率(以数据包或秒为单位)以及必须将其发送到收集器的服务或应用程序类型(本案例中为 NAT)。要指定模板配置文件,请在 template-profile template-profile-name
层级添加语句 [edit services jflow-log]
。要指定每秒要收集的最大 NAT 错误事件消息数,请在 message-rate-limit messages-per-second
层次结构级别包含语句 [edit interfaces ms-interface-name service-options jflow-log]
。
使用版本 9 和 IPFIX 允许您定义适合 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等 AS 计费流量的流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器无需知道路由器配置。您必须为 NAT 服务定义模板配置文件属性,并将定义的模板配置文件与服务集相关联,以便为 NAT 事件启用流监控日志功能。要定义用于记录 NAT 事件的流监控日志的模板配置文件特征,请将语句template-profile template-profile-name
包含在[edit services jflow-log]
层次结构级别。为了将用于记录 NAT 事件的流监控日志的模板配置文件与适用于系统所有服务的服务集级别关联,请将语句template-profile template-profile-name
[edit services service-set service-set-name]
包含在层次结构级别。
要查看有关系统上配置的接口和服务集的流监控格式生成的日志的统计信息,请使用 show services service-sets statistics jflow-log
命令。
使用系统日志记录 (syslog) 功能记录各种 NAT 事件的以下系统日志消息:
JSERVICES_SESSION_OPEN
JSERVICES_SESSION_CLOSE
JSERVICES_NAT_OUTOF_ADDRESSES
JSERVICES_NAT_OUTOF_PORTS
JSERVICES_NAT_RULE_MATCH
JSERVICES_NAT_POOL_RELEASE
JSERVICES_NAT_PORT_BLOCK_ALLOC
JSERVICES_NAT_PORT_BLOCK_RELEASE
JSERVICES_NAT_PORT_BLOCK_ACTIVE
将使用版本 9 和 IPFIX 流模板使用流监控日志功能记录以下 NAT 事件:
NAT44 会话创建
NAT44 会话删除
用尽的 NAT 地址
NAT64 会话创建
NAT64 会话删除
NAT44 BIB 创建
NAT44 删除 BIB
NAT64 BIB 创建
NAT64 BIB 删除
NAT 端口耗尽
超过 NAT 配额
NAT 地址绑定创建
NAT 地址绑定删除
NAT 端口块分配
NAT 端口块释放
NAT 端口块活动
表 1 介绍了 NAT44 会话创建和删除事件的流模板格式。信息元素 (IE) 名称及其 IANA 编号按照互联网分配编号机构 (IANA) 的 IP 流信息导出 (IPFIX) 实体规范中定义。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv4地址 |
32 |
8 |
后NAT源IPv4地址 |
32 |
225 |
协议增强器 |
8 |
4 |
源传输端口 |
16 |
7 |
postNAPTsourceTransport |
16 |
227 |
目标 IPv4 地址 |
32 |
12 |
后NAT部署IPv4地址 |
32 |
226 |
目标传输端口 |
16 |
11 |
postNAPTestinationTransportPort |
16 |
228 |
NatOriginatingAddressRealm |
8 |
229 |
natEvent |
8 |
230 |
流路由小数 |
32 |
161 |
发起方数据包 |
64 |
298 |
响应程序数据包 |
64 |
299 |
流向 |
8 |
61 |
表 2 介绍了 NAT64 会话创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv6 地址 |
128 |
27 |
后NAT源IPv6地址 |
32 |
225 |
协议增强器 |
8 |
4 |
源传输端口 |
16 |
7 |
postNAPTsourceTransport |
16 |
227 |
目标 IPv6 地址 |
128 |
28 |
后NAT部署IPv6地址 |
32 |
226 |
目标传输端口 |
16 |
11 |
postNAPTestinationTransportPort |
16 |
228 |
NatOriginatingAddressRealm |
8 |
229 |
natEvent |
8 |
230 |
流路由小数 |
32 |
161 |
发起方数据包 |
64 |
298 |
响应程序数据包 |
64 |
299 |
流向 |
8 |
61 |
表 3 介绍了 NAT44 绑定信息库 (BIB) 创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv4地址 |
32 |
8 |
后NAT源IPv4地址 |
32 |
225 |
协议增强器 |
8 |
4 |
源传输端口 |
16 |
7 |
postNAPTsourceTransport |
16 |
227 |
natEvent |
8 |
230 |
表 4 介绍了 NAT64 绑定信息库 (BIB) 创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv6 地址 |
128 |
27 |
后NAT源IPv6地址 |
32 |
225 |
协议增强器 |
8 |
4 |
源传输端口 |
16 |
7 |
postNAPTsourceTransport |
16 |
227 |
natEvent |
8 |
230 |
表 5 介绍了地址耗尽事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
natPool 名称 |
512 |
284 |
表 6 介绍了端口耗尽事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
后NAT源IPv4地址 |
32 |
225 |
协议增强器 |
8 |
4 |
表 7 介绍了 NAT44 配额超过事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
sourceIPv4地址 |
32 |
8 |
表 8 介绍了 NAT64 配额超过事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
sourceIPv6 地址 |
128 |
27 |
表 9 介绍了 NAT44 地址绑定创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
sourceIPv4地址 |
32 |
8 |
后NAT源IPv4地址 |
32 |
225 |
表 10 介绍了 NAT64 地址绑定创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
natEvent |
8 |
230 |
sourceIPv6 地址 |
128 |
27 |
后NAT源IPv4地址 |
32 |
225 |
表 11 介绍了 NAT44 端口块分配和解除分配事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv4地址 |
32 |
8 |
后NAT源IPv4地址 |
32 |
225 |
端口RangeStart |
16 |
361 |
端口RangeEnd |
16 |
362 |
端口RangeStepSize |
16 |
363 |
端口RangeNumPorts |
16 |
364 |
观察时间(分配 PBA 的时间)
注意:
使用 MX-SPC3 服务卡时,流模板中不包含此 IE。 |
64 |
323 |
natEvent |
8 |
230 |
表 12 介绍了 NAT64 端口块分配和解除分配事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
---|---|---|
观察时间 |
64 |
323 |
sourceIPv6 地址 |
128 |
27 |
后NAT源IPv4地址 |
32 |
225 |
端口RangeStart |
16 |
361 |
端口RangeEnd |
16 |
362 |
端口RangeStepSize |
16 |
363 |
端口RangeNumPorts |
16 |
364 |
观察时间米数(配置端口块分配 (PBA) 的时间)
注意:
使用 MX-SPC3 服务卡时,流模板中不包含此 IE。 |
64 |
323 |
natEvent |
8 |
230 |
在上述所有模板中,natEvent 字段会映射到 表 13 中列出的其中一个值,具体取决于事件类型。
nat 事件价值 |
natEvent 名称 |
---|---|
1 |
NAT44 会话创建 |
2 |
NAT44 会话删除 |
3 |
NAT 地址用尽 |
4 |
NAT64 会话创建 |
5 |
NAT64 会话删除 |
6 |
NAT44 BIB 创建 |
7 |
NAT44 删除 BIB |
8 |
NAT64 BIB 创建 |
9 |
NAT64 BIB 删除 |
10 |
NAT 端口耗尽 |
11 |
超过 NAT 配额 |
12 |
NAT 地址绑定创建 |
13 |
NAT 地址绑定删除 |
14 |
NAT 端口块分配 |
15 |
NAT 端口块释放 |
16 |
NAT 端口块活动 |