首页/网络/协议速查/OPT 记录(EDNS(0) 伪记录)
DNS 与域名解析60 条

OPT 记录(EDNS(0) 伪记录)

EDNS(0) 的载体伪记录:位于附加区,用于协商 UDP 报文大小、DNSSEC Do 位与各种扩展选项(ECS、Cookie、EDE 等)。

协议速查网络更新于 2026-10-13

OPT 是什么

OPT(TYPE 41)是 EDNS(0) 的伪记录:它不是真正的资源记录,只出现在报文的附加区,用来协商 UDP 报文大小、携带 DNSSEC 的 DO 位,并承载各种扩展选项(客户端子网 ECS、DNS Cookie、扩展错误 EDE 等)。它不写入区域文件,也不参与区域传输(RFC 6891)。

基本信息

类型OPT(TYPE 41,伪记录)
位置报文附加区,不进入区域文件
字段请求者 UDP 载荷大小(CLASS 位)、扩展 RCODE 与标志(含 DO 位)、选项列表
规范RFC 6891(EDNS0)
注意不缓存、不用于区域传输
常见载荷1232 字节,用于避免 IP 分片

典型使用场景

  • 排障「加 +dnssec 就超时」:EDNS 协商或 UDP 分片问题
  • 权威与递归服务器配置:调整 UDP 载荷上限与选项支持
  • 解析生态观察:ECS 对 CDN 就近调度的影响
  • 协议学习:理解 DO 位与扩展 RCODE 的作用
  • 安全加固:用 DNS Cookie 提升应答的可信度
  • 排障提速:用扩展错误码定位验证失败的具体原因

观察 EDNS 协商

观察 EDNS 协商
# 查看附加段里的 OPT 伪记录
dig +noall +additional example.com A
# ; EDNS: version: 0, flags: do; udp: 1232
# udp: 1232 是当前推荐的安全载荷,尽量避免触发 IP 分片

# 故意用较小载荷观察回退行为
dig +bufsize=512 +dnssec example.com A

EDNS 常见选项

选项用途典型现象
UDP 载荷协商单报文可接收的大小设太大容易分片丢包
DO 位请求 DNSSEC 记录与 dig 的 +dnssec 对应
ECS携带客户端子网信息影响 CDN 就近调度与隐私
Cookie防伪造与放大攻击提升应答可信度
EDE扩展错误码明确指出验证失败的原因
经典症状是「普通查询正常、加 +dnssec 就超时」:多为链路对较大 UDP 报文处理有问题,把载荷上限压到 1232 字节可规避多数分片问题。
老防火墙或 NAT 设备可能直接丢弃带 EDNS 选项的报文,导致解析随机失败;排障时用 dig 对比有无 EDNS 的结果最直接。
OPT 的 TTL 字段被借用来表示扩展 RCODE 与版本信息,解读报文时不能按普通记录的 TTL 含义理解。
递归与权威两侧都需要支持 EDNS;只有一侧开启时协商会退化为传统 512 字节载荷,DNSSEC 应答只能走 TCP 重试,延迟明显上升。

易错点

  • 把 EDNS 载荷设得过大(如 4096)会触发 IP 分片,丢包概率反而升高
  • 排查解析超时时忽略 EDNS 兼容性,会误判为权威服务器故障
  • 误以为 OPT 是普通记录并写进区域文件:它只是逐报文协商的伪记录
  • 只验证小报文解析成功就认为链路健康,忽略了 DNSSEC 应答通常更大的事实

数据来源与参考

  • RFC 6891 EDNS(0)
  • RFC 6891 §6.2.5(UDP 载荷建议)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