我卡住了。我试图利用DNSCrypt在最近的变化与ISP在美国的法律。这是我的装置:
对于测试,我只是尝试将OpenDNS解析器与DNSCrypt一起使用。我的目标是最终将我的流量发送到我使用的VPS,然后转发到我想要的DNS服务器。重要的是本地绑定服务器也能够响应对内部DNS的查询。我确实有一个需要内部解决的区域。
我正在执行以下命令来启动dnscrypt:
dnscrypt-proxy -R cisco -a 127.0.1.2 -d -L /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv -l /var/log/dnscrypt-proxy -m 6 -p /var/run/dnscrypt-proxy(cisco是在包含的兼容解析器列表中预定义的。这是OpenDNS服务器)。
我可以测试这是否适用于以下命令:
dig @127.0.1.2 serverfault.com它以适当的查找返回。
然后,我使用127.0.1.2的转发器配置BIND,这就是它停止工作的地方。如果我现在对dig运行127.0.0.1命令,就会得到一个SERVFAIL错误,但是对127.0.1.2的dig仍然有效。
此外,从我的路由器执行pcap显示了大量通过端口53 (而不是dnscrypt使用的443 )到各个根服务器的出站DNS查询。
因此,最终:
forward only;和recursion no;,但这似乎行不通)?发布于 2017-04-22 15:19:04
recursion no不是您想要的,因为转发本质上被认为是递归的特例。
使用forwarders定义和forward only绑定,应该将所有递归查询发送给转发器。
Ie,类似于options中的以下内容应该能起作用:
recursion yes;
forwarders { 127.0.1.2; };
forward only;对于SERVFAIL错误,请检查绑定日志,看看实际发生了什么。named-checkconf -zj对于验证配置本身也很有用。
尽管如此,我确实有一个想法可以解释这些问题。
如果必须使用OpenDNS,请确保在BIND中禁用DNSSEC验证,因为OpenDNS服务与DNSSEC不兼容。
审查(更改) DNS数据的想法基本上与验证DNS数据的真实性不一致,所以我不认为这会改变。
https://serverfault.com/questions/845952
复制相似问题