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_table 或 external_dns_table 之一。
- external_dns_table
(config.core.v3.DataSource) 从外部路径播种过滤器配置。此源是一个包含驱动 Envoy 对 DNS 查询的响应的 DnsTable 的 yaml 格式文件
必须设置 inline_dns_table 或 external_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_config和typed_dns_resolver_config的过渡期间,如果typed_dns_resolver_config存在,Envoy 将使用它并忽略dns_resolution_config。如果typed_dns_resolver_config缺失,则使用默认行为。
- max_pending_lookups
(uint64) 控制过滤器跟踪的未完成外部查找上下文数量。上下文结构允许过滤器响应每个查询,即使外部解析超时或以其他方式失败