0

0

LinuxDNS解析慢怎么办_缓存与配置优化解析【技巧】

舞姬之光

舞姬之光

发布时间:2025-12-23 22:44:02

|

363人浏览过

|

来源于php中文网

原创

Linux DNS解析慢的核心解决方法是启用systemd-resolved本地缓存、替换为1.1.1.1等高性能DNS、禁用冗余search域与options、关闭浏览器DoH并排查hosts及防火墙干扰。

linuxdns解析慢怎么办_缓存与配置优化解析【技巧】

Linux DNS解析慢,核心问题往往出在DNS查询路径过长、缺少本地缓存、配置不合理或上游DNS响应迟缓。解决关键在于缩短查询链路、启用高效缓存、选用可靠DNS服务器,并排除本地干扰。

启用并配置systemd-resolved本地缓存

systemd-resolved 是现代 Linux(尤其是 systemd 系统)内置的轻量级 DNS 缓存服务,默认可能未启用或未设为首选解析器。

  • 启动并启用服务:sudo systemctl enable --now systemd-resolved
  • 确认其监听本地地址:sudo ss -tlnp | grep ':53'(应看到 127.0.0.53:53)
  • /etc/resolv.conf 指向本地缓存:确保它是个指向 /run/systemd/resolve/stub-resolv.conf 的软链接(非手动编辑)
  • 设置可信上游DNS(如 Cloudflare 或 Quad9):sudo resolvectl dns eth0 1.1.1.1 9.9.9.9(替换 eth0 为实际网卡名)

替换默认DNS服务器,避开ISP低效DNS

很多系统默认使用路由器或 ISP 提供的 DNS,延迟高、无缓存、甚至劫持。直接指定公共高性能 DNS 可显著改善首次解析体验。

Keevx
Keevx

一款专为海外中小企业和创作者打造的AI数字人视频创作平台

下载
  • 推荐组合(兼顾速度与隐私):1.1.1.1(Cloudflare)8.8.8.8(Google)9.9.9.9(Quad9)
  • 临时生效(仅当前会话):echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
  • 永久生效(以 NetworkManager 为例):nmcli dev modify eth0 ipv4.dns "1.1.1.1 9.9.9.9",再 nmcli con reload && nmcli con down id "连接名" && nmcli con up id "连接名"

检查并禁用不必要的DNS搜索域和选项

不合理的 search 域或 options(如 timeout、attempts)会导致冗余查询,尤其在 ping 或 curl 未带完整域名时。

  • 查看当前配置:systemd-resolve --status 或检查 /etc/resolv.conf 内容
  • 若存在多余 search 域(如 company.local),可修改 NetworkManager 配置或 DHCP 客户端脚本屏蔽自动注入
  • 避免在 /etc/resolv.conf 中硬写 options timeout:1 attempts:2 等——systemd-resolved 已有智能超时策略,手动干预反而易引发重试放大

验证与排查常见干扰项

即使配置正确,某些机制仍可能绕过缓存或引入延迟。

  • 确认应用是否直连 DNS:部分程序(如 Chrome、Firefox)启用“DNS over HTTPS(DoH)”会跳过系统解析器,需在浏览器设置中关闭 DoH 或统一配置策略
  • 检查 hosts 文件污染:grep -v "^#" /etc/hosts | grep -v "^$" | wc -l,过多无效条目会影响解析顺序
  • 测试真实解析耗时:time nslookup example.comtime dig example.com @127.0.0.53 对比,确认缓存是否生效
  • 排查防火墙拦截:某些 iptables/nftables 规则可能 DROP 或限速 UDP 53 流量,临时清空规则测试

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

778

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

731

2023.11.06

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

425

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

174

2023.10.30

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1969

2024.08.16

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

119

2023.07.25

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

279

2023.08.08

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

370

2024.11.14

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

0

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.2万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号