本地 DNS 缓存在清除后不断恢复 A 记录

本地 DNS 缓存在清除后不断恢复 A 记录

我希望清除本地 DNS 缓存,以便能够通过最近更改了 DNS A 记录的域名访问服务器。为了便于说明,我们假设以下情况:

领域:我的域名

旧 IP 地址111.111.111.111

新 IP 地址222.222.222.222

我的 ISP 的 DNS 和路由器的 DNS 缓存中的所有内容似乎都已更新:

$ dig @<ISP DNS> mydomain.com
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   222.222.222.222

$dig @<router>
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   222.222.222.222

但是本地缓存并未更新:

$ dig mydomain.com
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   111.111.111.111
;; SERVER: 127.0.0.53#53(127.0.0.53)

清除本地缓存似乎有效,但只是暂时的:

$ systemd-resolve --statistics;systemd-resolve --flush-caches;systemd-resolve --statistics
Cache                      
  Current Cache Size: 1    
          Cache Hits: 12222
        Cache Misses: 6507 

<omitted>

Cache                      
  Current Cache Size: 0    
          Cache Hits: 12222
        Cache Misses: 6507 

$ dig mydomain.com
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   222.222.222.222
;; SERVER: 127.0.0.53#53(127.0.0.53)

然而,过了一段时间,似乎随机出现,我无法再通过域名访问服务器。dig再次运行显示本地缓存已恢复,而路由器和 ISP 的条目仍然正确:

$ dig mydomain.com
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   111.111.111.111
;; SERVER: 127.0.0.53#53(127.0.0.53)

$ dig @<ISP DNS> mydomain.com
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   222.222.222.222

$dig @<router>
;; ANSWER SECTION:
mydomain.com. 7186  IN  A   222.222.222.222

我还没有想出如何可靠地重现该问题。第一次,它在一夜之间恢复了。今天它在几秒钟内就恢复了。在此期间,我尝试通过 Firefox 访问域名,有时可以正确加载网站,有时则不行(随后检查本地 DNS 缓存显示它已恢复)。

任何建议都将受到欢迎。

相关内容