什么是AAAA记录?
AAAA记录(发音为"四A")是将域名映射到IPv6地址的DNS记录类型。它是处理IPv4地址的A记录的IPv6等价物。"AAAA"名称来自IPv6地址比IPv4地址长四倍(128位对32位)。
AAAA记录为什么重要
IPv4地址正在耗尽。1980年代看起来丰富的43亿可用IPv4地址现在已经用尽。IPv6提供3.4×10^38个地址,确保互联网可以继续增长。
IPv6采用统计
- 主要提供商(Google、Facebook、Netflix)通过IPv6提供大量流量
- 许多ISP现在默认提供IPv6连接
- 移动网络通常倾向于IPv6
- 云提供商提供IPv6支持
AAAA记录格式
example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
IPv6地址写为八组四个十六进制数字:
- 完整格式:2606:2800:0220:0001:0248:1893:25c8:1946
- 压缩:2606:2800:220:1:248:1893:25c8:1946(忽略前导零)
配置AAAA记录
基本配置
@ IN AAAA 2001:db8::1
www IN AAAA 2001:db8::1
双协议栈设置(IPv4 + IPv6)
大多数网站应该支持两种协议:
example.com. IN A 203.0.113.50
example.com. IN AAAA 2001:db8::1
www IN A 203.0.113.50
www IN AAAA 2001:db8::1
IPv6能力的客户端将优先考虑AAAA记录;其他则回退到A记录。
DNS解析如何与AAAA配合工作
现代DNS解析器同时查询A和AAAA记录:
1. 并行查询:解析器同时发送A和AAAA查询
2. Happy Eyeballs:客户端使IPv4和IPv6连接竞争
3. 最快获胜:首次成功连接被使用
4. 回退:如果IPv6失败,IPv4自动使用
这个"Happy Eyeballs"算法(RFC 6555)确保用户获得最快的连接,而不会注意到协议协商。
何时添加AAAA记录
你应该添加AAAA记录如果:
- 你的托管提供商提供IPv6地址
- 你的CDN支持IPv6
- 你想要面向未来的基础设施
- 你为移动用户提供服务(许多移动网络倾向于IPv6)
你可能会跳过AAAA记录如果:
- 你的托管仅提供IPv4
- 你在没有IPv6的负载均衡器后面
- 你需要暂时简化故障排除
检查AAAA记录
使用dig:dig example.com AAAA
; 答案部分:
example.com. 300 IN AAAA 2606:2800:220:1:248:1893:25c8:1946
使用DomScan:
curl "https://domscan.net/v1/health?domain=example.com"
# 包括DNS详情中的hasAAAA
常见问题
缺失AAAA记录
没有AAAA记录的网站可能经历:
- 在IPv6优先网络上的较慢连接
- 如果IPv4 NAT有问题的连接问题
- 移动用户的性能降低
不正确的AAAA记录
错误的IPv6地址对IPv6用户造成连接故障,同时IPv4用户保持不受影响——使问题难以检测。
仅IPv6访问者
小但不断增长的人口使用仅IPv6连接。没有AAAA记录,你的网站对他们不可访问。
最佳实践
1. 支持双协议栈:配置A和AAAA记录
2. 测试IPv6连接:验证你的服务器实际上在IPv6上响应
3. 监控两种协议:在你的正常运行时间监控中包括IPv6
4. 使用一致的TTL:匹配A和AAAA记录TTL
5. 更新CDN设置:在CDN启用IPv6(如果可用)
随着IPv6采用增加和IPv4耗尽继续,添加AAAA记录变得越来越重要。