什么是区域文件?
区域文件是存储在权威名称服务器上的纯文本文件,包含域名的完整 DNS 配置,包括定义该域名 DNS 查询应如何解析的所有资源记录。区域文件结构
; Zone file for example.com
$TTL 86400 ; Default TTL (24 hours)
$ORIGIN example.com.
; SOA Record (Start of Authority)
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial number (YYYYMMDDNN)
3600 ; Refresh (1 hour)
900 ; Retry (15 minutes)
604800 ; Expire (1 week)
86400 ; Minimum TTL (24 hours)
)
; Nameserver Records
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A Records (IPv4)
@ IN A 192.0.2.1
www IN A 192.0.2.1
mail IN A 192.0.2.10
; AAAA Records (IPv6)
@ IN AAAA 2001:db8::1
; MX Records (Mail)
@ IN MX 10 mail.example.com.
@ IN MX 20 backup-mail.example.com.
; CNAME Records (Aliases)
blog IN CNAME www.example.com.
; TXT Records
@ IN TXT "v=spf1 mx -all"
常见记录类型
| 记录 | 用途 | 示例值 |
|---|---|---|
| SOA | 区域权威性和时间参数 | 序列号、刷新、重试值 |
| NS | 名称服务器委派 | ns1.example.com. |
| A | IPv4 地址映射 | 192.0.2.1 |
| AAAA | IPv6 地址映射 | 2001:db8::1 |
| MX | 邮件服务器路由 | 10 mail.example.com. |
| CNAME | 域名别名 | www.example.com. |
| TXT | 文本数据(SPF、DKIM 等) | "v=spf1 mx -all" |
| SRV | 服务位置 | _sip._tcp.example.com. |
区域文件指令
| 指令 | 用途 | 示例 |
|---|---|---|
| $TTL | 默认生存时间 | $TTL 86400 |
| $ORIGIN | 相对名称的基础域名 | $ORIGIN example.com. |
| @ | $ORIGIN 域名的简写 | @ IN A 192.0.2.1 |
最佳实践
1. 递增序列号:每次更改都更新序列号,确保区域传送正常
2. 使用 FQDN:完全限定域名以末尾的点结束
3. 设置适当的 TTL:经常变化的记录使用较低值,稳定记录使用较高值
4. 记录变更:使用分号添加说明记录用途的注释
5. 验证语法:部署前使用 named-checkzone 或类似工具
区域传送安全
区域传送(AXFR)会在主名称服务器与辅助名称服务器之间复制区域文件。应将传送限制为已授权的 IP 地址,以防止信息泄露。
区域文件是 DNS 配置的基础,定义域名如何解析到 IP 地址和各类服务。