-1

我给您写信是因为我的 DNS 基础设施.DNS 存在概念问题。我的基础设施由一台 DNS 机器(递归或转发)和另一个根据客户端的来源具有发言权的权威组成(即使不是这种情况,我们也可以将其同化为 Bind)。这台授权机器不应该直接查询,而必须经过另一台。在这里总结一下基础设施:

> Client Location 1     Client Location 2   Client Location 3
>               \           |           /
>               DNS Recursive ou Forwarding
>                           |           
>               DNS Authoratitve with 3 « views ».

我想到了解决这些问题的不同解决方案:

  • 在 DNS 递归(或转发)上创建不同的端口,每个端口都包含一个 DNS,该 DNS 对应于查询权威 DNS(并因此识别来源)的视图。但我发现这个解决方案相当难看,如果视图数量增加,它会迅速增加。
  • 使用 DNS 扩展:EDNS 来转发客户端网络(但这看起来很复杂)。

我想知道您是否有其他解决方案,如果没有,什么是最好的。先感谢您 !

4

1 回答 1

0

第一个解决方案似乎并不真正可行,因为几乎无法更改各种终端客户端操作系统中的默认 DNS 端口。相反,您需要在单独的 IP 地址上使用单独的递归名称服务器,并且每个客户端都配置有它需要使用的特定名称服务器。

第二种解决方案可以工作,它是 ECS 的“EDNS 客户端子网”功能,在RFC7871中进行了描述,并在各种名称服务器中得到支持。参见绑定中的示例:https ://www.isc.org/wp-content/uploads/2017/04/ecs.pages.pdf

现在您确定需要此设置,或者这是实现目标的唯一方法吗?正如您从一开始就描述的那样,很难提出其他想法,但最初并不是您的问题,也不是您的限制。

例如,在某些情况下,只需为每个客户端配置不同的域搜索列表即可解决。client1would haveclient1.example.com作为后缀,client2would haveclient2.example.com等等。现在,只有一个标准递归域名服务器和一个权威域名服务器,example.com没有任何类型的扩展或复杂设置,当client1尝试解析www它时(可能)会得到不同的回复,而不是client2尝试解析www,因为最后两个完全合格的域名将是由于搜索列表不同,确实不同(www.client1.example.comvs )。www.client2.example.com当然,这在很大程度上取决于每个客户端上运行的应用程序类型。

使用更简单的名称服务器(例如)dnsmasq也可能会有所帮助,但是您的空间问题没有足够定义,无法确定建议的内容。

于 2018-04-25T15:50:02.123 回答