DNS 过滤器(协议)

此扩展的限定名称为 envoy.filters.udp.dns_filter

注意

此扩展功能齐全,但尚未经过大量生产时间考验,使用时请注意这一点。

此扩展旨在对不可信的下游流量具有鲁棒性。它假设上游是可信的。

小贴士

此扩展扩展并可与以下扩展类别一起使用

此扩展必须使用以下类型 URL 之一进行配置

DNS 过滤器 配置概述.

extensions.filters.udp.dns_filter.v3.DnsFilterConfig

[extensions.filters.udp.dns_filter.v3.DnsFilterConfig 协议]

DNS 过滤器的配置。

{
  "stat_prefix": ...,
  "server_config": {...},
  "client_config": {...}
}
stat_prefix

(string, REQUIRED) 在发出 DNS 过滤器统计信息时使用的统计信息前缀

server_config

(extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig) 服务器上下文配置包含过滤器用于响应 DNS 请求的数据。

client_config

(extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig) 客户端上下文配置控制 Envoy 在必须使用外部解析器来回答查询时的行为。此对象是可选的,如果省略,则指示过滤器从 server_config 中的数据解析查询

extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig

[extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig 协议]

此消息包含 DNS 过滤器在服务器上下文中运行的配置。此消息将包含 Envoy 用于响应查询的虚拟主机和相关地址

{
  "inline_dns_table": {...},
  "external_dns_table": {...}
}
inline_dns_table

(data.dns.v3.DnsTable) 从控制平面加载指定的配置

必须设置 inline_dns_tableexternal_dns_table 之一。

external_dns_table

(config.core.v3.DataSource) 从外部路径播种过滤器配置。此源是一个包含驱动 Envoy 对 DNS 查询的响应的 DnsTable 的 yaml 格式文件

必须设置 inline_dns_tableexternal_dns_table 之一。

extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig

[extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig 协议]

此消息包含 DNS 过滤器在客户端上下文中运行的配置。此消息将包含 Envoy 对其他解析器发出 DNS 请求的超时、重试和转发配置

{
  "resolver_timeout": {...},
  "dns_resolution_config": {...},
  "typed_dns_resolver_config": {...},
  "max_pending_lookups": ...
}
resolver_timeout

(Duration) 设置我们等待上游查询完成的最大时间。我们允许上游解析完成 5 秒,因此此处的最小值为 1。请注意,失败查询的总延迟是重试次数乘以 resolver_timeout。

dns_resolution_config

(config.core.v3.DnsResolutionConfig) DNS 解析配置,包括底层 DNS 解析器地址和选项。此字段已被 typed_dns_resolver_config 弃用。

typed_dns_resolver_config

(config.core.v3.TypedExtensionConfig) DNS 解析器类型配置扩展。此扩展可用于配置 c-ares、apple 或任何其他 DNS 解析器类型以及相关参数。例如,一个 CaresDnsResolverConfig 对象可以打包到此 typed_dns_resolver_config 中。此配置替换 dns_resolution_config 配置。在同时存在 dns_resolution_configtyped_dns_resolver_config 的过渡期间,如果 typed_dns_resolver_config 存在,Envoy 将使用它并忽略 dns_resolution_config。如果 typed_dns_resolver_config 缺失,则使用默认行为。

max_pending_lookups

(uint64) 控制过滤器跟踪的未完成外部查找上下文数量。上下文结构允许过滤器响应每个查询,即使外部解析超时或以其他方式失败