DNS-以任何方式强制域名服务器更新域记录吗?


13

我正在某些域名上做一些工作。我正在更新它们。通过使用dig我可以查询我们的名称服务器,并且可以看到正确的名称已被更新。但是,我们的办公室dns缓存仍显示旧名称。昨天,我将TTL设置为10分钟,因此不必等待很长时间。但是,有什么办法欺骗办公室的DNS缓存进行更新?我可以采取任何偷偷摸摸的小技巧来使事情变得容易吗?

更新假设我无权访问服务器,并且无法重新启动它?我还能做些什么吗?


您的DNS服务器在什么平台上运行?UNIX,Linux,Windows ..?
RainyRat

办公室的服务器运行什么操作系统?这将改变刷新缓存的方式。
巴特B

2
Google允许您刷新DNS缓存:developers.google.com/speed/public-dns/cache
Nehal J Wani

Answers:


16

假设您的DNS服务器在PC上而不是路由器等上:

Linux缓存刷新:

/etc/init.d/nscd restart

或用于没有nscd的发行版

/etc/init.d/named restart

Windows 客户端缓存刷新单个计算机:

ipconfig /flushdns

Office 服务器的 Windows 服务器缓存刷新(感谢ericmayo进行的更正):

  1. 导航到管理员工具
  2. 展开服务器对象
  3. 右键单击缓存的对象
  4. 选择清除缓存

Mac(可能是?!):

dscacheutil -flushcache

如果您有路由器的Web GUI等,则该处将有一个选项。

如上所述跨平台缓存刷新

关于DNS和缓存


ipconfig / flushdns不会刷新Windows DNS服务器的DNS缓存;它仅刷新客户端的缓存。要刷新Windows DNS服务器缓存,请在管理员工具下打开DNS,展开服务器对象,右键单击缓存的对象,然后选择清除缓存。nscd不在我的发行版上。在这种情况下,只需killall命名并重新启动它即可;通常从/etc/rc.d/rc.bind开始
基洛(Kilo)

对于Mac:dscacheutil -flushcache刷新操作系统中的本地缓存,而不刷新绑定名称服务器。rndc flush将清除Mac上的绑定名称服务器,这将影响使用该名称服务器的所有计算机。
马特·康诺利

11

如果您将BIND作为办公室的解析器运行-即。不转发给另一个解析器。

刷新缓存中的所有内容:

rndc flush

刷新特定记录:

rndc flushname example.com

如果要转发,则受转发器缓存的支配。


4

使用Windows DNS,只需重新启动服务即可刷新缓存。值得一试在您的办公室服务器上。

JR


3

如果您使用Windows,则可以使用nltest。

  /DSREGDNS - Force registration of all DC-specific DNS records
  /DSDEREGDNS:<DnsHostName> - Deregister DC-specific DNS records for specified DC
      /DOM:<DnsDomainName> /DOMGUID:<DomainGuid> /DSAGUID:<DsaGuid>
  /DSQUERYDNS - Query the status of the last update for all DC-specific DNS records

如果您使用的是WINS,请输入nbtstat。


0

如果您将Bind9用作dns服务器,请重新启动服务

sudo服务bind9重新启动


并非所有发行版都如此。RH / CentOS使用service named restart,就像Andy提到的那样。如果您发现对哪个发行版是正确的(我怀疑它是“ Debian和派生工具 ”,但我不是Debian专家),并补充说一下,这将是一个更有用的答案。也就是说,欢迎来到SF!
MadHatter

@MadHatter ...此外bind,如果将其用作权威服务器或递归服务器,则取决于它的“状态” 。我认为,就目前情况而言,这个答案本身并没有多大意义。
gf_
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.