在此页面上
用户定义的元数据
用户定义的元数据扩充
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
不包括在内。