RHEL CentOS Debian Ubuntu 如何刷新 DNS 缓存

news/2024/11/30 18:31:48/

RHEL CentOS Debian Ubuntu 如何刷新 DNS 缓存

全文:如何刷新 DNS 缓存 (macOS, Linux, Windows)

Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, Debian, Ubuntu, Windows)

请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cache/,查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


刷新或者清除 DNS 缓存,通常是因为有过时的 DNS 记录,需要立刻从服务端重新获取更新,常见于安全要求或者测试调试等场景。

how-to-flush-dns-cache

1. Linux 刷新 DNS 缓存通用参考

Linux 可以运行 dnsmasq、nscd、unbound 或者 systemd-resolved 作为名称服务缓存守护进程 (sysin)。

dnsmasq

如果你的 DNS 服务器是用 dnsmasq 实现的,用下面这个命令:

service dnsmasq restart

如果 dnsmasq 服务不存在,先安装 dnsmasq,命令如下:

  • RHEL 及其兼容发行版:sudo yum install dnsmasq
  • Debian 及其兼容发行版:sudo apt install dnsmasq
  • 或者其他发行版对应的软件包管理命令

注:DNSmasq 是一个轻巧的,容易使用的 DNS 服务工具,它可以应用在内部网和 Internet 连接的时候的 IP 地址 NAT 转换,也可以用做小型网络的 DNS 服务。

nscd

如果是清除 nscd 上的 Cache,可重新启动 nscd 服务来达成清除 DNS Cache 的效果:

service nscd restart
# 或是
service nscd reload

如果 nscd 服务不存在,先安装 nscd,命令如下:

  • RHEL 及其兼容发行版:sudo yum install nscd
  • Debian 及其兼容发行版:sudo apt install nscd
  • 或者其他发行版对应的软件包管理命令

unboud

unbound 使用 unbound-control 命令来管理 DNS 缓存:

# 刷新所有缓存
unbound-control flush all
# 更多命令查看帮助
unbound-control -h

如果 unbound-control 无法执行,先安装 unbound,命令如下:

  • RHEL 及其兼容发行版:sudo yum install unbound
  • Debian 及其兼容发行版:sudo apt install unbound
  • 或者其他发行版对应的软件包管理命令

systemd-resolved

使用 resolvectl 命令刷新 DNS 缓存:

# Step 1. 查看 DNS 缓存状况
sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行
sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)
sudo resolvectl statistics

如果 resolvectl 无法执行,先安装 systemd-resolved,命令如下:

  • RHEL 及其兼容发行版:sudo yum install systemd-resolved
  • Debian 及其兼容发行版:sudo apt install systemd-resolved
  • 或者其他发行版对应的软件包管理命令

BIND (服务端,与上述客户端 DNS 缓存不同)

如果是清除 BIND 服务器上的 CACHE,用这个命令:

rndc flush

如果 rndc 无法执行,先安装 bind,命令如下:

  • RHEL 及其兼容发行版:sudo yum install bind
  • Debian 及其兼容发行版:sudo apt install bind9
  • 或者其他发行版对应的软件包管理命令

以下对几个主流发行版单独说明。

2. RHEL

包括其兼容发行版:CentOS 及 AlmaLinux、Rocky Linux、Oracle Linux

RHEL 及其兼容发行版,默认不启用 DNS 查询缓存。

参看:Best practice for DNS caching in RHEL

常见解决方案:

  • dnsmasq
  • nscd(未来版本可能会移除)
  • unbound
  • systemd-resolved

dnsmasq

使用 dnsmasq 来启用 dns 缓存:

yum -y install dnsmasq
systemctl enable --now dnsmasq

清除缓存即重启 dnsmasq 服务:

systemctl restart dnsmasq

nscd

使用 nscd 来启用 dns 缓存:

yum -y install nscd
systemctl enable --now nscd

清除缓存即重启 nscd 服务:

systemctl restart nscd

3. Ubuntu

Ubuntu 默认运行 systemd-resolved 服务用于名称服务缓存,使用 resolvectl 命令调用 systemd-resolved.service 解析主机名、IP 地址、域名、DNS 资源记录和服务。

Flush DNS Cache on Ubuntu

systemd-resolved.service 默认启用:

systemctl is-enabled systemd-resolved.service
enabled

