我以前从未更改过 DNS 记录。在研究我继承的 DNS 服务器(带有 BIND v9.2.3 的 Solaris 5.6)时,我发现 DNS_A(私有)是主 DNS 服务器,它通过区域的 db 文件选项复制到 DNS_B 和 DNC_C(均为公共):
allow-transfer { 192.in.ter.nal; 173.ex.ter.nal; };
区域文件的标题是:
@ IN SOA DNS_A.redacted.com. postmaster.redacted.com. (
2013010401 ; serial
300 ; refresh
120 ; retry
6048000 ; expire
300 ) ; ttl
我知道,当我进行更改时,我必须增加序列号,以便辅助 DNS 服务器能够识别更改,但我的辅助 DNS 服务器是否在“到期”时间到达之前不会查找更改?如果以秒为单位指定,则为 70 天。
refresh
、retry
、expire
和时间代表什么ttl
意思?
答案1
您必须更改序列值以向所有从属服务器发送通知,告知它们区域刚刚更改,以便它们可以获取更新。
这些项目的含义如下:
- ttl:缓存条目的默认生存时间,定义这些条目应被视为新鲜的时间长度;
- 刷新:从站检查主站更新所用的时间;
- 重试:刷新时间后,从站无法联系主站时重试的间隔时间;
- expiry:表示该区域在此时间之后不再有效,仅供从属服务器使用。
答案2
默认情况下,在 DNS 序列更改时,BIND 主服务器将通知区域中 NS 记录中定义的所有名称服务器。从服务器将联系主服务器以启动区域传输。