绑定DNS – 允许从移动客户端recursion

我不太确定如何描述我需要的东西,这使得search具有挑战性。 :)基本上我已经绑定了在RackSpace实例上运行的绑定DNS,我想设置命名,这样我的任何客户端都可以recursion查询,而不用冒一个开放的parsing器的风险。

所有的客户端都是基于Linux的,尽pipeAndroid手机客户端configuration起来有些困难。 我知道我可以在笔记本电脑和网关上设置绑定caching实例,这可能允许某种forms的recursion请求的基于密钥的身份validation。 不过,我不确定这是否可以在Android客户端上使用。

请注意,我知道我可以使用广泛的公共parsing器,如Google提供的解决scheme,但由于这里不相关的原因,我需要通过我自己的服务器运行我的客户端请求,如果可能的话。 我已经试过了手册页和在线文档,但是我并不清楚我需要什么。

—–更多信息根据意见。 —–

客户端不通过VPN连接,我正在努力避免,由于某些原因。 其中一个原因就是,即使是轻量级,低安全性的VPN,额外的内存占用和CPU负载在最经济实惠的云实例上也是具有挑战性的。 第二个问题是,在几乎所有的Android实现中,VPN都增加了一层复杂性,如果不是真正需要安全性的话,这是非常烦人的。

我不是“结婚”的绑定作为名称服务器。 如果还有其他的FOSS名字服务器在这个特殊情况下可能更有用,我会很乐意给他们一个提示。 我只是花了15年以上的时间使用绑定,并停止考虑替代品。

我也不是很担心有人试图破解我的客户的DNS响应。 如果我们生活在一个像DNS系统那样的世界里,我很乐意运行一个开放的parsing器。 唉,各种各样的歹徒往往滥用我的开放的parsing器攻击第三方。

我没有在这里运行一个“任务关键”networking。 它被less数人使用,没有什么财务或个人的关键,而是用于实验,开发和testing。

你可以在你的BINDparsing器上使用基于TSIG的访问控制。 这与可以实际使用TSIG的客户端一起工作,这可能将其限制为那些本身运行本地BIND实例的客户端。

http://www.cyberciti.biz/faq/unix-linux-bind-named-configuring-tsig/和http://ftp.isc.org/isc/bind9/cur/9.10/doc/arm/Bv9ARM。 ch04.html#id2570685 。

请注意,这使得通过强制他们validation大量的假签名来在parsing器上挂载拒绝服务攻击变得非常容易。

一般来说,我强烈build议不要在互联网上为您的客户运行自己的parsing器。 只有在例外的情况下才会起作用,而且根本没有任何合理的用例。 您的DNS查询不应该包含敏感数据,或者您做错了。 如果您的ISP的parsing器太不可靠或不存在,请使用OpenDNS或Google Public DNS(如果我不需要,我宁愿不要使用这些DNS)。

如果有的话,可以运行本地BIND(或者更确切的说是非绑定的)parsing器,启用DNSSEC并签名你的区域。

我不相信你可以基于客户端运行的操作系统进行过滤。 但是,如果您知道客户端(或caching服务)正在连接的ips,则可以使用如下所示的acl:

acl "trusted" { 192.168.0.0/16; 10.153.154.0/24; localhost; localnets; }; options { ... allow-query { any; }; allow-recursion { trusted; }; allow-query-cache { trusted; }; ... };