今天多家大型DNS服务商和DNS服务器厂商将举办联合活动
2020 年 DNS 卖旗日倡议的参与者呼吁将 EDNS 的建议缓冲区大小固定为 1232 字节(MTU 大小 1280 减去标头的 48 字节),以及
提议的更改将消除选择 EDNS 缓冲区大小的混乱,并解决大型 UDP 消息的碎片问题,该问题的处理通常会导致客户端数据包丢失和超时。 在客户端,EDNS 缓冲区大小将保持不变,并且大响应将立即通过 TCP 发送到客户端。 避免通过 UDP 发送大消息还可以解决某些防火墙上丢弃大数据包的问题并允许阻止
从今天开始,参与的 DNS 提供商包括 CloudFlare、Quad 9、Cisco (OpenDNS) 和 Google,
最终,当访问 UDP DNS 响应超过 1232 字节并且无法发送 TCP 响应的 DNS 服务器时,这些更改可能会导致解析问题。 Google 进行的一项实验表明,更改 EDNS 缓冲区大小实际上对失败率没有影响——缓冲区为 4096 字节时,UDP 请求被截断的数量为 0.345%,TCP 上不可达重试的数量为 0.115%。 对于 1232 字节的缓冲区,这些数字分别为 0.367% 和 0.116%。 将 TCP 支持作为必需的 DNS 功能将导致大约 0.1% 的 DNS 服务器出现问题。 值得注意的是,在现代条件下,如果没有 TCP,这些服务器的运行已经不稳定。
权威 DNS 服务器的管理员应确保其服务器通过网络端口 53 上的 TCP 进行响应,并且该 TCP 端口未被防火墙阻止。 信誉良好的 DNS 服务器也不应发送大于
请求的 EDNS 缓冲区大小。 在服务器本身上,EDNS 缓冲区大小应设置为 1232 字节。 解析器具有大致相同的要求 - 通过 TCP 进行响应的强制能力、在接收到截断的 UDP 响应时强制支持通过 TCP 发送重复请求以及将 EDNS 缓冲区设置为 1232 字节。
以下参数负责设置不同 DNS 服务器中的 EDNS 缓冲区大小:
选项{
edns-udp-大小 1232;
最大 udp 大小 1232;
};
最大 udp 有效负载:1232
网络缓冲区大小(1232)
udp 截断阈值=1232
edns 传出缓冲区大小=1232
udp 截断阈值=1232
edns 缓冲区大小:1232
ipv4-edns-大小:1232
ipv6-edns-大小:1232
来源: opennet.ru