我家的公网IP地址是动态IP,需要在户外访问。我不想使用像DynDns或NoIp这样的服务,所以我写了自己的脚本。
该脚本每小时执行一次,基本上它读取我在icanhazip.com上的公网IP,以及与mydomain.com对应的IP (使用python工具dnsyo)。如果地址不同,它会使用cloudflare API将我的新公网IP链接到mydomain.com。
我的问题是,当IP改变时,我必须在DNS传播之前等待大约5小时。在此期间,mydomain.com解析我的旧公网IP,因此我无法访问新的公网IP。
我的问题是:如何才能使传播速度更快?
我看到了there (3.7节),我可以更改我的dns区域的生存时间参数,如果我减少这个变量,它会减少传播时间还是只会弄乱我的设置?如果我改变它,什么才是合理的值呢?
发布于 2015-02-06 01:41:23
DNS TTL是允许缓存名称服务器缓存查询结果的秒数。一般来说,这样做的实际结果是,客户端可能会看到该持续时间内的陈旧的值。减少TTL正是人们处理频繁更改(或即将更改)的DNS条目的方式。
您可以通过在直接查询权威DNS服务器时检查TTL值(我假设在您的情况下是Cloudflare )来检查这是否真的是问题所在:
% host -v dynamic.foo.com ns.foo.com
Using domain server:
Name: ns.foo.com
[...]
dynamic.foo.com. 1800 IN A 10.10.1.1
1800是30分钟,因此在更新发生之前请求dynamic.foo.com的客户端可能会在该持续时间内看到陈旧的值。
如果您正在使用https://www.cloudflare.com/docs/client-api.html#s5.2中记录的CloudFlare的rec_edit操作,那么您可以为该特定记录指定TTL,而不是为整个专区指定TTL。这很可能就是您想要的。
https://stackoverflow.com/questions/28350252
复制相似问题