在此页面上
用户定义的元数据
用户定义的元数据扩充
IP 地址扩充模块
IP 地址扩充模块提供 IP 地址的补充信息,例如主机名、自治系统、地理位置、信誉和用户定义的元数据。缓存此信息以提高性能和流记录吞吐量。为了更好地控制何时应用扩充,您可以按 CIDR、IP 范围或单个 IP 地址包含或排除各种扩充器的 IP 地址。
例如:
# Specify whether the IP/CIDR/Range is considered to be "internal".
192.0.2.0/24:
internal: true
# Additional options are name, vlan, tags and metadata.
192.0.2.192/26:
name: atlanta_guest_wifi
vlan: 1001
tags:
- wifi
- dhcp
metadata:
dhcp.pool.name: atlanta_guest_wifi
.site.id: atlanta
# Metadata fields beginning with a . will be organized under the object containing the IP address.
192.0.2.194-192.0.2.198:
metadata:
.site.bldg.id: hq
.site.floor.id: 2
.site.rack.id: 1
# An individual IP address.
192.0.2.194:
metadata:
device.type.name: wifi_ap
元数据类型(IP 地址)
用户定义的元数据扩充器支持预定义元数据类型的组合,使您能够以键值对的形式提供自定义数据。 表 1 介绍了可用于 IP 地址的元数据类型。
| 属性 | 数据类型 | 字段填充 | 说明 |
|---|---|---|---|
internal |
布尔 | <object>.isInternal |
指定 IP 是否属于被视为 内部的网络。 |
name |
字符串 | <object>.ip.subnet.name |
为此子网指定的名称。 |
vlan |
编号 (0-4094) | <object>.vlan.tag.id |
VLAN ID。 |
tags |
字符串数组 | <object>.ip.subnet.tags |
描述子网或 IP 地址属性的标记。 |
metadata |
属性序列 | <object><attribute> 或 <attribute> |
在 IP 对象或记录级别添加的键值对。 |
详细的属性说明
-
internal:用于指定 CIDR、范围或 IP 地址是 内部 还是 外部的布尔属性。这与 IP 地址是在专用 IP 范围内还是在公共 IP 范围内不同。某些专用 IP 地址被视为 外部地址,例如 DMZ 中使用的 IP。同样,如果将某些公共 IP 分配给组织运营的资源,并且通常限制访问,则这些 IP 仍被视为 内部 IP。
-
name:字符串属性,用于为与用户或组织相关的子网提供用户友好名称。注意:对于给定 IP 地址,仅返回单个
name值。确保重叠的 CIDR、范围和 IP 地址之间没有冲突的名称。如果必须分配多个值,请将这些值添加到属性中tags。 -
vlan:允许您为 CIDR、范围或 IP 地址指定 VLAN 标记。此标记通常分配给源和目标以及客户端和服务器相关字段。-
此标记不会与网络设备流记录中提供的 VLAN 标记冲突。
-
设备报告在其自己的接口上观察到的 VLAN 标记, 而不是 流端点。
-
设备报告的 VLAN 标记通常分配给 输入 和 输出 相关字段。
-
-
tags:用于进一步描述 CIDR、范围或 IP 地址的属性的字符串值数组。 -
metadata:作为字段添加到记录的键值对列表。这些字段可以是特定于 自定义 字段的字段,也可以是 Apstra Flow CODEX 架构中的现有字段。指定 CODEX 字段时,配置的元数据值将覆盖记录中存在的任何值。
您可以指定带或不带前导 “.” 的键名
- 如果使用前导 “
.” 指定,则该字段将放置在包含网络接口的父对象中。 - 如果指定 时没有 前导 “
.”,则该字段将放在记录的根目录中。
考虑来自 flow.src.ip.addr的 IP 地址:
- 如果元数据键定义为
.site.name,则该值将分配给flow.src.site.name。 - 如果将元数据键定义为
site.name,则该值将直接site.name分配给 。
合并来自多个定义的值
可以将与多个 CIDR、范围或 IP 地址条目匹配的 IP 地址的属性值合并到单个结果集中。
例如:
192.168.0.0/16:
metadata:
.geo.loc.coord: 48.167106,11.486918
.geo.city.name: Munich
.geo.country.code: DE
.geo.country.name: Germany
.geo.tz.name: Europe/Berlin
192.168.1.0/24:
name: munich_hq
tags:
- campus
metadata:
sec.zone.name: campus
192.168.1.151-192.168.1.200:
tags:
- guest_wifi
- dhcp
metadata:
.host.name: guest_wifi
.ip.addr: 192.168.1.0
以上示例包括:
- 包含位置元数据的 C 类专用网络
192.168.0.0/16。 192.168.0.0/24标记为园区网络及其所属防火墙区域的子网。- 属于访客 WiFi 并由 DHCP 提供的 IP 地址范围。
由于值 flow.src.ip.addr ()192.168.1.152 匹配上述配置中的所有三个条目,因此添加到记录的结果扩充字段将为:
flow.src.ip.subnet.name: munich_hq flow.src.ip.subnet.tags: [campus guest_wifi dhcp] flow.src.geo.loc.coord: 48.167106,11.486918 flow.src.geo.city.name: Munich flow.src.geo.country.code: DE flow.src.geo.country.name: Germany flow.src.geo.tz.name: Europe/Berlin sec.zone.name: campus flow.src.host.name: guest_wifi flow.src.ip.addr: 192.168.1.0
在上述用例中, host.name 和 ip.addr 被覆盖为匿名单个访客 WiFi 用户的通用静态值。这样可以收集和分析流量,而无需单独跟踪每位客人。这也允许网络或安全操作部门调查他们可能想要阻止的可疑流量,同时保护个别访客的隐私。
包含/排除的范围扩充
通过指定 AS 或 CIDR,可以将主机名、DNS 和 Maxmind GeoIP 扩充功能包含在或排除到 IP 地址子集。您可以在提供的 YAML 文件中指定要更新和刷新的包含/排除定义,而无需重新启动 Apstra 流收集器。请参阅 /etc/juniper/hostname/incl_excl.yml 和 /etc/juniper/hostname/user_defined.yml。
以下输出显示了包含/排除定义的示例:
include:
asn:
- 14168
cidr:
- 10.0.0.0/8
- 192.168.0.0/16
exclude:
#asn:
# -
cidr:
- 192.168.100.0/24
评估包含/排除定义
请务必了解如何评估包含/排除定义,以确保您的配置提供所需的结果。
以下规则适用:
-
如果未定义特定的包含值,则包含 所有内容 。
-
排除值在包含值的范围内进行评估。
包含/排除定义的示例
虽然以下示例仅使用 CIDR,但相同的逻辑适用于 ASN 值。
无包含/排除定义
# no path provided or an empty file
如果未定义包含/排除,则包含 所有内容 。
| IP地址 |
包括 |
|---|---|
| 192.168.0.1 |
是的 |
| 10.0.0.1 |
是的 |
| 10.111.0.1 |
是的 |
仅定义包含
include:
cidr:
- 10.0.0.0/8
仅包括已定义的 AS 或 CIDR 中的 IP 地址。此示例仅包含 CIDR 10.0.0.0/8 中的 IP 地址。
| IP地址 |
包括 |
|---|---|
| 192.168.0.1 |
不 |
| 10.0.0.1 |
是的 |
| 10.111.0.1 |
是的 |
仅定义了排除
exclude:
cidr:
- 10.111.0.0/16
包括定义的 AS 或 CIDR 未明确排除的所有 IP 地址。在此示例中,包括除 CIDR 10.111.0.0/16 中的 IP 地址外的所有 IP 地址。
| IP地址 |
包括 |
|---|---|
| 192.168.0.1 |
是的 |
| 10.0.0.1 |
是的 |
| 10.111.0.1 |
不 |
定义了包含/排除
include:
cidr:
- 10.0.0.0/8
exclude:
cidr:
- 10.111.0.0/16
仅包括指定 AS 或 CIDR 中的 IP 地址,排除的 AS 或 CIDR 中的 IP 地址 除外 。
| IP地址 |
包括 |
|---|---|
| 192.168.0.1 |
不 |
| 10.0.0.1 |
是的 |
| 10.111.0.1 |
不 |
192.168.0.1不包括在内,因为它不在随附的 AS 或 CIDR 中。10.0.0.1之所以包括在内,是因为它位于包含的 AS 或 CIDR 中。10.111.0.1不包括在内。