什么是SOA记录?
SOA记录 (权限开始) 是必须的DNS记录,包含关于DNS区域的基本管理信息。每个DNS区域必须在区域的顶点处正好有一个SOA记录,定义主名称服务器、负责管理员联系方式、区域序列号和区域传输及缓存的时序参数。SOA记录建立权限并为DNS操作提供关键元数据。SOA记录结构
组件字段
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; 序列号
3600 ; 刷新 (1小时)
900 ; 重试 (15分钟)
604800 ; 过期 (1周)
86400 ; 最小TTL (1天)
)
字段说明
| 字段 | 用途 | 典型值 |
|---|---|---|
| MNAME | 主名称服务器 | ns1.example.com |
| RNAME | 管理员电子邮件 (@ 替换为.) | admin.example.com |
| 序列 | 区域版本号 | YYYYMMDDnn |
| 刷新 | 辅助检查间隔 | 3600-86400 |
| 重试 | 刷新失败后重试 | 900-3600 |
| 过期 | 辅助放弃 | 604800-2419200 |
| 最小 | 否定缓存TTL | 300-86400 |
SOA记录字段说明
MNAME (主名称服务器)
区域的权威名称服务器:
- 应该是有效的、可解析的主机名
- 指向主DNS服务器
- 由辅助服务器用来识别源
RNAME (负责人)
管理员联系电子邮件:
admin.example.com = admin@example.com
hostmaster.example.com = hostmaster@example.com
注意:第一个点替换@符号
序列号
区域数据的版本标识符:
常见格式:YYYYMMDDnn
示例:2024010102 (2024年1月1日,修订版2)
必须随每个区域更改而增加
辅助机比较以了解是否需要更新
时序参数
控制区域传输和缓存行为:
刷新:辅助检查更新的频率推荐:3600-86400秒 (1-24小时)
重试:刷新尝试失败后的等待时间
推荐:900-3600秒 (15-60分钟)
过期:辅助停止提供区域的时间
推荐:604800-2419200秒 (1-4周)
最小TTL:否定缓存持续时间
缓存 "域不存在" 响应的时间长度
推荐:300-86400秒
查看SOA记录
使用dig
dig example.com SOA
# 输出:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. 2024010101 3600 900 604800 86400
使用nslookup
nslookup -type=SOA example.com
SOA记录最佳实践
1. 每次更改时增加序列:对区域传输至关重要
2. 使用有意义的序列格式:推荐YYYYMMDD##
3. 设置适当的计时器:平衡新鲜度与服务器负载
4. 使用有效的联系电子邮件:可联系管理员
5. 确保MNAME可解析:必须指向有效NS
常见SOA问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 区域传输失败 | 序列未增加 | 始终更新序列 |
| 辅助数据陈旧 | 刷新太长 | 减少刷新间隔 |
| 高DNS负载 | 刷新太短 | 增加刷新间隔 |
| NXDOMAIN缓存过长 | 高最小TTL | 减少最小值 |
SOA记录是任何DNS区域的基础管理记录,控制主和辅助名称服务器之间的同步以及整个区域的缓存行为。