update
This commit is contained in:
40
dns/.trae/documents/测试domainSpecificDNS功能.md
Normal file
40
dns/.trae/documents/测试domainSpecificDNS功能.md
Normal 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服务器的响应
|
||||
* 验证解析结果是否符合预期
|
||||
|
||||
Reference in New Issue
Block a user