我是 DNS 领域的新手,我正在将我们的办公室子网移至另一个域。我们的 DNS 使用带有 MySQL 后端的 PowerDNS 解决方案。
我不确定我们域名的 SOA 记录是否写得正确。假设域名是 example.com,内部办公室基础设施域是 office.example.com,办公室名称服务器是 ns0.office.example.com 和 ns1.office.example.com,那么我们的 SOA 如下所示(在 MySQL 记录表中):
ns0.office.example.com. hostmaster.office.example.com. 2013111504 28800 14400 2419200 86400
刷新等的值取自旧配置,不清楚这些值是否标准。
问题:从我在互联网上找到的所有资源中,我仍然不明白 SOA 记录会产生什么影响。有人能解释一下前两个值会产生什么影响吗?hostmaster 值是干什么用的?旧配置也有这个值,但我们的子网上没有这样的主机,也没有这个主机的 DNS 记录。
答案1
从RFC 1033核心 DNS RFC 之一(DNS 维基百科页面上有一个很好的列表)
SOA (Start Of Authority)
<name> [<ttl>] [<class>] SOA <origin> <person> (
<serial>
<refresh>
<retry>
<expire>
<minimum> )
授权起始记录指定区域的起始。该区域在下一个 SOA 记录处结束。
<name>
是区域的名称。(注释:通常是域名 example.com 或 office.example.com)
<origin>
是主区域文件所在主机的名称。(注释:主名称服务器)
<person>
是负责该区域的人员的邮箱。它的格式类似于邮件地址,但通常将用户与主机名分开的 at 符号被替换为点。(注释:[电子邮件保护]变成 hostmaster.office.example.com)
<serial>
是区域文件的版本号。每当区域中的数据发生更改时,它都应该递增。(注释:常见的是像字符串 yyyymmdd(hhmm) 这样的时间戳)
<refresh>
是辅助名称服务器检查主名称服务器是否需要更新的时间(以秒为单位)。此处的合适值是 1 小时 (3600)。
<retry>
是辅助名称服务器在检查刷新失败后重试的时间(以秒为单位)。此处的合适值是 10 分钟 (600)。
<expire>
是辅助名称服务器在数据因未获得刷新而过期之前使用数据的上限(以秒为单位)。
您希望这个值相当大,一个合适的值是 3600000,大约 42 天。
<minimum>
是 RR 中用于 TTL 值的最小秒数。此处至少一天是一个不错的值 (86400)。
每个区域只能有一个 SOA 记录。示例 SOA 记录如下所示:
@ IN SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. (
45 ;serial
3600 ;refresh
600 ;retry
3600000 ;expire
86400 ) ;minimum
SOA 记录可以放在一行上。