1.1.1修复

This commit is contained in:
Alex Yang
2025-12-19 12:44:57 +08:00
parent b576996ede
commit 1f3f5708a3
72 changed files with 3476 additions and 83 deletions

View File

@@ -0,0 +1,40 @@
# 修复domainSpecificDNS的DNSSEC优先级问题
## 1. 问题分析
* 当域名匹配到 `domainSpecificDNS` 配置时程序会使用指定的DNS服务器
* 但随后程序会向DNSSEC专用服务器发送请求
* 如果DNSSEC专用服务器返回了带DNSSEC的响应程序会优先使用该响应
* 这导致 `domainSpecificDNS` 指定的DNS服务器的响应被忽略
## 2. 修复计划
### 2.1 修改 `forwardDNSRequestWithCache` 函数
* 在函数中添加一个标志 `domainMatched`,记录域名是否匹配了 `domainSpecificDNS` 配置
* 当域名匹配到 `domainSpecificDNS` 配置时,设置该标志为 `true`
### 2.2 修改DNSSEC响应处理逻辑
* 在处理DNSSEC专用服务器响应时检查 `domainMatched` 标志
* 如果标志为 `true`,则**不优先使用DNSSEC专用服务器的响应**而是保留原来指定DNS服务器的响应
* 只有当指定的DNS服务器没有返回有效响应时才考虑使用DNSSEC专用服务器的响应
### 2.3 确保指定的DNS服务器优先
* 确保对于匹配了 `domainSpecificDNS` 的域名始终优先使用指定的DNS服务器的响应
* 只有当指定的DNS服务器没有返回有效响应时才考虑使用DNSSEC专用服务器的响应
## 3. 预期效果
* 对于匹配了 `domainSpecificDNS` 配置的域名始终优先使用指定的DNS服务器
* 只有当指定的DNS服务器没有返回有效响应时才考虑使用DNSSEC专用服务器
* DNSSEC功能仍然正常工作但不会覆盖 `domainSpecificDNS` 的配置
## 4. 测试计划
* 重启DNS服务器
* 使用 `dig @127.0.0.1 dc.amazehome.xyz +short` 测试
* 检查日志确保使用的是指定DNS服务器的响应
* 验证解析结果是否符合预期