首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的DNS查找可以在没有EDNS的情况下工作,但不能与一起工作?

为什么我的DNS查找可以在没有EDNS的情况下工作,但不能与一起工作?
EN

Stack Overflow用户
提问于 2017-01-05 11:05:34
回答 0查看 778关注 0票数 1

我正在尝试构建一个自定义的DNS服务器来返回编程结果。现在,我只是让它以SPF格式返回给它的查询的一部分,当我指定我的服务器的确切IP时,它工作得很好:

代码语言:javascript
复制
$ dig @54.183.223.221 127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. TXT

; <<>> DiG 9.8.3-P1 <<>> @54.183.223.221 127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. TXT
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62640
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. IN TXT

;; ANSWER SECTION:
foo.com.        600 IN  TXT "v=spf1 include:test.com -all"

;; Query time: 19 msec
;; SERVER: 54.183.223.221#53(54.183.223.221)
;; WHEN: Fri Jan  6 18:05:55 2017
;; MSG SIZE  rcvd: 118

但是,如果运行相同的命令而不指定IP,则不会找到任何内容。通过查看我的DNS服务器日志,我知道它正在用相同的问题攻击我的服务器(并且可能以相同的方式响应),但是dig似乎没有得到响应:

代码语言:javascript
复制
$ dig 127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. TXT

; <<>> DiG 9.8.3-P1 <<>> 127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 8929
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;127.0.0.5._ip.test.com._ehlo.foo.com._spf.moat.email. IN TXT

;; Query time: 254 msec
;; SERVER: 10.0.1.1#53(10.0.1.1)
;; WHEN: Fri Jan  6 18:10:00 2017
;; MSG SIZE  rcvd: 70

事实证明,这两个摘要查询创建了两个略有不同的DNS查询。有了IP,我得到了:

代码语言:javascript
复制
;; opcode: QUERY, status: NOERROR, id: 53947
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;127.0.0.20._ip.test.com._ehlo.foo.com._spf.moat.email. IN   TXT

如果没有IP,我会得到:

代码语言:javascript
复制
;; opcode: QUERY, status: NOERROR, id: 34502
;; flags:; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;127.0.0.10._ip.test.com._ehlo.foo.com._spf.moat.email. IN   TXT

;; ADDITIONAL SECTION:

;; OPT PSEUDOSECTION:
; EDNS: version 0; flags: do; udp: 4096

这个额外的EDNS部分可能导致问题的原因是什么?当我通过添加+bufsize=4096 +dnssec在本地开发服务器上模拟EDNS时,它可以正常工作。从哪里开始寻找EDNS没有响应的原因是什么?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41476720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档