了解在 MX 系列路由器或 NFX250 上以流监控格式记录的 NAT 事件日志记录
从 Junos OS 14.2R2 和 15.1R1 版开始,您可以将 MX 系列路由器配置为 MS-MPC 和 MS-MIC,以便使用 Junos Traffic Vision(以前称为 Jflow)版本 9 或 IPFIX(版本 10)模板格式记录网络地址转换 (NAT) 事件。从 Junos OS 19.3R2 版开始,您还可以将 MX 系列路由器配置为具有此功能的 MX-SPC3 服务卡。
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 格式的基本元素之一是模板 FlowSet。模板极大地增强了流记录格式的灵活性,因为它们允许收集器处理流记录,而不必知道流记录中所有数据的解释。
您可以配置将版本 9 的记录或日志消息以及为 NAT 事件生成的 IPFIX 流量格式传输到外部异机高速 NetFlow 收集器的功能,以便轻松有效地监控和诊断日志。默认情况下,此功能处于禁用状态。当 NAT 事件数量较多时,这种将日志导出到外部日志收集器的机制可能会导致扩展考虑,例如丢失一些流记录。要使机制能够以流监控格式记录 NAT 事件的日志记录消息,您现在可以在[edit services]层次结构级别包含该jflow-log语句。您可以配置一个收集器,该收集器是将流监控格式化日志发送到的外部主机,也可以配置一组收集器。如果要组合一组收集器设备,并定义用于记录群集或组中所有收集器的 NAT 事件的通用设置,则一组收集器会很有用。
要配置收集器及其参数(例如发送记录的源 IP 地址和收集器的目标地址),请在[edit services jflow-log]层次结构级别包含collector collector-name语句及其子语句。要指定收集器组或集群,请在[edit services jflow-log]层次结构级别包含语collector-group collector-group-name句及其子语句。
您需要配置模板配置文件并将其与收集器关联。配置文件定义流监控记录模板的特征,例如流监控的版本(版本 9 或 IPFIX)、刷新率(以数据包或秒为单位),以及必须将流记录发送到收集器的服务或应用程序类型(在本例中为 NAT)。要指定模板配置文件,请在[edit services jflow-log]层次结构级别包含语template-profile template-profile-name句。要指定每秒为 NAT 错误事件收集的最大消息数,请在[edit interfaces ms-interface-name service-options jflow-log]层次结构级别包含语message-rate-limit messages-per-second句。
使用版本 9 和 IPFIX,您可以定义适用于 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等方 AS 计费流量的流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器无需了解路由器配置。您必须为 NAT 服务定义模板配置文件属性,并将定义的模板配置文件与服务集相关联,以便为 NAT 事件启用流监控日志功能。要定义用于记录 NAT 事件的流监控日志的模板配置文件特征,请在[edit services jflow-log]层次结构级别包含该template-profile template-profile-name语句。要将用于记录 NAT 事件的流监控日志的模板配置文件与适用于系统中所有服务的服务集级别相关联,请在[edit services service-set service-set-name]层次结构级别包含语template-profile template-profile-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 ID 由互联网编号分配机构 (IANA) 在 IP 流信息导出 (IPFIX) 实体规范中定义。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
| 观察时间毫秒 |
64 |
323 |
| 源IPv4地址 |
32 |
8 |
| postNATSourceIPv4Address |
32 |
225 |
| protocolIdentifier |
8 |
4 |
| sourceTransportPort |
16 |
7 |
| postNAPTsourceTransportPort |
16 |
227 |
| destinationIPv4Address |
32 |
12 |
| postNATDestinationIPv4Address |
32 |
226 |
| 目的地TransportPort |
16 |
11 |
| postNAPTdestinationTransportPort |
16 |
228 |
| natOriginatingAddressRealm |
8 |
229 |
| natEvent |
8 |
230 |
| flowDuration毫秒 |
32 |
161 |
| 发起方数据包 |
64 |
298 |
| responderPackets |
64 |
299 |
| 流向 |
8 |
61 |
表 2 介绍了 NAT64 会话创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
| 观察时间毫秒 |
64 |
323 |
| 源IPv6地址 |
128 |
27 |
| postNATSourceIPv6Address |
32 |
225 |
| protocolIdentifier |
8 |
4 |
| sourceTransportPort |
16 |
7 |
| postNAPTsourceTransportPort |
16 |
227 |
| destinationIPv6Address |
128 |
28 |
| postNATDestinationIPv6Address |
32 |
226 |
| 目的地TransportPort |
16 |
11 |
| postNAPTdestinationTransportPort |
16 |
228 |
| natOriginatingAddressRealm |
8 |
229 |
| natEvent |
8 |
230 |
| flowDuration毫秒 |
32 |
161 |
| 发起方数据包 |
64 |
298 |
| responderPackets |
64 |
299 |
| 流向 |
8 |
61 |
表 3 介绍了 NAT44 绑定信息库 (BIB) 创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
源IPv4地址 |
32 |
8 |
postNATSourceIPv4Address |
32 |
225 |
protocolIdentifier |
8 |
4 |
sourceTransportPort |
16 |
7 |
postNAPTsourceTransportPort |
16 |
227 |
natEvent |
8 |
230 |
表 4 介绍了 NAT64 绑定信息库 (BIB) 创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
源IPv6地址 |
128 |
27 |
postNATSourceIPv6Address |
32 |
225 |
protocolIdentifier |
8 |
4 |
sourceTransportPort |
16 |
7 |
postNAPTsourceTransportPort |
16 |
227 |
natEvent |
8 |
230 |
表 5 描述了地址耗尽事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
natPoolName |
512 |
284 |
表 6 介绍了端口耗尽事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
postNATSourceIPv4Address |
32 |
225 |
protocolIdentifier |
8 |
4 |
表 7 介绍了 NAT44 超配额事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
源IPv4地址 |
32 |
8 |
表 8 介绍了 NAT64 配额超限事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
源IPv6地址 |
128 |
27 |
表 9 介绍了 NAT44 地址绑定创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
源IPv4地址 |
32 |
8 |
postNATSourceIPv4Address |
32 |
225 |
表 10 介绍了 NAT64 地址绑定创建和删除事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
natEvent |
8 |
230 |
源IPv6地址 |
128 |
27 |
postNATSourceIPv4Address |
32 |
225 |
表 11 介绍了 NAT44 端口块分配和解除分配事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
源IPv4地址 |
32 |
8 |
postNATSourceIPv4Address |
32 |
225 |
端口RangeStart |
16 |
361 |
端口RangeEnd |
16 |
362 |
端口RangeStepSize |
16 |
363 |
端口RangeNumPorts |
16 |
364 |
observationTimeMilliseconds(PBA 分配时间)
注意:
使用 MX-SPC3 服务卡时,流模板中不包含此 IE。 |
64 |
323 |
natEvent |
8 |
230 |
表 12 介绍了 NAT64 端口块分配和解除分配事件的流模板格式。
信息元素 (IE) |
大小(位) |
IANA ID |
|---|---|---|
观察时间毫秒 |
64 |
323 |
源IPv6地址 |
128 |
27 |
postNATSourceIPv4Address |
32 |
225 |
端口RangeStart |
16 |
361 |
端口RangeEnd |
16 |
362 |
端口RangeStepSize |
16 |
363 |
端口RangeNumPorts |
16 |
364 |
observationTimeMilliseconds(配置端口块分配 (PBA) 的时间)
注意:
使用 MX-SPC3 服务卡时,流模板中不包含此 IE。 |
64 |
323 |
natEvent |
8 |
230 |
在上述所有模板中,natEvent 字段映射到 表 13 中列出的值之一,具体取决于事件的类型。
natEvent 值 |
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 端口块处于活动状态 |
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。