Ubuntu 17.04 及更高版本(18.04)

Ubuntu 17.04 及更高版本(18.04)

我刚刚更新了我托管的网站的DNS 记录(、、ns1) ,但我仍然会看到域名注册商停放页面。ns2ns3.myhostingcompany.com

我想看看问题是否出在 Ubuntu 的缓存 DNS 记录上。有没有办法清除 Ubuntu 的 DNS 缓存?(如果存在这样的事情?)

答案1

Ubuntu 17.04 及更高版本(18.04)

从 Ubuntu 17.04 开始,systemd-resolve 用于 DNS。您可以像这样刷新 systemd 的缓存:

sudo systemd-resolve --flush-caches

Ubuntu 22.04 及更高版本

sudo resolvectl flush-caches

答案2

对于 18.04 及更高版本

看着Mike Shultz 的回答

适用于 11.10 及以下版本

Ubuntu 默认不缓存 DNS 记录,因此,除非您安装了 DNS 缓存,否则没有什么可清除的。

DNS 记录可能会被您的提供商的 DNS 服务器缓存,因此如果您想检查所做的 DNS 更改是否成功,您可以使用 dig 查询您域名托管服务的 DNS 服务器:

dig -t a ns1.myhostingcompany.com @domain_registrar_dns_server

如果您希望 Ubuntu 开始缓存 DNS,我建议pdnsd与一起安装resolvconfnscd因为它存在缺陷,因此不建议这样做。

答案3

12.04

Ubuntu 12.04 使用dnsmasq它内置于network-manager,但它没有缓存 DNS,因此无需刷新它。下面是我的一个示例行syslog来证明这一点:

dnsmasq[2980]: started, version 2.59 cache disabled

也不需要任何配置dnsmasq。如果你使用库存设置运行,它不会缓存 DNS,至于要这样做,你必须明确将其设置为Ubuntu 文章描述。

如果你想刷新设置,你可以禁用然后启用网络或运行

sudo service network-manager restart

这将重新启动,dnsmasq因为它已内置于network-manager;请检查您的syslog以获取这方面的证据。

如果您使用有线连接,则 dhcpnetwork manager将直接从路由器获取设置,当您登录 Ubuntu 时,您的连接将自动建立。如果您可以通过 Web 界面访问路由器,则可以检查路由器中的设置是否正确,必要时可以重新启动路由器。如果这是 DNS 的一般问题,您可以尝试使用 Google DNS 而不是您的 ISP DNS,有关更多信息,请参阅详细内容在这里

答案4

对于 12.04:

Ubuntu 12.04 使用 dnsmasq 缓存 DNS(请参阅man dnsmasq)。使用以下命令清除缓存:

sudo kill -HUP $(pgrep dnsmasq)

相关内容