当使用python dnslib.server示例并尝试从bind9服务器进行make查询时,python dns服务器会出现以下错误:
Mar 5 20:07:23 mx1 named[1868]: success resolving '85.31.199.1.domain.example/A' (in 'domain.example'?) after disabling EDNS
Mar 5 20:41:29 mx1 named[1868]: success resolving '141.36.123.190.domain.example/A' (in 'domain.example'?) after reducing the advertised EDNS UDP packet size to 512 octets
使用python dnslib.server库可以解决的任何提示或解决方案?
答案 0 :(得分:0)
EDNS是DNS名称服务器的一项特定功能,尽管不是新功能。但它需要特定的支持(处理它的代码)。
你看到的是,作为客户端的bind9检测到它所说的服务器也缺乏EDNS支持,因此回退到之前的一些理智设置。
您图书馆的更改日志包含:
- 0.7 2012-10-20添加初始EDNS0支持(未经测试)
之后什么都没有,所以看起来不太好。
代码源显示了两个有希望的类:
EDNS0
EDNSOption
它似乎在解析服务器使用的RR.parse
中的记录时使用,但它可能正常工作,我们无法判断,因为您没有显示您的代码以及它如何使用该库。 / p>
因此,简而言之,要么库存在问题,要么需要改进其EDNS代码,或者在使用它的程序中存在一些问题。
相关的问题是你使用这个库的原因,它只是为了试验/学习或真正构建一个产品吗?在最后一种情况下,根据您的工作情况,缺少EDNS支持可能会给您带来问题(例如DNSSEC)。