如何在Ubuntu 17.04上刷新DNS?


70

如何在Ubuntu 17.04上刷新DNS?

从16.10升级到17.04以来,我似乎有一些DNS问题,并且要刷新DNS,但我找不到方法。

谁能告诉我?


1
我昨天碰到同样的事情。这解决了我的问题:superuser.com/a/1200745
Clay Oster


1
我已经从问题中删除了解决方案部分。但是你可以在这里找到它。请在下面的“您的答案”字段中发布解决方案部分。回答自己的问题并接受答案是完全可以的。另外,请不要在title上添加“ SOLVED”标签
pomsky '18

我发现重新启动系统并在蛋壳上行走没什么用
ThorSummoner

1
如果您使用的是Chrome,并具有高速缓存的问题,这也将有助于清除浏览器的DNS缓存铬://网内部/#HSTS
彼得·

Answers:


105

您可以使用以下命令: sudo systemd-resolve --flush-caches

要验证刷新是否成功,请使用: sudo systemd-resolve --statistics

样本输出:

Cache
  Current Cache Size: 0
          Cache Hits: 101
        Cache Misses: 256

该答案在前一个答案的基础上有所改进,因此我将其标记为一个真实答案。
Dibs

15
当我跑步时sudo systemd-resolve --flush-caches,我得到了systemd-resolve: unrecognized option '--flush-caches'
弥敦道之友

1
与@NathanFriend相同-检查--help输出,此子命令已在17.10中删除
Routhinator '18

2
我正在运行Ubuntu 18.04,并且存在子命令。
the_drow

1
在Ubuntu 16.04中不存在
adamczi

27

此命令应重新启动本地名称服务并刷新本地DNS缓存:

systemctl restart systemd-resolved.service

可能有一种方法使其仅刷新缓存而不是重新启动,但是重新启动适合我的目的。


这似乎是在--statistics此后立即运行时将所有内容清除为0的唯一方法。在Ubuntu 18
lxm7

0

我做了这个:https//github.com/dunderrrrrr/dnscache

也许这就是您要寻找的。

安装

$ git clone git@github.com:dunderrrrrr/dnscache.git
$ cd dnscache/
$ sudo cp dnscache /usr/local/bin/
$ sudo chmod +x /usr/local/bin/dnscache

用法

可以将两个参数传递给脚本,即clear或stats。他们两个都应该自我解释。

$ sudo dnscache clear
DNS cache has been cleared!
[...]
Cache
  Current Cache Size: 0
[...]

3
您能否扩大答案并增加安装过程和使用量?
pomsky '18

全部在github上。
dunderrrrrr '18

我同意,但是仅链接的答案在Stack Exchange网站上不被视为答案。非常感谢您扩大答案。
pomsky '18

2
systemd-resolve --flush-caches然后才开始运行 systemd-resolve --statistics。:github.com/dunderrrrrr/dnscache/blob/master/dnscache
Ricky Notaro-Garcia

好吧,这就是重点。打字要快得多sudo dnscache clear。时间就是金钱,对。
dunderrrrrr
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.