Linux Dns Clean


原文链接: Linux Dns Clean

清理dns缓存

sudo ip link set dev enp4s0 down && sudo ip link set dev enp4s0 up

今天一个同事在服务器上修改了/etc/hosts文件,将一个远程的域名解析到了本机remote.host.name 127.0.0.1。此时一切正常,所有请求都路由到了本机。但是将/etc/hosts文件中的配置删除后,域名还是解析到本机。此时很容易想到是DNS缓存。只要清除了DNS缓存就好了。Google了一下,发现好多文章都没有解决我的问题。最终找到此篇文章:How to Clear/flush DNS Cache on Linux,总算解决了问题。算是有学习到一点知识。

将本篇文章翻译如下,让更多需要的同学查看。

有些时候,由于DNS问题你不能访问某些网站。这很有可能是你的本地DNS缓存有问题。 对于这种情况,你需要重新启动操作系统DNS缓存服务。

DNS缓存代表域名缓存系统,是由计算机操作系统维护的临时数据库,其中包含你最近浏览的网站的IP地址。

我建议你了解学习一下Linux中可用的DNS工具程序,你可以利用这些工具检查所有DNS记录和相关信息,以进一步排除故障。 DNS实用程序有nslookup,dig和host。

下面列出的是在各Linux发行版中主要使用的DNS缓存服务。

nscd DNS cache
dnsmasq dns cache
BIND server dns cache

nscd DNS Cache

nscd 是 name service cache daemon的缩写,Nscd是一个守护经常,提供最普通的域名请求的缓存服务。
默认的配置文件位于/etc/nscd.conf。
dnsmasq DNS Cache

Dnsmasq是一个轻量的,小巧的,易于配置的DNS转发器和DHCP服务器。 它旨在向小型网络提供DNS和可选的DHCP,适用于资源受限的路由器和防火墙。 它可以服务于不在全局DNS中的本地计算机的名称。 它专为个人计算机使用和小型网络而设计,而不是大型网络。
BIND Server DNS Cache

BIND是Berkeley Internet Name Domain 的缩写,是使用最为广泛的域名服务软件。BIND是实现互联网域名系统(DNS)协议的开源软件。 BIND是迄今为止在互联网上使用最广泛的DNS软件,提供强大而稳定的平台。
Flush DNS cache on Ubuntu/Debian/LinuxMint

在Ubuntu/Debian/Mint系统中可以使用下面的命令来清除DNS缓存:

$ sudo /etc/init.d/dns-clean start
[sudo] password for magesh: [Enter your root password]

  • Restoring resolver state... [ OK ]

Flush BIND server dns cache

使用下面的命令来清除BIND DNS服务器的DNS缓存:

/etc/init.d/named restart

Stopping named: . [ OK ]
Starting named: [ OK ]

service named restart

Stopping named: . [ OK ]
Starting named: [ OK ]

Flush nscd DNS cache

使用下面的命令来清除nscd服务的DNS缓存:

/etc/init.d/nscd restart

service nscd restart

service nscd reload

nscd -i hosts

Flush dnsmasq dns cache

使用下面的命令来清除dnsmasq服务的DNS缓存:

/etc/init.d/dnsmasq restart

Flush dns cache in windows

使用下面的命令来清除windows系统的DNS缓存:

ipconfig /flushdns

Windows IP Configuration
Successfully flushed the DNS Resolver Cache.

我们正在准备所有文章,深入了解所有级别/阶段的Linux管理员。 如果文章对您有用,那么请花一点时间在我们的评论部分分享您的宝贵意见

`