首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Debian上的DNSCrypt与BIND9

Debian上的DNSCrypt与BIND9
EN

Server Fault用户
提问于 2017-04-22 15:04:04
回答 1查看 3.5K关注 0票数 0

我卡住了。我试图利用DNSCrypt在最近的变化与ISP在美国的法律。这是我的装置:

  • 两个Debian Jessie服务器,绑定9.9.5-9,完全修补(使用稳定分支)
  • dnscrypt proxy 1.9.4 (用libsodium18 1.0.12编译)

对于测试,我只是尝试将OpenDNS解析器与DNSCrypt一起使用。我的目标是最终将我的流量发送到我使用的VPS,然后转发到我想要的DNS服务器。重要的是本地绑定服务器也能够响应对内部DNS的查询。我确实有一个需要内部解决的区域。

我正在执行以下命令来启动dnscrypt:

代码语言:javascript
复制
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服务器)。

我可以测试这是否适用于以下命令:

代码语言:javascript
复制
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查询。

因此,最终:

  • 要让BIND9正确地通过DNSCrypt隧道转发查询,我需要做什么?
  • 如何禁用BIND9将数据发送到根服务器(我尝试过配置forward only;recursion no;,但这似乎行不通)?
EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-04-22 15:19:04

recursion no不是您想要的,因为转发本质上被认为是递归的特例。

使用forwarders定义和forward only绑定,应该将所有递归查询发送给转发器。

Ie,类似于options中的以下内容应该能起作用:

代码语言:javascript
复制
recursion yes;
forwarders { 127.0.1.2; };
forward only;

对于SERVFAIL错误,请检查绑定日志,看看实际发生了什么。named-checkconf -zj对于验证配置本身也很有用。

尽管如此,我确实有一个想法可以解释这些问题。

如果必须使用OpenDNS,请确保在BIND中禁用DNSSEC验证,因为OpenDNS服务与DNSSEC不兼容。

审查(更改) DNS数据的想法基本上与验证DNS数据的真实性不一致,所以我不认为这会改变。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/845952

复制
相关文章

相似问题

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