如果将域名添加到 EO DNS 上并开启 DNSSEC ,并且为某一子域添加 NS 记录,比如
foobar.example.com. 3600 IN NS foobarns1.example.com.
foobar.example.com. 3600 IN NS foobarns2.example.com.
那么你会发现,foobar.example.com
下的子域名,比如 test.foobar.example.com
会无法解析。这是因为 EO DNS 未对上面提到的 foobarns1.example.com.
和 foobarns2.example.com.
这两条 NS 记录添加 RRSIG 签名,导致解析失败。
如果运行 dig foobar.example.com NSEC +dnssec @1.1.1.1
,理想的结果是
foobar.example.com. 3600 IN SOA ns1.qeodns.com. webmaster.qeodns.com. REDACTED 300 300 86400 3600
foobar.example.com. 3600 IN RRSIG SOA 13 2 3600 REDACTED REDACTED REDACTED foobar.example.com. yO38AA+c6HkNp+zvJxXJaaGdxFGBZvzYhoQ9ByihXDRgIXCEMJt5k1hO 2X2/6+Bisfa7mWP+Ay/swq/tXGXHWQ==
foobar.example.com. 3600 IN NSEC \000.foobar.example.com. A NS SOA MX TXT AAAA RRSIG DNSKEY
foobar.example.com. 3600 IN RRSIG NSEC 13 2 3600 REDACTED REDACTED REDACTED foobar.example.com. omx0XYI53bfP2rgMj/ZBdmkkt8ZSM+vgSdZ8e8xeK3LC3V2/Wrvmo5aJ XEEDGPW2vGpaAFUJp1NLK3Jw2msVVA==
而 EO DNS 实际返回的是
foobar.example.com 180 IN NSEC \000.foobar.example.com. A NS SOA MX TXT AAAA SRV RRSIG NSEC DNSKEY SVCB HTTPS CAA
根据 RFC 4034 3.1.1 ,“每个权威 RRset 都必须受到 RRSIG 数字签名( The Type Covered field identifies the type of the RRset that is covered by this RRSIG record )” 因此,基本上可以推测是 EO DNS 的问题。
已经提了工单,现在还没回复。腾讯云这样的大厂犯这种错误真的不应该,如果有类似小众需求还请谨慎操作。
1
Shiroka OP 更新一下,主贴内容有误,是我个人测试方法错误导致判断也出错,实际上这个问题不存在。
问题的原因在于,如果为 foobar.example.com 添加了 NS ,EO DNS 还会为这个域名添加 NSEC 记录,而 NSEC 记录被用来指示所请求的 RRset 不存在,因此系统会认为 foobar.example.com 不存在,因此无法解析。 工单号 202403100300 ,目前的客服专业能力较差,无法理解我的分析,还请您协助查看一下,谢谢。 @johnjiang85 @kincaid @panisertoller @naizhao |
2
Shiroka OP 工单已结,问题是 EO DNS 目前不支持子域 NS 和 DNSSEC 同时开启,解决方案是暂时关闭 DNSSEC ,等待后续优化。腾讯云最近会在前端上线一个策略禁止它们同时存在。
|