dnsmasq + bind cache架构下DNS失效问题

1 背景:

 需要内网dns域名解析服务,去除手动配置本地主机hosts域名解析操作;自定义内网域名,方便程序之间域名相互调用。

dnsmasq + bind cache,提供一套轻量级内部dns解析服务

2 架构:

 dnsmasq + bind cache架构下DNS失效问题_第1张图片

信息列表:

主机IP

类型

主配置文件

重载和重启服务方法

172.20.30.170

dns主服务

/etc/dnsmasq.conf【yum安装dnsmasq】

systemctl reload dnsmasq,systemctl restart dnsmasq

172.20.190.64

dns主服务

/etc/dnsmasq.conf【yum安装dnsmasq】

systemctl reload dnsmasq,systemctl restart dnsmasq

172.16.2.84 

dns缓存服务

/etc/named.conf【yum安装bind】

systemctl reload named,systemctl restart named

172.20.240.164

dns缓存服务

/etc/named.conf【yum安装bind】

systemctl reload named,systemctl restart named

3 架构的问题

现象:当你的系统:在2022年之后 在这种架构下 DNS某些域名偶发 频繁不能访问。大概率就是这个原因了

这种架构 由于dnsmasql 的本身缺陷导致的

3.1    域名被请求 TYPE请求后 缓冲信息变为空解析记录 且时间为3分钟

通过DIG命令模拟  TYPE65 请求

现象

dig +short @10.178.25.136 -p 53 TYPE65

a.rrc.com

dig +short @10.178.25.136 -p 53

a.rrc.com

在域名被访问 TYPE65请求之后

解析会出现3分钟左右不能访问,3分钟之后才可以继续访问

 3.1.1 可以通过对named 配置后 DUMP DNS缓存结果来查看过程

方法:DNS BIND之rndc介绍及使用_dns bind rndc-CSDN博客

3.2 原因:

 在DNS(域名系统)中,TYPE-65 是 HTTPS资源记录(HTTPS RR) 的请求类型,定义于 RFC 9460(原草案为draft-ietf-dnsop-svcb-https)。它是用于支持现代网络协议(如HTTP/3和QUIC)的服务绑定与负载均衡机制,替代了早期的SVCB记录(TYPE-64),并进一步优化了安全性和性能。

  1. 功能
    HTTPS RR用于将域名映射到特定的HTTPS服务端点,支持:
    • 协议升级(如从HTTP/2切换到HTTP/3)
    • 多服务器负载均衡
    • 绕过传统A/AAAA记录,直接关联加密连接参数(如ALPN协议、端口号等)。
  2. 出现时间
    • 2021年起,随着HTTP/3和QUIC协议的普及,HTTPS RR开始被主流浏览器(如Chrome、Firefox)和CDN服务商(如Cloudflare、Google)逐步测试部署。
    • 2023年11月,RFC 9460正式发布后,HTTPS RR的采用率显著上升,尤其在需要优化加密连接性能的场景中。

3.3 解决方案

1  dnsmasq 关闭安全访问

2 在公网DNS 增加 一个 * 的TXT配置。  TXT内容 任意 即可解决问题。

*  TXT    内容:type65 cache

 2.1 当dnsmasq 查询TYPE65请求。这个请求在公网存在一个TXT解析。就会返回正常请求。且不会导致named 缓存失效。

你可能感兴趣的:(运维知识,架构,服务器)