刷新 DNS 缓存:

# Ubuntu 22.04 示例# Step 1. 查看 DNS 缓存状况
sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行
sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)
sudo resolvectl statistics

备注:Ubuntu 也可以配置使用 nscd 或者 dnsmasq。

注意:在旧版本中 resolvectl 命令曾经为 systemd-resolve,现已废弃。命令参数参数略有差异。

# Ubuntu 20.04.5 同时支持 resolvectl 和 systemd-resolve# Step 1. 查看 DNS 缓存状况
sudo systemd-resolve --statistics# Step 2. 清除 DNS 缓存,systemd-resolve daemon 默认在所有的 Ubuntu 系统上运行
sudo systemd-resolve --flush-caches# Step 3. 正在查看验证结果 (sysin)
sudo systemd-resolve --statistics

4. Debian

Debian 默认没有启用 DNS 缓存机制(基本系统)。可以配置使用 systemd-resolved.service 来启用。

以下为 Debian 12 示例。

启用 systemd-resolved.serivce:

sudo apt install systemd-resolved

查看服务已经启用:

systemctl is-enabled systemd-resolved.service
enabled

刷新 DNS 缓存:

# Step 1. 查看 DNS 缓存状况
sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行
sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)
sudo resolvectl statistics

备注:Debian 也可以配置使用 nscd 或者 dnsmasq。


上述操作通常也和浏览器刷新 DNS 缓存配合使用。

  • 如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari)

http://www.ppmy.cn/news/568873.html

相关文章

C++进阶—二叉搜索树

目录 0. 前言 1. 二叉搜索树概念 2. 二叉搜索树操作 3. 二叉搜索树的实现 3.1 非递归实现插入操作Insert 3.2 二叉搜索树中序遍历递归实现(排序) 3.3 非递归实现查找操作Find 3.4 非递归实现删除操作Erase 3.5 递归实现插入操作InsertR 3.5 递…

第十四章 Vision Transformer网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

电视盒子显示服务器未连接,你家的电视盒子直播总是卡,解决方法全都在这里...

原标题:你家的电视盒子直播总是卡,解决方法全都在这里 这两年随着科技的进步,越来越多的出现在客厅之中。但是许多人在用的时候老是出现播放不流畅,此情此景着实令人无奈,但有什么办法能解决此类问题呢。根据使用了解到…

Sharding-JDBC之RangeShardingAlgorithm(范围分片算法)

目录 一、简介二、maven依赖三、数据库3.1、创建数据库3.2、创建表 四、配置(二选一)4.1、properties配置4.2、yml配置 五、范围分片算法六、实现6.1、实体层6.2、持久层6.3、服务层6.4、测试类6.4.1、保存订单数据6.4.2、根据时间范围查询订单 一、简介…

《C++高级编程》读书笔记(十一:理解灵活而奇特的C++)

1、参考引用 C高级编程(第4版,C17标准)马克葛瑞格尔 2、建议先看《21天学通C》 这本书入门,笔记链接如下 21天学通C读书笔记(文章链接汇总) 1. 引用 在 C 中,引用是另一个变量的别名&#xff0…

母婴情报局 | 得母婴者得东南亚?带你剧透母婴市场未来热销趋势

Lazada 9.9大促畅销正酣,新一波的消费者数据即将出炉。在拥有人口红利的东南亚跨境业务,母婴跨市场兼具增量与存量,如何做好母婴类目选品和运营,本期情报局带你提前剧透母婴市场未来热销趋势。 Lazada 9.9大促畅销正酣&#xff0c…

那些年我发现的圈子(6)母婴品牌圈

母婴品牌圈 母婴品牌圈,孕婴童品牌圈,母婴用品品牌论坛与点评,孕婴品牌导购与价格点评互动交流。 这个网站我感觉很有个性,说是圈子吧他名字的确带圈字。仔细一观察,他的每个圈子就是一个品牌也很有意思。

【报告分享】2021母婴行业洞察报告-宝宝树(附下载)

摘要:超过七成的一孩年轻家庭(含怀孕)有生育二孩/三孩意愿;超过六成生育适龄人群表示生育奖励金及补贴、夫妻共同产假等配套福利能够提升其生育意愿。暂不考虑生二孩和三孩的原因略有不同,一孩家庭人群主要考虑养育成本和教育责任…