SPF记录中的更改是否需要花费时间才能传播?


16

我正在为我的域设置SPF记录,但没有得到我期望的结果。我很可能犯了某种错误,但是首先我想问:我对SPF记录所做的更改是否需要花费时间才能传播?


2
请注意,某些DNS缓存会忽略TTL,而只是将记录缓存所需的时间。这已损坏,但无法修复,因为那些损坏的DNS缓存正在您无法控制的计算机上运行。
cas

@cas服务器并没有真正坏掉,因为DNS TTL的整个概念是不完整和天真的。这是控制滥用和流量水平的唯一方法。这不仅意味着服务器会忽略正确的TTL,以防它们已从上游服务器传递了延长的TTL。
JamesRyan

1
@JamesRyan许多很多ISP DNS解析程序完全忽略它们所传递的TTL。这不是给它们提供更长的TTL的情况,而是不按照标准进行操作的情况。
EEAA

@EEAA不,这是该标准在现实世界中无法使用的情况,并且有非正式的规范通过必要性
取而代之

3
所有DNS更改都需要时间来传播,因此SPF记录没有什么特别的。它们以与其余DNS完全相同的方式传播。
Barmar

Answers:


13

是的,取决于区域的编辑方式,可能会有缓存或其他延迟(nsupdate导致相当立即的更改,因此,如果某些Web前端与数据库进行对话,而该数据库最终可能会执行某些操作来更新区域,则影响较小),区域如何传输完成(主DNS服务器可能会推送更改,或者从属服务器可能被配置为定期轮询该服务器以进行更新),以及您是在查询权威DNS服务器还是TXT由于先前的查询而可能缓存了先前记录的其他内容从您的客户端查询,因此不知道主服务器可能已经知道的更改。

使用nslookupdig查询不同的服务器(还要检查SOA序列号,它应该已经发生了变化,如果没有变化,则说明您正在查看旧数据)。

% dig +short @8.8.8.8 -t TXT google.com
"v=spf1 include:_spf.google.com ~all"
% dig +short @8.8.8.8 -t SOA google.com
ns2.google.com. dns-admin.google.com. 103585632 900 900 1800 60

TTL该的TXT记录可能是知道一个重要的东西; 完整的dig输出应包括该内容。


有趣。我的TXT记录的TTL为14400(4小时),但仍然通过Google抓取显示更改非常快(在一分钟之内)。不过,您dig需要通过Google服务器获取的命令:谢谢。
Daniel Griscom 2015年

2
@DanielGriscom请记住,“ 8.8.8.8”不是一台计算机,而是一个全局群集。您可能每次都命中不同的解析器,并且每个解析器可能都必须分别准备其缓存。
CVn 2015年

9

首先,DNS记录至少在积极意义上不会“传播”。记录缓存在各个层,更新记录的延迟是由于等待缓存的记录到期并从上游服务器重新获取而引起的。

现在,对于您的问题-是的,SPF记录是DNS TXT记录,因此可能需要一些时间来更新。


等待正在更新IS传播的高速缓存记录层中的延迟!
JamesRyan

3
@JamesRyan传播意味着记录传播背后有积极的动机。事实并非如此。许多不熟悉DNS的人确实认为存在主动传播,这就是为什么我将这部分内容包括在答案中以及为什么我将“主动”部分限定为原因。
EEAA

1
@JamesRyan我不同意。
EEAA

2
人民,这就是为什么我限定使用“传播”一词的原因。我了解DNS RFC的意思,也了解传播的含义。我正在澄清这个词,因为太多的人认为它意味着它没有的意思。
EEAA

1
@JamesRyan您随时可以编辑答案进行澄清。
EEAA 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.