![反向 DNS 传播和缓存](https://linux22.com/image/786981/%E5%8F%8D%E5%90%91%20DNS%20%E4%BC%A0%E6%92%AD%E5%92%8C%E7%BC%93%E5%AD%98.png)
我昨天在德国 Contabo 设置了一个 VPS(Ubuntu 22.04)。不幸的是,我的反向 DNS 输入有误(我输入的example.org
是example.uk
)。我很快发现了这个问题,并进行了更正,然后本地系统上的mxtoolbox.com
和都dig
显示正确解析为example.uk
。
这个新系统必须与邮件服务器通信,该服务器也是 Ubuntu 22.04(位于英国的 Ionos)。但是,postfix
邮件服务器拒绝接收邮件,因为传入的 IP 地址仍然解析为example.org
。这种情况已经持续了大约 16 个小时。昨晚有一段时间,邮件是正在交付,但现在没有交付。
在邮件服务器上,dig +noall +answer -x ip-addr
TTL 显示 2 小时倒计时。但是,它随后再次循环,但仍显示example.org
。如果我用它刷新本地缓存,则sudo resolvectl flush-caches
没有任何区别,但会再次开始倒计时。我已在同一数据中心(Ionos,英国)的另一个 VPS 上尝试过此操作,结果相同。
因此,我猜测 Ionos 有一个忽略上游 TTL 的 rDNS 缓存(因为mxtoolbox
我自己的本地dig
已经显示正确example.uk
结果超过 16 个小时)。这有道理吗?我可以在邮件服务器上设置本地解析器以(暂时)忽略任何上游缓存并获得权威答案吗?您如何在反向 DNS 上获得权威答案?
答案1
除了三重检查现在所有东西是否正确并等待之外,您无能为力。检查记录在提供商服务器上是否正常的一种方法是要求dig
从根开始进行迭代查询:
dig -x 2a02:c205:f00::1:2:3 +trace
ns1.contabo.net
给我 24 小时的 TTL。虽然一些缓存解析器可能会忽略这一点,但这就是您的旧记录对最近与您互动的任何人仍然可见的时间。