我正在使用 socks 代理连接到使用另一个应用程序的服务器。代理,在 Solaris 10 上运行。托管代理的服务器配置为使用我们自己的内部 DNS 服务器(绑定)来解析内部主机名。
有时,我们需要更改内部服务器的 IP 地址,由于某种原因,socks 代理可能需要 1 个多小时才能看到新的 IP 地址。该产品的供应商告诉我们,它正在使用操作系统的 DNS 解析器,并且没有任何自己的 DNS 缓存。
我们的内部 DNS 有一个 DNS 区域,其中包含多个子区域。我注意到它在开始时将默认 $TTL 设置为 1 小时,但对于其中一个子区域,它再次设置为 1 天。请参阅下面的示例:
$ORIGIN .
$TTL 3600 ; 1 hour
mydomain IN SOA dns1.sub1.mydomain. dnsadmin.mydomain.com. (
2009077402 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS dns1.sub1.mydomain.
NS dns2.sub1.mydomain.
$ORIGIN sub1.mydomain.
dns1 A 10.0.0.1
dns2 A 10.0.0.2
server3 A 10.0.0.3
server4 A 10.0.0.4
server5 A 10.0.0.5
server6 A 10.0.0.6
server7 A 10.0.0.7
server8 A 10.0.0.8
$ORIGIN sub2.mydomain.
$TTL 86400 ; 1 day
server1 A 10.0.1.1
server2 A 10.0.1.2
server3 A 10.0.1.3
server4 A 10.0.1.4
server5 A 10.0.1.5
server6 A 10.0.1.6
server7 A 10.0.1.7
server8 A 10.0.1.8
$ORIGIN sub3.mydomain.
server1 A 10.0.2.1
server2 A 10.0.2.2
server3 A 10.0.2.3
server4 A 10.0.2.4
server5 A 10.0.2.5
server6 A 10.0.2.6
server7 A 10.0.2.7
server8 A 10.0.2.8
在此示例中,$TTL 值是否仅针对 sub2 子域更改为 1 天,或者是否也针对它下面的所有内容更改?
这是一个生产服务器,所以你会明白我想在更改它之前确保行为(删除第二个 $TTL)并且不能真的只是“尝试它”。我也没有开发 DNS 服务器来尝试它。
我已经检查了区域文件的文档,它没有提到在同一个区域文件中遇到多个 $TTL 语句时会发生什么,或者至少我找不到它。
任何帮助,将不胜感激。
http://ipamworldwide.com/index.php?option=com_content&view=article&id=88:bind-zone-file-directives&catid=48:dns-isc
上述网站上的措辞似乎暗示 TTL 将应用于 $TTL 指令之后的任何记录(记录中没有明确的 TTL)。